]> err.no Git - linux-2.6/blobdiff - drivers/media/dvb/dvb-core/dmxdev.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus
[linux-2.6] / drivers / media / dvb / dvb-core / dmxdev.h
index ec2a7a4da5e4448b30b345385eb01f78bcdd9f1a..29746e70d3252dedaa2a40856b91472e55934603 100644 (file)
@@ -36,8 +36,9 @@
 
 #include "dvbdev.h"
 #include "demux.h"
+#include "dvb_ringbuffer.h"
 
-enum dmxdevype {
+enum dmxdev_type {
        DMXDEV_TYPE_NONE,
        DMXDEV_TYPE_SEC,
        DMXDEV_TYPE_PES,
@@ -52,18 +53,7 @@ enum dmxdev_state {
        DMXDEV_STATE_TIMEDOUT
 };
 
-struct dmxdev_buffer {
-       u8 *data;
-       int size;
-       int pread;
-       int pwrite;
-       wait_queue_head_t queue;
-       int error;
-};
-
 struct dmxdev_filter {
-       struct dvb_device *dvbdev;
-
        union {
                struct dmx_section_filter *sec;
        } filter;
@@ -78,10 +68,10 @@ struct dmxdev_filter {
                struct dmx_pes_filter_params pes;
        } params;
 
-       int type;
+       enum dmxdev_type type;
        enum dmxdev_state state;
        struct dmxdev *dev;
-       struct dmxdev_buffer buffer;
+       struct dvb_ringbuffer buffer;
 
        struct mutex mutex;
 
@@ -89,15 +79,6 @@ struct dmxdev_filter {
        struct timer_list timer;
        int todo;
        u8 secheader[3];
-
-       u16 pid;
-};
-
-
-struct dmxdev_dvr {
-       int state;
-       struct dmxdev *dev;
-       struct dmxdev_buffer buffer;
 };
 
 
@@ -106,15 +87,16 @@ struct dmxdev {
        struct dvb_device *dvr_dvbdev;
 
        struct dmxdev_filter *filter;
-       struct dmxdev_dvr *dvr;
        struct dmx_demux *demux;
 
        int filternum;
        int capabilities;
+
+       unsigned int exit:1;
 #define DMXDEV_CAP_DUPLEX 1
        struct dmx_frontend *dvr_orig_fe;
 
-       struct dmxdev_buffer dvr_buffer;
+       struct dvb_ringbuffer dvr_buffer;
 #define DVR_BUFFER_SIZE (10*188*1024)
 
        struct mutex mutex;