>>No. Assuming that your "afterGettingFrame()" function was passed >>as a parameter to "getNextFrame()", then it will be called by >>"FramedSource::afterGetting()" (which your "doGetNextFrame()" >>implementation should have called once it completed delivery of >>incoming data). >> >So is my code correct? If the frame is not completely decodable, I >call getNextFrame() again (on MPEG1or2VideoRTPSource). As I said, >sometimes (irregular) there are ~10 to 20ms delay between >consecutive calls of afterGettingFrame(). Sometimes the >afterGettingFrame() function is called twice even if the first one >has not come to an end. How can that be? Could you please have a >look at the code?
In general I don't have time to examine people's custom code in detail. (But Remember, You Have Complete Source Code.) However, in your case, you need to look at the code for whatever object your "Transcoder" object is reading *from* - i.e., the 'upstream' data source for your "Transcoder". It's this 'upstream' object that is causing your Transcoder's "afterGettingFrame" function to be called (when your 'upstream' object calls "FramedSource::afterGetting()"). >After that I have the MPEG4VideoStreamDiscreteFramer (without that, >Transcoder::doGetNextFrame() isn't even called... why is that btw? This is quite clear if you look at the code for "MPEG4VideoRTPSink". Its upstream object *must* be a "MPEG4VideoStreamFramer" (or a subclass). -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ _______________________________________________ live-devel mailing list [email protected] http://lists.live555.com/mailman/listinfo/live-devel
