[vlc-devel] [PATCH] Merge VoD module into RTP stream output module

Rémi Denis-Courmont remi at remlab.net
Sat Oct 30 10:27:01 CEST 2010

Le samedi 30 octobre 2010 09:00:29 Pierre Ynard, vous avez écrit :
> > Why do you need to a specific PTS?
> The RTSP headers already give the initial RTP timestamps to the client,
> before the instance and the rtp sout are started. So I need to use a
> common reference, and I need to pass it somewhere.

Might as well create a value that can be recomputed from the infos that the 
vod stream already has. The use of mdate() was purely arbitrary.

> > This is a silly problem. Payload types are scoped to the RTP session
> > / the SDP m-line. Since VLC never streams more than one payload
> > format per RTP stream, there is no risk of conflict. We might as well
> > hard-code value 96 for all dynamic payload types.
> We could also implement streaming several payload types in the same RTP
> session,

Yes, but that's rarely useful. First, the design of RTP implicitly limits this 
to payload types with equal timestamp frequency. Otherwise delay jitter 
computations and synchronization would go crazy. Second, I have to expect many 
receivers will fail miserably, including current VLC.

In practice, I only know two uses of multiple payload types in a single 
- journaling or error correction,
- switching codecs on the fly, typically to/from comfort noise.

SIP can also use many payload types per m-line in the INVITE message. But 
typically only one codec will be selected and used in RTP. This is merely a 
trick to negotiate the codecs between sender and receiver.

> that would provide an alternative to TS muxing in order to
> stream without needing SDP.

You are not supposed to multiplex concurrent streams on the same RTP session.

> I planned on thinking more about that later
> and flatten out this code then, that's why I didn't mind that it wasn't
> perfect for now.

Rémi Denis-Courmont

More information about the vlc-devel mailing list