[Live-devel] [PATCH] Sets RTP-Info for every subsession
Rafaël Carré
rcarre at m2x.nl
Mon Sep 8 06:49:04 PDT 2008
Hello,
I came around this problem while messing with a WMS stream.
It has 3 subsessions in this order:
- audio
- application
- video
VLC uses the video track for pts calculation, but getNormalPlayTime()
would return 0 because the rtpInfo hadn't been set for this track.
In playMediaSession(), an iterator is used to associate the rtpinfo to
each subsession in this way (pseudo-code):
if(parseRTPInfoHeader()) /* this will increment the string pointer */
{
for_each_subsession()
{
associate_rtpinfo();
if(!parseRTPInfoHeader()) break; /* here we fail because we didn't
find valid rtpinfo data */
}
}
In my case, the rtpinfo would not be associated to the video track, and
since the stream is not synchronized with rtcp, I would get 0 npt.
I understand that the 2nd call to parseRTPInfoHeader() should go away:
parse the rtpinfo once, and then associate it to all subsessions.
Attached patch does what is described.
--
Rafaël Carré <rcarre at m2x.nl>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: live-rtpinfo.diff
Type: text/x-patch
Size: 886 bytes
Desc: not available
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20080908/21976112/attachment.bin>
More information about the live-devel
mailing list