Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: Fw: DVB audio/video decoder API



Hi,

Johannes Stezenbach wrote:
> 
>>just a question: is there a well-documented, strict specified way of the
>>order while doing zapping? 
> 
> 
> Unfortunately not.
> 
> 
>>for example, WHEN to i have to issue which
>>VIDEO_* command, when do i have to enable the pidfilters and so on.
> 
> 
> What works well for us is:
> - first establish a TS feed (i.e. tune the frontend and check for success)
> - then set filters (PES/sections)
> - then tell the MPEG decoder to start
> - before tuning: first stop the MPEG decoder, then stop all filters

This should not be necessairy anymore, once you set up the stream 
pipeline it should be possible to change paramteters in any stage.

Well, in theory. In reality it's a good thing to switch off the decoder 
while the filters may deliver trash. At least on hardware that can't 
deal with invalid input.


> The driver IMHO has internal "before/after tuning" hooks that should
> take care of this, but...
> Some frontends automatically mute the TS output when the signal is
> invalid to avoid feeding crap to the demux/MPEG decoder, but an invalid
> PES filter might still feed section data to the MPEG decoder, which
> won't do no good.
> 
> ---------------------
> My 2¢ demux API rant:
> 
> As I explained in http://www.linuxtv.org/mailinglists/linux-dvb/2002/10-2002/msg00013.html,
> the API was initially developed by Nokia, and we didn't dare to make
> substantial changes to it for a long time.
> 
> One thing the driver does which I think it shouldn't is emulating
> demux features in software that the hardware doesn't have.
> E.g. the AV7110 does not give us the TS, thus the output for
> the dvr device must be recreated in software from PES packets.
> IOW, there's a complete TS multiplexer implementation in the
> driver.
> 
> IMHO this should not be done in the kernel, but in a userspace library:
> - DMX_GET_CAPS must be defined properly
> - we need a libdvbdemux that looks at DMX_GET_CAPS and takes care of
>   emulating features that the hardware does not have if the user
>   requests them
> 
> This is more a long-term project since the current driver is fairly
> stable and works well for many applicatons. But I would like to
> see DMX_GET_CAPS defined properly, and if someone would do
> some work on a libdvbdemux then someday we could remove the
> multiplexer stuff from the driver.

I think this is too much work to be done on the short run. For now it's 
better to do small changes only, I was thinking about things like the 
strange way we  are going now with the DMX_SET_SOURCE ioctl right now.

Holger



-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index