[linux-dvb] [PATCH] DMX_OUT_TSDEMUX_TAP: record two streams from same mux

Peter Hartley pdh at utter.chaos.org.uk
Tue Feb 26 18:25:24 CET 2008

Hi there,

Currently (in linux-2.6.24, but linux-dvb hg looks similar), the
dmx_output_t in the dmx_pes_filter_params decides two things: whether
output is sent to demux0 or dvr0 (in dmxdev.c:dvb_dmxdev_ts_callback),
*and* whether to depacketise TS (in dmxdev.c:dvb_dmxdev_filter_start).
As it stands, those two things can't be set independently: output
destined for demux0 is depacketised, output for dvr0 isn't.

This is what you want for capturing multiple audio streams from the same
multiplex simultaneously: open demux0 several times and send
depacketised output there. And capturing a single video stream is fine
too: open dvr0. But for capturing multiple video streams, it's surely
not what you want: you want multi-open (so demux0, not dvr0), but you
want the TS nature preserved (because that's what you want on output, as
you're going to re-multiplex it with the audio).

The attached patch adds a new value for dmx_output_t:
DMX_OUT_TSDEMUX_TAP, which sends TS to the demux0 device. The main
question I have, is, seeing as this was such a simple change, why didn't
it already work like that? Does everyone else who wants to capture
multiple video streams, take the whole multiplex into userspace and
demux it themselves? Or do they take PES from each demux0 device and
re-multiplex that into PS, not TS?

With this patch and a dvb-usb-dib0700 (and UK Freeview from Sandy
Heath), I can successfully capture an audio/video PID pair into a TS
file that mplayer can play back.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: tsdemux.diff
Type: text/x-patch
Size: 1365 bytes
Desc: not available
Url : http://www.linuxtv.org/pipermail/linux-dvb/attachments/20080226/a3775db9/attachment.bin 

More information about the linux-dvb mailing list