]> git.sesse.net Git - vlc/blobdiff - modules/demux/rawaud.c
Use var_Inherit* instead of var_CreateGet*.
[vlc] / modules / demux / rawaud.c
index a9473a0606d41ee561fbef9a76684f94b901f20c..b5a270b05384cdc403c7e85b02af5f968cc70da7 100644 (file)
@@ -48,11 +48,17 @@ static void Close( vlc_object_t * );
 
 #define FOURCC_TEXT N_("FOURCC code of raw input format")
 #define FOURCC_LONGTEXT N_( \
-    "FOURCC code of the raw input format. This is a four character string. Default is s16l." )
+    "FOURCC code of the raw input format. This is a four character string." )
 
-#define LANG_TEXT N_("Forces the audio language.")
+#define LANG_TEXT N_("Forces the audio language")
 #define LANG_LONGTEXT N_("Forces the audio language for the output mux. Three letter ISO639 code. Default is 'eng'. ")
 
+#ifdef WORDS_BIGENDIAN
+# define FOURCC_DEFAULT "s16b"
+#else
+# define FOURCC_DEFAULT "s16l"
+#endif
+
 vlc_module_begin();
     set_shortname( "Raw Audio" );
     set_description( N_("Raw audio demuxer") );
@@ -63,7 +69,8 @@ vlc_module_begin();
     add_shortcut( "rawaud" );
     add_integer( "rawaud-channels", 2, 0, CHANNELS_TEXT, CHANNELS_LONGTEXT, false );
     add_integer( "rawaud-samplerate", 48000, 0, SAMPLERATE_TEXT, SAMPLERATE_LONGTEXT, false );
-    add_string( "rawaud-fourcc", "s16l", NULL, FOURCC_TEXT, FOURCC_LONGTEXT, false );
+    add_string( "rawaud-fourcc", FOURCC_DEFAULT, NULL,
+                FOURCC_TEXT, FOURCC_LONGTEXT, false );
     add_string( "rawaud-lang", "eng", NULL, LANG_TEXT, LANG_LONGTEXT, false);
 vlc_module_end();
 
@@ -194,7 +201,7 @@ static int Open( vlc_object_t * p_this )
 
     /* initialize timing */
     date_Init( &p_sys->pts, p_sys->fmt.audio.i_rate, 1 );
-    date_Set( &p_sys->pts, 1 );
+    date_Set( &p_sys->pts, 0 );
 
     /* calculate 50ms frame size/time */
     p_sys->i_frame_samples = __MAX( p_sys->fmt.audio.i_rate / 20, 1 );
@@ -235,10 +242,13 @@ static int Demux( demux_t *p_demux )
     }
 
     p_block->i_dts =
-    p_block->i_pts = date_Increment( &p_sys->pts, p_sys->i_frame_samples );
+    p_block->i_pts = VLC_TS_0 + date_Get( &p_sys->pts );
 
     es_out_Control( p_demux->out, ES_OUT_SET_PCR, p_block->i_pts );
     es_out_Send( p_demux->out, p_sys->p_es, p_block );
+
+    date_Increment( &p_sys->pts, p_sys->i_frame_samples );
+
     return 1;
 }