From 83e5f5e72a4dcae36e9ad099a9bd8f29cd3bdab6 Mon Sep 17 00:00:00 2001 From: wanderer Date: Thu, 15 Dec 2005 17:57:18 +0000 Subject: [PATCH] make -o mandatory and add a warning when the extension does not match the container format, patch by Reynaldo Pinochet git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17197 b3059339-0415-0410-9bf9-f77b7e298cf2 --- DOCS/man/en/mplayer.1 | 7 ++++++- help/help_mp-en.h | 3 +++ mencoder.c | 29 ++++++++++++++++++++++++++++- 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1 index d0202be420..68015bb03e 100644 --- a/DOCS/man/en/mplayer.1 +++ b/DOCS/man/en/mplayer.1 @@ -490,6 +490,8 @@ flip=yes mf=type=png:fps=25 # Eerie negative images are cool. vf=eq2=1.0:-0.8 +# I want MEncoder to ouput to this filename by default. +o=encoded.avi .fi .PP You can also write file-specific configuration files. @@ -6119,7 +6121,10 @@ Do not skip frames. . .TP .B \-o -Outputs to the given filename, instead of the default 'test.avi'. +Outputs to the given filename. +.br +If you want a default output filename, you can put this option in the +MEncoder config file. . .TP .B \-oac diff --git a/help/help_mp-en.h b/help/help_mp-en.h index b1add779de..2df13e31ef 100644 --- a/help/help_mp-en.h +++ b/help/help_mp-en.h @@ -238,6 +238,9 @@ static char help_text[]= #define MSGTR_NoVideoEncoderSelected "\nNo video encoder (-ovc) selected. Select one (see -ovc help).\n" #define MSGTR_CannotOpenOutputFile "Cannot open output file '%s'.\n" #define MSGTR_EncoderOpenFailed "Failed to open the encoder.\n" +#define MSGTR_MencoderWrongFormatAVI "\nWARNING: OUTPUT FILE FORMAT IS _AVI_. see -of help.\n" +#define MSGTR_MencoderWrongFormatMPG "\nWARNING: OUTPUT FILE FORMAT IS _MPEG_. see -of help.\n" +#define MSGTR_MissingOutputFilename "No output file specified, please see the -o option" #define MSGTR_ForcingOutputFourcc "Forcing output fourcc to %x [%.4s]\n" #define MSGTR_ForcingOutputAudiofmtTag "Forcing output audio format tag to 0x%x\n" #define MSGTR_DuplicateFrames "\n%d duplicate frame(s)!\n" diff --git a/mencoder.c b/mencoder.c index 4e651dfbc9..cc9f9536b2 100644 --- a/mencoder.c +++ b/mencoder.c @@ -170,7 +170,7 @@ char *vobsub_out=NULL; unsigned int vobsub_out_index=0; char *vobsub_out_id=NULL; -char* out_filename="test.avi"; +char* out_filename=NULL; char *force_fourcc=NULL; int force_audiofmttag=-1; @@ -465,6 +465,33 @@ if(!codecs_file || !parse_codec_cfg(codecs_file)){ filelist = m_config_parse_me_command_line(mconfig, argc, argv); if(!filelist) mencoder_exit(1, MSGTR_ErrorParsingCommandLine); +{ + char *extension; + + if (!out_filename) mencoder_exit(1,MSGTR_MissingOutputFilename); + extension=strrchr(out_filename,'.'); + if (extension != NULL && strlen(extension) > 3 && strlen(extension) < 6) + { + extension++; + + switch (out_file_format) + { + case MUXER_TYPE_AVI: + if (strcasecmp(extension,"avi")) + mp_msg(MSGT_MENCODER, MSGL_WARN, MSGTR_MencoderWrongFormatAVI); + break; + + case MUXER_TYPE_MPEG: + if (strcasecmp(extension,"mpg") && + strcasecmp(extension,"mpeg") && + strcasecmp(extension,"vob")) + mp_msg(MSGT_MENCODER, MSGL_WARN, MSGTR_MencoderWrongFormatMPG); + break; + } + } +} + + if (frameno_filename) { stream2=open_stream(frameno_filename,0,&i); if(stream2){