[linux-dvb] Multiple questions
hunold at linuxtv.org
Sat Mar 11 15:55:21 CET 2006
> We are at the beginning of the development for an embedded settop box
supported by the v4l-dvb. We also like to help development of the
That's nice to hear. Can you tell me which hardware you are going to use?
> For this we have some questions, maybe someone can answer these:
Unfortunately, the project is on hold at the moment. Neither Johannes
nor me are working actively on this project any more. I'm sorry that the
Wiki pages don't reflect this status at the moment, I will update them
The main reason is that support for this project is lacking at the
moment and it's too big for a home-brewn part-time project.
There is work to do and so far no interested party was willing to invest
time to get the core done before starting with an application. A classic
Anyway, here are the answers to your questions.
> 1) What should we use as a base for the 4vl-dvb core. The only V4 API
core is available in dvb-kernel-v4! The API is changed from API V3 but
the documentation of API V4 says: "v3 API is a complete subset of the
new v4 API".
The API is currently only available in dvb-kernel-v4 CVS, yes. "Subset"
in this case means, that with V4 you can do everything that you could do
with V3 plus a lot more. It does not mean that old V3 applications can
be run unchanged. For the core functionality that already existed in V3,
the necessary changes are minimal though.
> 2) Because we want to use the Core for an embedded settop box with
multiple tuners and demuxes, we need support for multiple pipe within
the dvb core.
> Is it correct that only the V4 has the multiple pipe support ?
Yes. The number of demuxes is given by the number of input streams your
hardware can handle. If your hardware has 2 hardware interfaces for a
transport stream input and the hardware can freely choose from which
interface it processes the data, than you can connect 2 frontends and
have the maximum flexibility.
> 3) For testing and writing applications we want to use a PC with 2 DVB
PCI cards. Are there any test applications for the V4 API, and is there
a working DVB Card available ?
The only applications at the moment are the test applications available
The reference driver for the popular TTPCI-DVB cards is nonfunctional at
The problem is, that two PCI cards in one PC is not the same as an
embedded system with two frontends.
One PCI card is one frontend plus one demux plus one a/v decoder. An
embedded system might have two frontends plus multiple demuxes plus
multiple a/v decoders and the data can be routed arbitrarily. For the
PCI cards, however, you cannot route the transport stream from card 1 to
the demux of card 2 and have it decoded on the a/v decoders of card 2.
So if you really want to develop a sophisticated STB software, you need
to develop it directly on your target system. So we gave up on the
driver for the popular DVB TTPCI cards.
> 4) Within the kernel 2.6.10 and higher there is support for 4vl-dvb
Version V3. Is this going to be upgraded to V4.
Probably never, no. V4 is for embedded systems and as I explained above,
cannot be used with the popular DVB PCI cards for real applications.
Since so-called budget cards with no demux and no a/v decoders using USB
become more popular in the PC world and leave all processing to the main
CPU, the V4 API is not useable for these devices. So V4 will probably
stay out of the kernel and needs to be patched into it. But this is no
> 5) Modulator and Scart support is not within the current API. Are
there any ideas to add this. Manly because of the video4linux2 merge
which has some support for modulator and Scart.
No. Support for auxillary hardware like scart switches can either be
done from userspace through the I2C API (if the devices uses I2C) or
need to be implemented by a different API and kernel driver.
> 6) Are there already embedded consumer products available that uses
the v4l-dvb api. We now of the reelbox, relook settop boxes.
There are some boxes out there that use the V3 API, but none that uses
the V4 API.
> Thank you JB
Please use your real name the next time. Thanks!
More information about the linux-dvb