[vlc-devel] Re: DVB

Benjamin Pracht bigben+spam at videolan.org
Wed Apr 26 12:30:22 CEST 2006

On Wed, Apr 26, 2006, Lukasz Kondrad wrote :
> Hello,everyone!
> I am writing a extension to VLC media player which will allow recive DVB-H
> signal. I had read the source of VLC so many days. I want to modify
> transport stream (ts.c) demultipexer. I have alread written a part which
> separates mpe sections, now I have a problem to which module send the IP
> datagrams.
> Because the IP address is map to the MAC address that 2 last bytes, I was
> thinking to skip the IP header and send udp datagrams to the access udp. Is
> it possible, or my thinking is worng.
> Help me please.
> Regards,
>  Lukasz

Well, I don't know how DVB-H implementations are generally done, and I
don't know what your project is exactly, but why trying to reimplement
an IP stack in VLC ? Doesn't your DVB-H demodulator come with network
device drivers ? Linuxtv drivers at least have one. That would allow you
to use VLC to decode DVB-H streams with no (or little) modification
(DVB-H uses RTP payload over the IP datagrams, doesn't it ?).

In your case, the udp access module will be of little help, I think.
Once having recontructed the RTP stream from the IP/UDP packets, you
should send it directly to a RTP demux. Here will come an additional
issue. VLC can only demux RTP using its ts demux (so only with TS inside
the RTP payload), or using the live555 library. AFAIK, live555 can only
be initialized by providing it a path to a sdp file (locally or on an
http/rtsp server, or using SAP). It will then try to receive the
corresponding RTP stream using the OS network layer. That means that in
your case, you might be compelled to write your own RTP demux. This
demux will probably need the UDP header to be able to separate the
different elementary streams (not sure about that...). Then it would
make sense to implement the IP stack (or just discard the
headers, if you don't need their content) in this demux. That way, a
possible dataflow would be:

ts demux    ->  IP/RTP demux    ->    decoders

      IP packets    ->   elementary streams

Again, using the OS IP stack if possible would be much easier...


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