1
linux/drivers/media/video/pvrusb2/pvrusb2-dvb.h
Mike Isely a36416d0a7 V4L/DVB (7688): pvrusb2: Clean up dvb streaming start/stop
Eliminate the need for a separate pvr2_dvb_fh; since in the DVB
context there can only ever be a single instance then there is no need
for a separate instance to handle streaming state.  This simplifies
the module.  Also move streaming start/stop out of the feed thread and
into the driver's main context - which makes it possible for streaming
start up failures to be detected by the DVB core.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:46 -03:00

45 lines
961 B
C

#ifndef __PVRUSB2_DVB_H__
#define __PVRUSB2_DVB_H__
#include "dvb_frontend.h"
#include "dvb_demux.h"
#include "dvb_net.h"
#include "dmxdev.h"
#include "pvrusb2-context.h"
#define PVR2_DVB_BUFFER_COUNT 32
#define PVR2_DVB_BUFFER_SIZE PAGE_ALIGN(0x4000)
struct pvr2_dvb_adapter {
struct pvr2_channel channel;
struct dvb_adapter dvb_adap;
struct dmxdev dmxdev;
struct dvb_demux demux;
struct dvb_net dvb_net;
struct dvb_frontend *fe;
int feedcount;
int max_feed_count;
struct task_struct *thread;
struct mutex lock;
unsigned int digital_up:1;
unsigned int stream_run:1;
unsigned int init:1;
wait_queue_head_t buffer_wait_data;
char *buffer_storage[PVR2_DVB_BUFFER_COUNT];
};
struct pvr2_dvb_props {
int (*frontend_attach) (struct pvr2_dvb_adapter *);
int (*tuner_attach) (struct pvr2_dvb_adapter *);
};
int pvr2_dvb_init(struct pvr2_context *pvr);
int pvr2_dvb_exit(struct pvr2_context *pvr);
#endif /* __PVRUSB2_DVB_H__ */