Added dump alias module to dummy decoder.
authorLaurent Aimar <fenrir@videolan.org>
Sun, 28 Sep 2008 14:57:04 +0000 (16:57 +0200)
committerLaurent Aimar <fenrir@videolan.org>
Tue, 30 Sep 2008 20:22:33 +0000 (22:22 +0200)
It allows replacing --codec dummy --dummy-save-es by --codec dump.

modules/misc/dummy/decoder.c
modules/misc/dummy/dummy.c
modules/misc/dummy/dummy.h

index 732008c..4b96808 100644 (file)
@@ -67,7 +67,7 @@ static void *DecodeBlock( decoder_t *p_dec, block_t **pp_block );
 /*****************************************************************************
  * OpenDecoder: Open the decoder
  *****************************************************************************/
-int OpenDecoder ( vlc_object_t *p_this )
+static int OpenDecoderCommon( vlc_object_t *p_this, bool b_force_dump )
 {
     decoder_t *p_dec = (decoder_t*)p_this;
     decoder_sys_t *p_sys;
@@ -85,9 +85,13 @@ int OpenDecoder ( vlc_object_t *p_this )
     snprintf( psz_file, sizeof( psz_file), "stream.%p", p_dec );
 
 #ifndef UNDER_CE
-    var_Create( p_dec, "dummy-save-es", VLC_VAR_BOOL | VLC_VAR_DOINHERIT );
-    var_Get( p_dec, "dummy-save-es", &val );
-    if( val.b_bool )
+    if( !b_force_dump )
+    {
+        var_Create( p_dec, "dummy-save-es", VLC_VAR_BOOL | VLC_VAR_DOINHERIT );
+        var_Get( p_dec, "dummy-save-es", &val );
+        b_force_dump = val.b_bool;
+    }
+    if( b_force_dump )
     {
         p_sys->i_fd = open( psz_file, O_WRONLY | O_CREAT | O_TRUNC, 00644 );
 
@@ -116,6 +120,15 @@ int OpenDecoder ( vlc_object_t *p_this )
     return VLC_SUCCESS;
 }
 
+int OpenDecoder( vlc_object_t *p_this )
+{
+    return OpenDecoderCommon( p_this, false );
+}
+int  OpenDecoderDump( vlc_object_t *p_this )
+{
+    return OpenDecoderCommon( p_this, true );
+}
+
 /****************************************************************************
  * RunDecoder: the whole thing
  ****************************************************************************
index c49e7ee..2bad913 100644 (file)
@@ -83,6 +83,12 @@ vlc_module_begin();
         set_callbacks( OpenDecoder, CloseDecoder );
         add_bool( "dummy-save-es", 0, NULL, SAVE_TEXT, SAVE_LONGTEXT, true );
     add_submodule();
+        set_section( N_( "Dump decoder" ), NULL );
+        set_description( N_("Dump decoder function") );
+        set_capability( "decoder", -1 );
+        set_callbacks( OpenDecoderDump, CloseDecoder );
+        add_shortcut( "dump" );
+    add_submodule();
         set_description( N_("Dummy encoder function") );
         set_capability( "encoder", 0 );
         set_callbacks( OpenEncoder, CloseEncoder );
index a31c872..09f8972 100644 (file)
@@ -31,8 +31,9 @@ int  OpenAccess   ( vlc_object_t * );
 int  OpenDemux    ( vlc_object_t * );
 void CloseDemux   ( vlc_object_t * );
 
-int  OpenDecoder  ( vlc_object_t * );
-void CloseDecoder ( vlc_object_t * );
+int  OpenDecoder    ( vlc_object_t * );
+int  OpenDecoderDump( vlc_object_t * );
+void CloseDecoder   ( vlc_object_t * );
 
 int  OpenEncoder  ( vlc_object_t * );
 void CloseEncoder ( vlc_object_t * );