[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).

       HTTP  RTSP  RTCP
         ^    ^     ^
         |    |     |
      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.
       rtcp_client_add()
       rtcp_client_del()
       rtcp_cleanup_clients()
       rtcp_find_client()
   - calculates the RTCP expected interval for sending and receiving 
reports.
       rtcp_interval()
Needs:
   - 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:
>>
>>>Hi
>>>I like to do something for the RTCP support in VLC. Please send me the
>>
>>>information how I should contact.
>>>Thanks
>>>Toomy
>>>
>>
>>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 ;-)
>>
>>Gtz,
>>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