public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* Linux DVB Explained..
@ 2012-11-17 13:35 Richard
  2012-11-17 15:52 ` Richard
  2012-11-19 10:52 ` Patrick Boettcher
  0 siblings, 2 replies; 4+ messages in thread
From: Richard @ 2012-11-17 13:35 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: linux-media, Antti Palosaari

Hi Mau,


I have started documenting a HOWTO on making a linuxDVB device and
would like to know what the following is used for....


struct dvb_demux :
This has a start_feed and a stop feed.   What feed is this? ... the
RAW 188 byte packets from the device perhaps?

What is the main purpose of this structure?

struct dmx_demux :
This structure holds the frontend device struct and contains the .fops
for read/write.  Is this the main interface when using the
/dev/dvb/adapterX/demux ? /dvr?


So far...

adapter = dvb_register_adapter() : Register a new DVB device adapter
(called once)
dvb_dmx_init(dvbdemux);  // Called once per Demux chain?
dvb_dmxdev_init();  // Called once per demux chain ? same as above

-------------------
The hardware I am using has 6 TS data inputs, 4 tuners (linked to TS
inputs)  and hardware PID filters and I am trying to establish the
relationship of dmx and dmxdev.


Any clarification is most welcome
Best Regards,
Richard

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Linux DVB Explained..
  2012-11-17 13:35 Linux DVB Explained Richard
@ 2012-11-17 15:52 ` Richard
  2012-11-19 10:52 ` Patrick Boettcher
  1 sibling, 0 replies; 4+ messages in thread
From: Richard @ 2012-11-17 15:52 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: linux-media, Antti Palosaari

Apologies Mauro, I accidentailly bumped the 'Send' whilst typing your name.

The message is addressed to Mauro and All,

On 17 November 2012 13:35, Richard <tuxbox.guru@gmail.com> wrote:
> Hi Mau,
>
>
> I have started documenting a HOWTO on making a linuxDVB device and
> would like to know what the following is used for....
>
>
> struct dvb_demux :
> This has a start_feed and a stop feed.   What feed is this? ... the
> RAW 188 byte packets from the device perhaps?
>
> What is the main purpose of this structure?
>
> struct dmx_demux :
> This structure holds the frontend device struct and contains the .fops
> for read/write.  Is this the main interface when using the
> /dev/dvb/adapterX/demux ? /dvr?
>
>
> So far...
>
> adapter = dvb_register_adapter() : Register a new DVB device adapter
> (called once)
> dvb_dmx_init(dvbdemux);  // Called once per Demux chain?
> dvb_dmxdev_init();  // Called once per demux chain ? same as above
>
> -------------------
> The hardware I am using has 6 TS data inputs, 4 tuners (linked to TS
> inputs)  and hardware PID filters and I am trying to establish the
> relationship of dmx and dmxdev.
>
>
> Any clarification is most welcome
> Best Regards,
> Richard

To add more queries,

What is the purpose of
dmx_frontend  and dvb_frontend

The word 'frontend' seems to be sending me in a loop.

Its usually FE->Tuner->Demod->PID Filter-> TS Data  so I am at a loss
where dmx_frontend goes

Richard

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Linux DVB Explained..
  2012-11-17 13:35 Linux DVB Explained Richard
  2012-11-17 15:52 ` Richard
@ 2012-11-19 10:52 ` Patrick Boettcher
  2012-11-20 11:27   ` Richard
  1 sibling, 1 reply; 4+ messages in thread
From: Patrick Boettcher @ 2012-11-19 10:52 UTC (permalink / raw)
  To: Richard; +Cc: linux-media

Hi Richard,

I can maybe answer some of your questions with semi-complete answers in the 
hope it helps you further.

On Saturday 17 November 2012 13:35:18 Richard wrote:
> struct dvb_demux :
> This has a start_feed and a stop feed.   What feed is this? ... the
> RAW 188 byte packets from the device perhaps?

start/stop_feed are callbacks in the dvb_demux-device (which is represented 
with dvb/adapterX/demuxX by your driver) which have to be filled in by the 
driver which implements and controls the HW-demux.

E.g: (from dmxdev.c) when a user is issuing the DMX_ADD_PID ioctl (which 
marks the request of a certain PID from the TS currently received) the 
start_feed-callback is called. It tells the driver that the TS-packets 
identified with PID are expected via e.g. the dvrX device. So the driver has 
to instruct its internal demux to have them pass the filter.

> What is the main purpose of this structure?
> 
> struct dmx_demux :
> This structure holds the frontend device struct and contains the .fops
> for read/write.  Is this the main interface when using the
> /dev/dvb/adapterX/demux ? /dvr?

I'm not sure to get what you want to know here.

> adapter = dvb_register_adapter() : Register a new DVB device adapter
> (called once)
> dvb_dmx_init(dvbdemux);  // Called once per Demux chain?
> dvb_dmxdev_init();  // Called once per demux chain ? same as above
> 
> -------------------
> The hardware I am using has 6 TS data inputs, 4 tuners (linked to TS
> inputs)  and hardware PID filters and I am trying to establish the
> relationship of dmx and dmxdev.

Before understanding the relationship you need to know where, in the end, 
you want your TS-packets. In user-space? Sent to a hardware-decoder? 
Somewhere else? All of that?

HTH a litte bit,
--
Patrick 


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Linux DVB Explained..
  2012-11-19 10:52 ` Patrick Boettcher
@ 2012-11-20 11:27   ` Richard
  0 siblings, 0 replies; 4+ messages in thread
From: Richard @ 2012-11-20 11:27 UTC (permalink / raw)
  To: Patrick Boettcher; +Cc: linux-media

Hi Patrick,

Thanks for some clarifications, they are invaluable.

On 19 November 2012 10:52, Patrick Boettcher <pboettcher@kernellabs.com> wrote:
> Hi Richard,

>>
>> -------------------
>> The hardware I am using has 6 TS data inputs, 4 tuners (linked to TS
>> inputs)  and hardware PID filters and I am trying to establish the
>> relationship of dmx and dmxdev.
>
> Before understanding the relationship you need to know where, in the end,
> you want your TS-packets. In user-space? Sent to a hardware-decoder?
> Somewhere else? All of that?
>
> HTH a litte bit,
> --
> Patrick
>

A brief description of the hardware platform :
The device is a Dual Core ARM A9 SoC with 8 TS inputs (each TS channel
has a dedicated PID filter) . There are 8 MPEG decoders and two live
video surfaces.  All TS channels can go to a mpeg decoder directly OR
can be placed in a ringbuffer so that it can be sent to userspace (DVR
perhaps)

My aim is to create a skeleton DVB device (that works with my
hardware) with documentation so that others dont have to learn the
lessons I have :D

It sounds easy, but I doubt it is..
Richard

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-11-20 11:27 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-17 13:35 Linux DVB Explained Richard
2012-11-17 15:52 ` Richard
2012-11-19 10:52 ` Patrick Boettcher
2012-11-20 11:27   ` Richard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox