<br><br><div><span class="gmail_quote">On 8/2/05, <b class="gmail_sendername">Scott Hays</b> <<a href="mailto:sdhays@neon.com.tw">sdhays@neon.com.tw</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Why are you incrementing your presentation time by 3 seconds for every<br>frame? Are you actually just sending 1 frame every 3 seconds?<br>Otherwise the RTCP time, which is generated from gettimeofday(), will<br>quickly be FAR behind your presentation times.
</blockquote><div><br>
I'm just learning how presentation time works, so I generate pseudo frames and pseudo presentation time.<br>
<br>
yes, it's the root of the problem, I've found it this morning.
The frequency(48000) was too high and presention time increased too
fast, so the rtpTimestamp overflowed quickly. This resulting in the
problem.<br>
<br>
Thanks for your kind help.<br>
</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Scott<br><br>Shixin Zeng wrote:<br>><br>><br>> On 7/31/05, *Ross Finlayson* <
<a href="mailto:finlayson@live.com">finlayson@live.com</a><br>> <mailto:<a href="mailto:finlayson@live.com">finlayson@live.com</a>>> wrote:<br>><br>><br>> >What's wrong with my codes?<br>><br>
> I don't know. (In general, I don't have time to debug people's<br>> custom code - except for our consulting clients.) However, in your<br>> receiver, you can try calling<br>> "RTPSource::hasBeenSynchronizedUsingRTCP()" for each received packet,
<br>> to check if/when RTCP "Sender Reports" (from the server) ever get<br>> used to compute a synchronized presentation time. (Until the first<br>> RTCP "Sender Report" is received, the receiving code uses 'wall
<br>> clock' time as the presentation time.)<br>><br>><br>> Yes, I've tried HasBeenSynchronizedUsingRTCP().<br>> when this function return true, the presentation time would be adjusted,<br>> but there are still some problems.
<br>> In my case:<br>> On the server peer, I created my own MediaSource, and send it via<br>> SimpleRTPSink, an RTCPInstance is asocciated with the source and the sink.<br>> On the client peer, I created my Own MediaSink, and receive the data via
<br>> SimpleRTPSource. An RTCPInstance is asocciated with the source and the<br>> sink, too.<br>><br>> In my own MediaSource::doGetNextFrame: for the first frame, I set the<br>> fPresentationTime with the result of gettimeofday(), and increase it by
<br>> 3 seconds for each following frame.<br>><br>> The problem prompted to me is:<br>><br>> If I launch the client immediately after the server start, so that the<br>> client could receive the first frame, the presentation the client
<br>> received would be correct for some time(about 300~700 frames, a frame<br>> per packet). At some point, the presentation time would jump suddently(I<br>> guess another RTCP SR was received), it wouldn't be correct, and never
<br>> be correct again.<br>><br>> if I launch the client some time later than the server, so that the<br>> first frame is lost, the presentation time would never be correct from<br>> the beginning.<br>><br>
><br>> Thanks for your help<br>><br>><br>> --<br>> Best regards<br>><br>> Shixin Zeng<br>><br>><br>> ------------------------------------------------------------------------<br>><br>> _______________________________________________
<br>> live-devel mailing list<br>> <a href="mailto:live-devel@lists.live.com">live-devel@lists.live.com</a><br>> <a href="http://lists.live.com/mailman/listinfo/live-devel">http://lists.live.com/mailman/listinfo/live-devel
</a><br>_______________________________________________<br>live-devel mailing list<br><a href="mailto:live-devel@lists.live.com">live-devel@lists.live.com</a><br><a href="http://lists.live.com/mailman/listinfo/live-devel">
http://lists.live.com/mailman/listinfo/live-devel</a><br></blockquote></div><br><br clear="all"><br>-- <br>Best regards<br><br>Shixin Zeng