vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Tue Nov 20 22:42:57 2012 +0200| [400b9b643686981eb0224f5e380a424b468bbdac] | committer: Rémi Denis-Courmont
file out: make time formatting optional (fixes #7768) This feature has broken far too many scripts and code as it fails the principle of least surprise. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=400b9b643686981eb0224f5e380a424b468bbdac --- modules/access_output/file.c | 19 ++++++++++++++++--- modules/codec/aes3.c | 8 ++++---- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/modules/access_output/file.c b/modules/access_output/file.c index 852ba11..5b2ec29 100644 --- a/modules/access_output/file.c +++ b/modules/access_output/file.c @@ -68,6 +68,9 @@ static void Close( vlc_object_t * ); #define APPEND_TEXT N_("Append to file") #define APPEND_LONGTEXT N_( "Append to file if it exists instead " \ "of replacing it.") +#define FORMAT_TEXT N_("Format time and date") +#define FORMAT_LONGTEXT N_("Perform ISO C time and date formatting " \ + "on the file path") #define SYNC_TEXT N_("Synchronous writing") #define SYNC_LONGTEXT N_( "Open the file with synchronous writing.") @@ -82,6 +85,8 @@ vlc_module_begin () OVERWRITE_LONGTEXT, true ) add_bool( SOUT_CFG_PREFIX "append", false, APPEND_TEXT,APPEND_LONGTEXT, true ) + add_bool( SOUT_CFG_PREFIX "format", false, FORMAT_TEXT, FORMAT_LONGTEXT, + true ) #ifdef O_SYNC add_bool( SOUT_CFG_PREFIX "sync", false, SYNC_TEXT,SYNC_LONGTEXT, false ) @@ -95,6 +100,7 @@ vlc_module_end () *****************************************************************************/ static const char *const ppsz_sout_options[] = { "append", + "format", "overwrite", #ifdef O_SYNC "sync", @@ -160,8 +166,15 @@ static int Open( vlc_object_t *p_this ) } else { - char *path = str_format_time (p_access->psz_path); - path_sanitize (path); + const char *path = p_access->psz_path; + char *buf = NULL; + + if (var_InheritBool (p_access, SOUT_CFG_PREFIX"format")) + { + buf = str_format_time (path); + path_sanitize (buf); + path = buf; + } int flags = O_RDWR | O_CREAT | O_LARGEFILE; if (!overwrite) @@ -189,7 +202,7 @@ static int Open( vlc_object_t *p_this ) "overridden and its content will be lost."), _("Keep existing file"), _("Overwrite"), NULL) == 2); - free (path); + free (buf); if (fd == -1) return VLC_EGENERIC; } diff --git a/modules/codec/aes3.c b/modules/codec/aes3.c index ea9ceae..33af926 100644 --- a/modules/codec/aes3.c +++ b/modules/codec/aes3.c @@ -159,7 +159,7 @@ static block_t *Decode( decoder_t *p_dec, block_t **pp_block ) if( i_bits == 24 ) { - uint8_t *p_out = p_aout_buffer->p_buffer; + uint32_t *p_out = p_aout_buffer->p_buffer; while( p_block->i_buffer / 7 ) { @@ -182,7 +182,7 @@ static block_t *Decode( decoder_t *p_dec, block_t **pp_block ) } else if( i_bits == 20 ) { - uint8_t *p_out = p_aout_buffer->p_buffer; + uint32_t *p_out = p_aout_buffer->p_buffer; while( p_block->i_buffer / 6 ) { @@ -372,8 +372,8 @@ static block_t *Parse( decoder_t *p_dec, int *pi_frame_length, int *pi_bits, } else { - p_dec->fmt_out.i_codec = i_bits == 16 ? VLC_CODEC_S16L : VLC_CODEC_S24L; - p_dec->fmt_out.audio.i_bitspersample = i_bits == 16 ? 16 : 24; + p_dec->fmt_out.i_codec = i_bits == 16 ? VLC_CODEC_S16N : VLC_CODEC_S32N; + p_dec->fmt_out.audio.i_bitspersample = i_bits == 16 ? 16 : 32; } p_dec->fmt_out.audio.i_channels = i_channels; _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
