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
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to