[Live-devel] Error in MPEG4VideoStreamParser::parseVideoObjectPlane()

Muhammad Bilal m.bilal.latif at gmail.com
Tue Jun 23 22:54:19 PDT 2009


If I use MPEG4VideoStreamDiscreteFramer instead of MPEG4VideoStreamFramer
then the error is removed.
But if we connect it through VLC player or Quick Time then NO VIDEO. However
if we use OpenRTSP to receive stream then it works fine. Can any body
explain what is lacking?

On Fri, Jun 19, 2009 at 2:04 AM, Muhammad Bilal <m.bilal.latif at gmail.com>wrote:

> Hello!
> I'm trying to stream xVideo decoded video frames. I've written my own Video
> source file derived from FramedSource and I'm using MPEG4VideoStreamFramer
> and MPEG4ESVideoRTPSink. Unfortunately when the client connects to the
> server then following error is displayed. Help would be highly appreciated.
>
> MPEG4VideoStreamParser::parseVideoObjectPlane(): Saw unexpected code
> 000001F5
> MPEG4VideoStreamParser::parseVideoObjectPlane(): marker bit not set!
> MPEG4VideoStreamParser::parseVideoObjectPlane(): 32-bits are not enough to
> get "vop_time_increment"!
>
> My doGetNextFrame() code is as follows: -
>
> void CVideoFileSource::doGetNextFrame()
> {
>     //set the file pointer to appropriate place
>     static int fileIndex = 0;
>     fseek(m_pFile,fileIndex,SEEK_SET);
>
>     //read a chunk of data from file
>     int bytesRead = 0;
>     unsigned char *buff_in = new unsigned char [BUFFERSIZE];
>     bytesRead = fread(buff_in,sizeof(unsigned char),BUFFERSIZE,m_pFile);
>
>     //calculate the frame size
>     unsigned char* buff_out = new unsigned char [outputBuffSize];
>     int frameSize =
> m_xVidDecoder.decode_stream(buff_in,BUFFERSIZE,buff_out,outputBuffSize);
>     delete buff_out;
>
>     //continue only if data read is greater than equal to frame size
>     if(bytesRead >= frameSize)
>     {
>         if (frameSize <= fMaxSize) {
>                   fFrameSize = frameSize;
>                   fNumTruncatedBytes = 0;
>         }
>         else {
>                   fFrameSize = fMaxSize;
>                   fNumTruncatedBytes = frameSize - fMaxSize;
>         }
>         memmove(fTo, buff_in, fFrameSize);
>
>
>         fileIndex = fileIndex + frameSize;
>         fDurationInMicroseconds = 40000;
>         gettimeofday(&fPresentationTime,NULL);
>         afterGetting(this);
>     }
>     delete buff_in;
> }
>
> --
> Muhammad Bilal Latif
>
>


-- 
Muhammad Bilal Latif
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20090623/a3ba553a/attachment.html>


More information about the live-devel mailing list