summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwanderer <wanderer@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-12-15 17:57:18 +0000
committerwanderer <wanderer@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-12-15 17:57:18 +0000
commit83e5f5e72a4dcae36e9ad099a9bd8f29cd3bdab6 (patch)
tree1954ab45058d6f31c767b578ef6b7fa1976f64a1
parentb0b4990d3f7b7e7afa738c08df6b1a3186ef0ef4 (diff)
downloadmpv-83e5f5e72a4dcae36e9ad099a9bd8f29cd3bdab6.tar.bz2
mpv-83e5f5e72a4dcae36e9ad099a9bd8f29cd3bdab6.tar.xz
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
-rw-r--r--DOCS/man/en/mplayer.17
-rw-r--r--help/help_mp-en.h3
-rw-r--r--mencoder.c29
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 <filename>
-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 <codec name>
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){