]> git.sesse.net Git - vlc/blobdiff - modules/access/dvb/dvb.h
Typo
[vlc] / modules / access / dvb / dvb.h
index 825dc999c0c9379027794bd8765b4f4b38fe876e..a5dcaf4a78be1e03c2fbde251485e3951d191694 100644 (file)
@@ -1,10 +1,10 @@
 /*****************************************************************************
  * dvb.h : functions to control a DVB card under Linux with v4l2
  *****************************************************************************
- * Copyright (C) 1998-2004 VideoLAN
+ * Copyright (C) 1998-2005 the VideoLAN team
  *
  * Authors: Johan Bilien <jobi@via.ecp.fr>
- *          Jean-Paul Saman <jpsaman@saman>
+ *          Jean-Paul Saman <jpsaman _at_ videolan _dot_ org>
  *          Christopher Ross <chris@tebibyte.org>
  *          Christophe Massiot <massiot@via.ecp.fr>
  *
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA    02111, USA.
  *****************************************************************************/
 
-
-/*****************************************************************************
- * Devices location
- *****************************************************************************/
-#define DMX      "/dev/dvb/adapter%d/demux%d"
-#define FRONTEND "/dev/dvb/adapter%d/frontend%d"
-#define DVR      "/dev/dvb/adapter%d/dvr%d"
-
 /*****************************************************************************
  * Local structures
  *****************************************************************************/
@@ -41,33 +33,68 @@ typedef struct demux_handle_t
     int i_type;
 } demux_handle_t;
 
-#define MAX_DEMUX 24
+typedef struct frontend_t frontend_t;
+typedef struct
+{
+    int i_snr;              /**< Signal Noise ratio */
+    int i_ber;              /**< Bitrate error ratio */
+    int i_signal_strenth;   /**< Signal strength */
+} frontend_statistic_t;
 
-typedef struct thread_dvb_data_t
+typedef struct
 {
-    int i_handle;
+    bool b_has_signal;
+    bool b_has_carrier;
+    bool b_has_lock;
+} frontend_status_t;
+
+#define MAX_DEMUX 256
+
+struct scan_t;
+struct scan_parameter_t;
+
+struct access_sys_t
+{
+    int i_handle, i_frontend_handle;
     demux_handle_t p_demux_handles[MAX_DEMUX];
-    void * p_frontend;
-    vlc_bool_t b_budget_mode;
-} thread_dvb_data_t;
-
-#define VIDEO0_TYPE 1
-#define AUDIO0_TYPE 2
-#define TELETEXT0_TYPE 3
-#define SUBTITLE0_TYPE 4
-#define PCR0_TYPE 5
-#define TYPE_INTERVAL 5
-#define OTHER_TYPE 21
+    frontend_t *p_frontend;
+    mtime_t i_frontend_timeout;
+    bool b_budget_mode;
+
+    struct cam *p_cam;
+
+    /* */
+    int i_read_once;
+
+    int i_stat_counter;
+
+    /* Scan */
+    struct scan_t *scan;
+};
+
+#define VIDEO0_TYPE     1
+#define AUDIO0_TYPE     2
+#define TELETEXT0_TYPE  3
+#define SUBTITLE0_TYPE  4
+#define PCR0_TYPE       5
+#define TYPE_INTERVAL   5
+#define OTHER_TYPE     21
 
 /*****************************************************************************
  * Prototypes
  *****************************************************************************/
-int E_(FrontendOpen)( input_thread_t * p_input );
-void E_(FrontendClose)( input_thread_t * p_input );
-int E_(FrontendSet)( input_thread_t * p_input );
-int E_(DMXSetFilter)( input_thread_t * p_input, int i_pid, int * pi_fd,
-                     int i_type );
-int E_(DMXUnsetFilter)( input_thread_t * p_input, int i_fd );
-int E_(DVROpen)( input_thread_t * p_input );
-void E_(DVRClose)( input_thread_t * p_input );
 
+int  FrontendOpen( access_t * );
+void FrontendPoll( access_t *p_access );
+int  FrontendSet( access_t * );
+void FrontendClose( access_t * );
+
+int  FrontendGetStatistic( access_t *, frontend_statistic_t * );
+void FrontendGetStatus( access_t *, frontend_status_t * );
+int  FrontendGetScanParameter( access_t *, struct scan_parameter_t * );
+
+int DMXSetFilter( access_t *, int i_pid, int * pi_fd, int i_type );
+int DMXUnsetFilter( access_t *, int i_fd );
+
+int  DVROpen( access_t * );
+void DVRClose( access_t * );