[vlc-devel] Re: Like to help with the development...

Jean-Paul Saman jean-paul.saman at planet.nl
Tue Jul 11 21:16:34 CEST 2006

toomy at bluewin.ch wrote:
> Hi Jean-Paul,
> I have some questions on this topic: 
> RFC 3550 is quite a bunch of work, is there a priority list for the features
> in this document? Do u have any architecture documentas about the existing
> implementation, the plan behind the code? 

There is some general VLC developer documentation on 
developers.videolan.org, but it is not a lot. However the current VLC 
architecture still holds the basic idea behind that description. Apart 
from that there is no architectural documentation.

What about RFC 3551 the control
> Profile.. Isn't it that what u like to have first?

NO, rfc3551 is for Audio/Video conferencing. I want to have RTCP support 
on the stream-output side which is RFC 3550.

You need to implement a RTCP server thread along the same line as the 
HTTP server thread. It means that both server threads can share a lot of 
common code. Ideally this common code should be wrapped in a common 
internal server socket API (listening to sockets).

         ^    ^     ^
         |    |     |
      server socket API

The code that is available in the branch/0.8.6-rtcp implements a RTCP 
vlc_object_t. That should hold all information associated with each 
RTP/RTCP session.

1) First priority is implementing a RTCP module that listens to incoming 
requests on a certain RTCP port number that is associated with a certain 
RTP session. In the above picture it means that any RTSP request that 
results in a RTP session should also setup an RTCP session.

file: modules/mux/rtp/rtcp.{c,h}
   - implements the encoding and decoding of RTCP packets.
   - implements adding and removal of RTCP sessions/clients.
   - calculates the RTCP expected interval for sending and receiving 
   - server thread to listen on port numbers RTCP traffic.
   - schedule code to send RTCP traffic.
   - a lot of testing against live555 client module of VLC.

2) Second priority is unifiying all the server socket code in VLC into a 
common API that can be used by the server modules (HTTP, RTSP, RTCP). 
This will remove a lot of duplicated code.

I hope this helps.

> Thanks.
>>-- Original-Nachricht --
>>Date: Sun, 09 Jul 2006 17:45:43 +0200
>>From: Jean-Paul Saman <jean-paul.saman at planet.nl>
>>Subject: [vlc-devel] Re: Like to help with the development...
>>To: vlc-devel at videolan.org
>>Reply-To: vlc-devel at videolan.org
>>Markus Ruettimann wrote:
>>>I like to do something for the RTCP support in VLC. Please send me the
>>>information how I should contact.
>>For RTCP support there is a branch svn.videolan.org/branches/0.8.6-rtcp
>>it implements the RFC 3550 from IETF. The current status is:
>>To start working checkout the RTCP branch at:
>>svn co svn.videolan.org/vlc/branches/0.8.6-rtcp
>>In the directory modules/mux/rtp is the source code.
>>What has been done:
>>- partial implementation of RFC 3550 (except RTCP scheduling code)
>>- RTCP packet decoding and encoding function (not tested and not 
>>compiled) Apart from compiler errors this should be fairly complete. No
>>quarantee though ;-)
>>- Some higher level scheduling algorithms (not entirely finished)
>>What should be done:
>>- Read RFC 3550 (http://www.ietf.org)
>>- VLC Coding Style ;-)
>>- RTCP streamout VLC module (get session information from RTSP/HTTP)
>>    common socket listening code with RTSP/HTTP
>>- Compiling/building
>>- Testing against VLC's live555 module
>>Name of contact for this work: Jean-Paul Saman.
>>Me ;-)
>>Jean-Paul Saman.
>>This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
>>To unsubscribe, please read http://developers.videolan.org/lists.html

This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html

More information about the vlc-devel mailing list