]> git.sesse.net Git - vlc/blobdiff - modules/demux/demux2.c
* modules/access/dshow: converted to access2/demux2. Let's hope I didn't break anythi...
[vlc] / modules / demux / demux2.c
index ef8b4da5ff3cfc535aaf3ad4976dbefe87a7e129..71dcecc84820b60b4b64be907d302005660f48cc 100644 (file)
@@ -39,14 +39,14 @@ static void Demux2Close  ( vlc_object_t * );
 
 vlc_module_begin();
     set_description( _("Demux2 adaptation layer" ) );
-    set_capability( "demux", 2 );
+    set_capability( "demux", 10 );
     set_callbacks( Demux2Open, Demux2Close );
     add_shortcut( "demux2" );
 
     /* Hack */
     add_shortcut( "nsv" );
     add_shortcut( "live" );
-    add_shortcut( "ts2" );
+    add_shortcut( "ts" );
     add_shortcut( "ps2" );
     add_shortcut( "dvdnav" );
     add_shortcut( "dvdnavsimple" );
@@ -67,6 +67,11 @@ vlc_module_begin();
     add_shortcut( "ogg" );
     add_shortcut( "h264" );
     add_shortcut( "avi" );
+    add_shortcut( "mjpeg" );
+    add_shortcut( "directory" );
+    add_shortcut( "wav" );
+    add_shortcut( "v4l" );
+    add_shortcut( "dshow" );
 vlc_module_end();
 
 /*****************************************************************************
@@ -90,30 +95,15 @@ static int Demux2Open( vlc_object_t * p_this )
     demux_t        *p_demux;
     playlist_t     *p_playlist;
 
-    char           *psz_uri;
-
     if( input_InitStream( p_input, 0 ) )
     {
         return VLC_EGENERIC;
     }
 
-    psz_uri = malloc( strlen( p_input->psz_access ) + strlen( p_input->psz_demux ) + strlen( p_input->psz_name  ) + 1 + 3 + 1 );
-    if( p_input->psz_demux && *p_input->psz_demux )
-    {
-        sprintf( psz_uri, "%s/%s://%s", p_input->psz_access, p_input->psz_demux, p_input->psz_name );
-    }
-    else if( p_input->psz_access && *p_input->psz_access )
-    {
-        sprintf( psz_uri, "%s://%s", p_input->psz_access, p_input->psz_name );
-    }
-    else
-    {
-        sprintf( psz_uri, "://%s", p_input->psz_name );
-    }
-
-    p_demux = demux2_New( p_input, psz_uri, p_input->s, p_input->p_es_out );
-
-    free( psz_uri );
+    p_demux = demux2_New( p_input,
+                          p_input->psz_access, p_input->psz_demux,
+                          p_input->psz_name,
+                          p_input->s, p_input->p_es_out );
 
     if( !p_demux )
     {
@@ -152,8 +142,9 @@ static int Demux2Open( vlc_object_t * p_this )
  *****************************************************************************/
 static int Demux2Demux( input_thread_t * p_input )
 {
-    demux2_sys_t  *p_sys = (demux2_sys_t*)p_input->p_demux_data;
+    demux2_sys_t *p_sys = (demux2_sys_t*)p_input->p_demux_data;
 
+    p_sys->p_demux->b_die = p_input->b_die;
     return demux2_Demux( p_sys->p_demux );
 }
 
@@ -162,7 +153,7 @@ static int Demux2Demux( input_thread_t * p_input )
  *****************************************************************************/
 static int  Demux2Control( input_thread_t *p_input, int i_query, va_list args )
 {
-    demux2_sys_t  *p_sys = (demux2_sys_t*)p_input->p_demux_data;
+    demux2_sys_t *p_sys = (demux2_sys_t*)p_input->p_demux_data;
 
     return demux2_vaControl( p_sys->p_demux, i_query, args );
 }