<span class="gmail_quote"></span>Hello to everyone,<br><br>Im currently developing a source class which reads from a USB DVB-T device. The aim is to select 1 audio and 1 video stream and stream them (in PES format) separatelly to another host in our network. To demultiplex the MPEG-TS stream, I have modified mplex and built it into my code.
<br><br>For testing purposes, I filter out only 1 video stream, connected my class to a MPEG1or2VideoDiscreteFramer and used a MPEG1or2VideoRTPSink to stream.<br><br>Now - MPEG PES can be very large (up to 65535 bytes). So the first problem is: the MPEG1or2VideoRTPSink has fMaxSize set o 60000 bytes - so sometimes I get erros because it says I should make MPEG1or2VideoRTPSink's buffer larger. Anyone can tell how I do that?
<br><br>However, the biggest problem is that (after adding some timestamps to my debugs) - *may times* MPEG1or2VideoDiscreteFramer takes up to half a second to call my goGetNextFrame( ). In the trace below, such a situation is shown. Every seems to be working fine then this happens. I can assure that the PES packets are all well-formed. Would there be any reason for the MPEG1or2VideoDiscreteFramer/MPEG1or2VideoRTPSink to take so long in calling my function again?
<br>System has more than enough resources.<br><br>By the way, I always set fDurationInMicroseconds=0 and gettimeofday(&fPresentationTime, NULL); inside deliverFrame( ). Is this correct? Does this influence the rate at which sinks ask for more data from a source?
<br><br>Thank you very much in advance,<br>Christian Frahm<br><br><br>************** TRACE *************<br><br>doGetNextFrame() - 2007-06-16 12:18:03.985<br>PES Size:15008<br>End of doGetNextFrame() - 2007-06-16 12:18:03.985
<br>deliverFrame() - 2007-06-16 12:18:03.985<br>******* Copying PES to OutBuffer *************<br>Deliver Frame(): we have 15008 bytes to deliver. (fMaxSize = 60800.<br>End of deliverFrame() - 2007-06-16 12:18:03.985<br>
<br>
doGetNextFrame() - 2007-06-16 12:18:03.985<br>PES Size:34952<br>End of doGetNextFrame() - 2007-06-16 12:18:03.986<br>deliverFrame() - 2007-06-16 12:18:03.986<br>******* Copying PES to OutBuffer *************<br>Deliver Frame(): we have 34952 bytes to deliver. (fMaxSize = 60800.
<br>End of deliverFrame() - 2007-06-16 12:18:03.986<br>============= almost 400 ms!!!!!!!!!!!!!!!! ==================<br>doGetNextFrame() - 2007-06-16 12:18:04.343<br>PES Size:15080<br>End of doGetNextFrame() - 2007-06-16 12:18:
04.343<br>deliverFrame() - 2007-06-16 12:18:04.343<br>******* Copying PES to OutBuffer *************<br>Deliver Frame(): we have 15080 bytes to deliver. (fMaxSize = 60800.<br>End of deliverFrame() - 2007-06-16 12:18:04.344
<br><br>