changeset 7864:dacc35bc92c7

add -identify switch
author ranma
date Wed, 23 Oct 2002 15:48:56 +0000
parents 45d64e3fa09a
children d151608b9f28
files DOCS/German/mplayer.1 DOCS/mplayer.1 cfg-mplayer.h mplayer.c
diffstat 4 files changed, 41 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/DOCS/German/mplayer.1	Wed Oct 23 15:32:40 2002 +0000
+++ b/DOCS/German/mplayer.1	Wed Oct 23 15:48:56 2002 +0000
@@ -937,6 +937,11 @@
 .B \-hardframedrop (siehe auch \-framedrop Option)
 Intensiveres Framedropping (unterbricht die Dekodierung). Führt zu Bildverzerrungen!
 .TP
+.B \-identify
+Zeigt die Dateiparameter in einem leicht weiter zu verarbeitendem Format an.
+Das Script TOOLS/midentify unterdrückt andere Ausgaben von MPlayer und führt ein
+Shellescaping der Dateinamen durch.
+.TP
 .B \-include <Konfigurationsdatei>
 Gibt eine Konfigurationsdatei an, welche nach der normalen ausgewertet werden soll.
 .TP
--- a/DOCS/mplayer.1	Wed Oct 23 15:32:40 2002 +0000
+++ b/DOCS/mplayer.1	Wed Oct 23 15:48:56 2002 +0000
@@ -217,6 +217,11 @@
 More intense frame dropping (breaks decoding).
 Leads to image distortion!
 .TP
+.B \-identify
+Show file parameters in easy parsable format.  The wrapper script
+TOOLS/midentify suppresses the other mplayer output and (hopefully)
+shellescapes the filenames.
+.TP
 .B \-input <commands>
 This option can be used to configure certain parts of the input system.
 Paths are relative to ~/\:.mplayer/.
--- a/cfg-mplayer.h	Wed Oct 23 15:32:40 2002 +0000
+++ b/cfg-mplayer.h	Wed Oct 23 15:48:56 2002 +0000
@@ -378,6 +378,7 @@
 #include "cfg-common.h"
 #undef MAIN_CONF
         
+	{"identify", &identify, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL},
 	{"quiet", &quiet, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL},
 	{"noquiet", &quiet, CONF_TYPE_FLAG, CONF_GLOBAL, 1, 0, NULL},
 	{"verbose", &verbose, CONF_TYPE_INT, CONF_RANGE|CONF_GLOBAL, 0, 100, NULL},
--- a/mplayer.c	Wed Oct 23 15:32:40 2002 +0000
+++ b/mplayer.c	Wed Oct 23 15:48:56 2002 +0000
@@ -67,6 +67,7 @@
 
 int slave_mode=0;
 int verbose=0;
+int identify=0;
 static int quiet=0;
 
 #define ABS(x) (((x)>=0)?(x):(-(x)))
@@ -1148,6 +1149,35 @@
   mp_msg(MSGT_CPLAYER,MSGL_INFO,"==========================================================================\n");
 }
 
+if(identify) {
+  mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_FILENAME=%s\n", filename);
+  if (sh_video) {
+    /* Assume FOURCC if all bytes >= 0x20 (' ') */
+    if (sh_video->format >= 0x20202020)
+      mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_VIDEO_FORMAT=%.4s\n", &sh_video->format);
+    else
+      mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_VIDEO_FORMAT=%d\n", sh_video->format);
+    mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_VIDEO_BITRATE=%d\n", sh_video->i_bps*8);
+    mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_VIDEO_WIDTH=%d\n", sh_video->disp_w);
+    mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_VIDEO_HEIGHT=%d\n", sh_video->disp_h);
+    mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_VIDEO_FPS=%5.3f\n", sh_video->fps);
+    mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_VIDEO_ASPECT=%1.2f\n", sh_video->aspect);
+  }
+  if (sh_audio) {
+    if (sh_audio->codec)
+      mp_msg(MSGT_GLOBAL,MSGL_INFO, "ID_AUDIO_CODEC=%s\n", sh_audio->codec->name);
+    /* Assume FOURCC if all bytes >= 0x20 (' ') */
+    if (sh_audio->format >= 0x20202020)
+      mp_msg(MSGT_GLOBAL,MSGL_INFO, "ID_AUDIO_FORMAT=%.4s\n", &sh_audio->format);
+    else
+      mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_AUDIO_FORMAT=%d\n", sh_audio->format);
+    mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_AUDIO_BITRATE=%d\n", sh_audio->i_bps*8);
+    mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_AUDIO_RATE=%d\n", sh_audio->samplerate);
+    mp_msg(MSGT_GLOBAL,MSGL_INFO,"ID_AUDIO_NCH=%d\n", sh_audio->channels);
+  }
+  goto goto_next_file;
+}
+
 if(!sh_video) goto main; // audio-only
 
 //================== Init VIDEO (codec & libvo) ==========================