Matt Lovett wrote:
> I understand (thanks to the recent posts on the list) that it is
> possible to record multiple programs at once, so long as they are on
> the same multiplex. My question is, how do I do that using the DVB
> api?
The design of the recording API is somewaht limited. The V4 API
supports recording filters which would let you do what you
want in a simpler way (and also using rec hw support on STB chips).
> If I want to record a single programme (collection of PIDs) then I can
> filter them to TS_OUT_TS_TAP, and the pids will be automatically mixed
> into a new TS that I can read from the dvr device.
>> I'm guessing if I try that with multiple channels (2 collections of
> PIDs) then I'd get a TS with both channels in it, and I'd have to do
> work to separate the two.
Yes, a simple PID filtering step is required.
> One way would be to do the above, and write it out as 2 streams
> (filter each packet one way or the other, and rewrite the PMT etc as I
> go - sending a PMT into each stream). If I do that, which parts of the
> stream would I need to rewrite?
I'd create a new PAT and PMT from scatch with just the minimum
possible content.
> Another approach would be to us TS_OUT_TAP, and do all the
> remultiplexing myself. Not sure how to go about that... and it sounds
> like if I go the TS_OUT_TS_TAP route then the driver does more work
> for me.
This won't work as TS_OUT_TAP strips the TS headers and adaptaton
fields.
Johannes