]> git.sesse.net Git - vlc/commitdiff
* ALL: fixed a compilation issue in satellite input. It now uses common
authorJohan Bilien <jobi@videolan.org>
Tue, 30 Apr 2002 00:38:23 +0000 (00:38 +0000)
committerJohan Bilien <jobi@videolan.org>
Tue, 30 Apr 2002 00:38:23 +0000 (00:38 +0000)
           or libdvbpsi ts demux. Untested cause I can't get our Nova Card
           work again.

plugins/satellite/input_satellite.c
plugins/satellite/satellite.c

index e6ae16a12abc6df8a3e4353d4e5d4d3f00d1dcc8..3a32a3777f45b8aab8684c83d34891c8286818f6 100644 (file)
 /*****************************************************************************
  * Local prototypes
  *****************************************************************************/
-static int  SatelliteOpen       ( input_thread_t * );
-static void SatelliteClose      ( input_thread_t * );
-static int  SatelliteSetArea    ( input_thread_t *, input_area_t * );
-static int  SatelliteSetProgram ( input_thread_t *, pgrm_descriptor_t * );
-static void SatelliteSeek       ( input_thread_t *, off_t );
-
-static int  SatelliteInit       ( input_thread_t * );
-static void SatelliteEnd        ( input_thread_t * );
-static int  SatelliteDemux      ( input_thread_t * );
-static int  SatelliteRewind     ( input_thread_t * );
+static int     SatelliteOpen       ( input_thread_t * );
+static void    SatelliteClose      ( input_thread_t * );
+static ssize_t SatelliteRead( input_thread_t * p_input, byte_t * p_buffer,
+                                     size_t i_len );
+static int     SatelliteSetArea    ( input_thread_t *, input_area_t * );
+static int     SatelliteSetProgram ( input_thread_t *, pgrm_descriptor_t * );
+static void    SatelliteSeek       ( input_thread_t *, off_t );
 
 /*****************************************************************************
  * Functions exported as capabilities. They are declared as static so that
@@ -74,27 +71,13 @@ void _M( access_getfunctions )( function_list_t * p_function_list )
 #define access p_function_list->functions.access
     access.pf_open             = SatelliteOpen;
     access.pf_close            = SatelliteClose;
-    access.pf_read             = input_FDRead;
+    access.pf_read             = SatelliteRead;
     access.pf_set_area         = SatelliteSetArea;
     access.pf_set_program      = SatelliteSetProgram;
     access.pf_seek             = SatelliteSeek;
 #undef access
 }
 
-
-void _M( demux_getfunctions )( function_list_t * p_function_list )
-{
-#define demux p_function_list->functions.demux
-    demux.pf_init             = SatelliteInit;
-    demux.pf_end              = SatelliteEnd;
-    demux.pf_demux            = SatelliteDemux;
-    demux.pf_rewind           = SatelliteRewind;
-#undef demux
-}
-
-
-
-
 /*****************************************************************************
  * SatelliteOpen : open the dvr device
  *****************************************************************************/
@@ -233,7 +216,7 @@ static int SatelliteOpen( input_thread_t * p_input )
                         "FEC: %03f, Srate: %d",
                         i_freq, b_pol, f_fec, i_srate );
 
-    if ( ioctl_SECControl( i_freq * 1000, b_pol, i_lnb_slof * 1000, 
+    if ( ioctl_SECControl( i_freq * 1000, b_pol, i_lnb_slof * 1000,
                 b_diseqc ) < 0 )
     {
         intf_ErrMsg("input: satellite: An error occured when controling SEC");
@@ -315,7 +298,6 @@ static int SatelliteOpen( input_thread_t * p_input )
 
     p_input->i_mtu = SATELLITE_READ_ONCE * TS_PACKET_SIZE;
     p_input->stream.i_method = INPUT_METHOD_SATELLITE;
-    p_input->psz_demux = "satellite";
 
     return 0;
 }
@@ -348,6 +330,34 @@ static void SatelliteClose( input_thread_t * p_input )
     close( p_satellite->i_handle );
 }
 
+
+/*****************************************************************************
+ * SatelliteRead: reads data from the satellite card
+ *****************************************************************************/
+static ssize_t SatelliteRead( input_thread_t * p_input, byte_t * p_buffer,
+                size_t i_len )
+{
+    int i;
+
+    /* if not set, set filters to the PMTs */
+    for( i = 0; i < p_input->stream.i_pgrm_number; i++ )
+    {
+        if ( p_input->stream.pp_programs[i]->pp_es[0]->i_demux_fd == 0 )
+        {
+            intf_WarnMsg( 2, "input: satellite: setting filter on pmt pid %d",
+                        p_input->stream.pp_programs[i]->pp_es[0]->i_id);
+            ioctl_SetDMXFilter( p_input->stream.pp_programs[i]->pp_es[0]->i_id,
+                       &p_input->stream.pp_programs[i]->pp_es[0]->i_demux_fd,
+                       3 );
+        }
+    }
+
+    return input_FDRead( p_input, p_buffer, i_len );
+}
+
+
+
+
 /*****************************************************************************
  * SatelliteSetArea : Does nothing
  *****************************************************************************/
@@ -428,94 +438,3 @@ static void SatelliteSeek( input_thread_t * p_input, off_t i_off )
 {
     return;
 }
-
-/*****************************************************************************
- * SatelliteInit: initializes TS structures
- *****************************************************************************/
-static int SatelliteInit( input_thread_t * p_input )
-{
-    es_descriptor_t     * p_pat_es;
-    es_ts_data_t        * p_demux_data;
-    stream_ts_data_t    * p_stream_data;
-
-    /* Initialize the stream */
-    input_InitStream( p_input, sizeof( stream_ts_data_t ) );
-
-
-    /* Init */
-    p_stream_data = (stream_ts_data_t *)p_input->stream.p_demux_data;
-    p_stream_data->i_pat_version = PAT_UNINITIALIZED ;
-
-    /* We'll have to catch the PAT in order to continue
-     * Then the input will catch the PMT and then the others ES
-     * The PAT es is indepedent of any program. */
-    p_pat_es = input_AddES( p_input, NULL,
-                           0x00, sizeof( es_ts_data_t ) );
-    p_demux_data=(es_ts_data_t *)p_pat_es->p_demux_data;
-    p_demux_data->b_psi = 1;
-    p_demux_data->i_psi_type = PSI_IS_PAT;
-    p_demux_data->p_psi_section = malloc(sizeof(psi_section_t));
-    p_demux_data->p_psi_section->b_is_complete = 1;
-
-    return 0;
-
-}
-
-/*****************************************************************************
- * SatelliteEnd: frees unused data
- *****************************************************************************/
-static void SatelliteEnd( input_thread_t * p_input )
-{
-}
-
-/*****************************************************************************
- * SatelliteDemux
- *****************************************************************************/
-static int SatelliteDemux( input_thread_t * p_input )
-{
-    int             i_read_once = (p_input->i_mtu ?
-                                   p_input->i_bufsize / TS_PACKET_SIZE :
-                                   SATELLITE_READ_ONCE);
-    int             i;
-
-    /* if not set, set filters to the PMTs */
-
-    for( i = 0; i < p_input->stream.i_pgrm_number; i++ )
-    {
-        if ( p_input->stream.pp_programs[i]->pp_es[0]->i_demux_fd == 0 )
-        {
-            intf_WarnMsg( 2, "input: satellite: setting filter on pmt pid %d",
-                        p_input->stream.pp_programs[i]->pp_es[0]->i_id);
-            ioctl_SetDMXFilter( p_input->stream.pp_programs[i]->pp_es[0]->i_id,
-                       &p_input->stream.pp_programs[i]->pp_es[0]->i_demux_fd,
-                       3 );
-        }
-    }
-
-
-    for( i = 0; i < SATELLITE_READ_ONCE; i++ )
-    {
-        data_packet_t *     p_data;
-        ssize_t             i_result;
-
-        i_result = input_ReadTS( p_input, &p_data );
-
-        if( i_result <= 0 )
-        {
-            return( i_result );
-        }
-
-        input_DemuxTS( p_input, p_data );
-    }
-
-    return( i_read_once );
-}
-
-/*****************************************************************************
- * SatelliteRewind: Does nothing
- *****************************************************************************/
-static int SatelliteRewind( input_thread_t * p_input )
-{
-    return -1;
-}
-
index 8f01ce4bde432905a9d4ee9c1fcfc3c705280149..8616eb91d92d95fe7c08daa642451f53430b7514 100644 (file)
@@ -76,14 +76,12 @@ MODULE_CONFIG_STOP
 
 MODULE_INIT_START
     SET_DESCRIPTION( _("satellite input module") )
-    ADD_CAPABILITY( DEMUX, 0 )
     ADD_CAPABILITY( ACCESS, 50 )
     ADD_SHORTCUT( "satellite" )
 MODULE_INIT_STOP
 
 MODULE_ACTIVATE_START
     _M( access_getfunctions )( &p_module->p_functions->access );
-    _M( demux_getfunctions )( &p_module->p_functions->demux );
 MODULE_ACTIVATE_STOP
 
 MODULE_DEACTIVATE_START