summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DOCS/man/en/mplayer.14
-rw-r--r--cfg-common.h2
-rw-r--r--cfg-mplayer.h2
-rw-r--r--libaf/af.c2
-rw-r--r--libao2/audio_out.c3
-rw-r--r--libmpcodecs/dec_audio.c3
-rw-r--r--libmpcodecs/dec_video.c3
-rw-r--r--libmpdemux/cdda.c6
-rw-r--r--libmpdemux/cddb.c4
-rw-r--r--libmpdemux/demux_mkv.c17
-rw-r--r--libmpdemux/demux_ogg.c38
-rw-r--r--libmpdemux/demux_ts.c21
-rw-r--r--libmpdemux/demuxer.c20
-rw-r--r--libmpdemux/stream_dvd.c35
-rw-r--r--libmpdemux/vcd_read.h11
-rw-r--r--libmpdemux/vcd_read_darwin.h11
-rw-r--r--libmpdemux/vcd_read_fbsd.h11
-rw-r--r--libmpdemux/vcd_read_nbsd.h11
-rw-r--r--libvo/video_out.c3
-rw-r--r--libvo/x11_common.c3
-rw-r--r--m_option.c3
-rw-r--r--mencoder.c1
-rw-r--r--mp_msg.c1
-rw-r--r--mp_msg.h3
-rw-r--r--mplayer.c61
-rw-r--r--vobsub.c9
26 files changed, 113 insertions, 175 deletions
diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1
index 1a23fe782b..321c30ad4e 100644
--- a/DOCS/man/en/mplayer.1
+++ b/DOCS/man/en/mplayer.1
@@ -764,9 +764,11 @@ Leads to image distortion!
.
.TP
.B \-identify
+Shorthand for \-msglevel identify=4.
Show file parameters in an easily parseable format.
Also prints more detailed information about subtitle and audio
-track languages and IDs.
+track languages and IDs. If you want even more information
+use -msglevel identify=5.
The wrapper script TOOLS/\:midentify suppresses the other MPlayer output and
(hopefully) shellescapes the filenames.
.
diff --git a/cfg-common.h b/cfg-common.h
index a32d626011..4c1fbfcf23 100644
--- a/cfg-common.h
+++ b/cfg-common.h
@@ -543,6 +543,7 @@ m_option_t msgl_config[]={
{ "netst", &mp_msg_levels[MSGT_NETST], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
{ "muxer", &mp_msg_levels[MSGT_MUXER], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
{ "osd-menu", &mp_msg_levels[MSGT_OSD_MENU], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
+ { "identify", &mp_msg_levels[MSGT_IDENTIFY], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
{"help", "Available msg modules:\n"
" global - common player errors/information\n"
" cplayer - console player (mplayer.c)\n"
@@ -585,6 +586,7 @@ m_option_t msgl_config[]={
" afilter - Audio filter messages\n"
" netst - Netstream\n"
" muxer - muxer layer\n"
+ " identify - identify output\n"
"\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
};
diff --git a/cfg-mplayer.h b/cfg-mplayer.h
index 2f656a5ed4..c4080d7af0 100644
--- a/cfg-mplayer.h
+++ b/cfg-mplayer.h
@@ -383,7 +383,7 @@ m_option_t mplayer_opts[]={
#undef MAIN_CONF
{"list-properties", &list_properties, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL},
- {"identify", &identify, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL},
+ {"identify", &mp_msg_levels[MSGT_IDENTIFY], CONF_TYPE_FLAG, CONF_GLOBAL, 0, MSGL_INFO, NULL},
{"-help", help_text, CONF_TYPE_PRINT, CONF_NOCFG|CONF_GLOBAL, 0, 0, NULL},
{"help", help_text, CONF_TYPE_PRINT, CONF_NOCFG|CONF_GLOBAL, 0, 0, NULL},
{"h", help_text, CONF_TYPE_PRINT, CONF_NOCFG|CONF_GLOBAL, 0, 0, NULL},
diff --git a/libaf/af.c b/libaf/af.c
index 14852ad6c6..5e867c3486 100644
--- a/libaf/af.c
+++ b/libaf/af.c
@@ -698,8 +698,6 @@ void af_frac_mul(frac_t *out, const frac_t *in) {
void af_help (void) {
int i = 0;
af_msg(AF_MSG_INFO, "Available audio filters:\n");
- if (identify)
- af_msg(AF_MSG_INFO, "ID_AUDIO_FILTERS\n");
while (filter_list[i]) {
if (filter_list[i]->comment && filter_list[i]->comment[0])
af_msg(AF_MSG_INFO, " %-15s: %s (%s)\n", filter_list[i]->name, filter_list[i]->info, filter_list[i]->comment);
diff --git a/libao2/audio_out.c b/libao2/audio_out.c
index 85f111a941..a64b638803 100644
--- a/libao2/audio_out.c
+++ b/libao2/audio_out.c
@@ -135,8 +135,7 @@ ao_functions_t* audio_out_drivers[] =
void list_audio_out(void){
int i=0;
mp_msg(MSGT_AO, MSGL_INFO, MSGTR_AvailableAudioOutputDrivers);
- if (identify)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_AUDIO_OUTPUTS\n");
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_AUDIO_OUTPUTS\n");
while (audio_out_drivers[i]) {
const ao_info_t *info = audio_out_drivers[i++]->info;
mp_msg(MSGT_GLOBAL, MSGL_INFO,"\t%s\t%s\n", info->short_name, info->name);
diff --git a/libmpcodecs/dec_audio.c b/libmpcodecs/dec_audio.c
index d63eb9ced1..2a6d152eb7 100644
--- a/libmpcodecs/dec_audio.c
+++ b/libmpcodecs/dec_audio.c
@@ -36,8 +36,7 @@ af_cfg_t af_cfg = {1, NULL}; // Configuration for audio filters
void afm_help(void){
int i;
mp_msg(MSGT_DECAUDIO,MSGL_INFO,MSGTR_AvailableAudioFm);
- if (identify)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_AUDIO_DRIVERS\n");
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_AUDIO_DRIVERS\n");
mp_msg(MSGT_DECAUDIO,MSGL_INFO," afm: info: (comment)\n");
for (i=0; mpcodecs_ad_drivers[i] != NULL; i++)
if(mpcodecs_ad_drivers[i]->info->comment && mpcodecs_ad_drivers[i]->info->comment[0])
diff --git a/libmpcodecs/dec_video.c b/libmpcodecs/dec_video.c
index 02704a3940..cd929c7b0f 100644
--- a/libmpcodecs/dec_video.c
+++ b/libmpcodecs/dec_video.c
@@ -152,8 +152,7 @@ void uninit_video(sh_video_t *sh_video){
void vfm_help(void){
int i;
mp_msg(MSGT_DECVIDEO,MSGL_INFO,MSGTR_AvailableVideoFm);
- if (identify)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_VIDEO_DRIVERS\n");
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VIDEO_DRIVERS\n");
mp_msg(MSGT_DECVIDEO,MSGL_INFO," vfm: info: (comment)\n");
for (i=0; mpcodecs_vd_drivers[i] != NULL; i++)
mp_msg(MSGT_DECVIDEO,MSGL_INFO,"%8s %s (%s)\n",
diff --git a/libmpdemux/cdda.c b/libmpdemux/cdda.c
index a6f5d3c43f..1db54cc973 100644
--- a/libmpdemux/cdda.c
+++ b/libmpdemux/cdda.c
@@ -312,8 +312,7 @@ static int fill_buffer(stream_t* s, char* buffer, int max_len) {
//printf("Track %d, sector=%d\n", i, p->sector-1);
if( cd_track!=NULL ) {
mp_msg(MSGT_SEEK, MSGL_INFO, "\n%s\n", cd_track->name);
- if (identify)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_CDDA_TRACK=%d\n", cd_track->track_nb);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_CDDA_TRACK=%d\n", cd_track->track_nb);
}
break;
}
@@ -355,8 +354,7 @@ static int seek(stream_t* s,off_t newpos) {
cd_track = cd_info_get_track(p->cd_info, seeked_track+1);
if( cd_track!=NULL ) {
mp_msg(MSGT_SEEK, MSGL_INFO, "\n%s\n", cd_track->name);
- if (identify)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_CDDA_TRACK=%d\n", cd_track->track_nb);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_CDDA_TRACK=%d\n", cd_track->track_nb);
}
}
diff --git a/libmpdemux/cddb.c b/libmpdemux/cddb.c
index 01b3b2c22e..89a7a22f7b 100644
--- a/libmpdemux/cddb.c
+++ b/libmpdemux/cddb.c
@@ -222,7 +222,7 @@ read_toc(const char *dev) {
int cdd_identify(const char *dev)
{
cdtoc_last_track = 0;
- if (identify)
+ if (mp_msg_test(MSGT_IDENTIFY, MSGL_INFO))
{
int i, min, sec, frame;
cdtoc_last_track = read_toc(dev);
@@ -238,7 +238,7 @@ int cdd_identify(const char *dev)
frame -= sec * 75;
min = sec / 60;
sec -= min * 60;
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_CDDA_TRACK_%d_MSF=%02d:%02d:%02d\n", i, min, sec, frame);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_CDDA_TRACK_%d_MSF=%02d:%02d:%02d\n", i, min, sec, frame);
}
}
return cdtoc_last_track;
diff --git a/libmpdemux/demux_mkv.c b/libmpdemux/demux_mkv.c
index d503ab14ad..564e15803d 100644
--- a/libmpdemux/demux_mkv.c
+++ b/libmpdemux/demux_mkv.c
@@ -1548,26 +1548,19 @@ display_tracks (mkv_demuxer_t *mkv_d)
{
case MATROSKA_TRACK_VIDEO:
type = "video";
- if (identify)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_VIDEO_ID=%d\n", vid);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VIDEO_ID=%d\n", vid);
sprintf (str, "-vid %u", vid++);
break;
case MATROSKA_TRACK_AUDIO:
type = "audio";
- if (identify)
- {
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_AUDIO_ID=%d\n", aid);
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_AID_%d_LANG=%s\n", aid, mkv_d->tracks[i]->language);
- }
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_AUDIO_ID=%d\n", aid);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_AID_%d_LANG=%s\n", aid, mkv_d->tracks[i]->language);
sprintf (str, "-aid %u, -alang %.5s",aid++,mkv_d->tracks[i]->language);
break;
case MATROSKA_TRACK_SUBTITLE:
type = "subtitles";
- if (identify)
- {
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_SUBTITLE_ID=%d\n", sid);
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_SID_%d_LANG=%s\n", sid, mkv_d->tracks[i]->language);
- }
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_SUBTITLE_ID=%d\n", sid);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_SID_%d_LANG=%s\n", sid, mkv_d->tracks[i]->language);
sprintf (str, "-sid %u, -slang %.5s",sid++,mkv_d->tracks[i]->language);
break;
}
diff --git a/libmpdemux/demux_ogg.c b/libmpdemux/demux_ogg.c
index 0e686a8419..82ffba7e97 100644
--- a/libmpdemux/demux_ogg.c
+++ b/libmpdemux/demux_ogg.c
@@ -465,13 +465,10 @@ static void demux_ogg_check_comments(demuxer_t *d, ogg_stream_t *os, int id, vor
if (!strncasecmp(*cmt, "LANGUAGE=", 9))
{
val = *cmt + 9;
- if (identify)
- {
- if (ogg_d->subs[id].text)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_SID_%d_LANG=%s\n", ogg_d->subs[id].id, val);
- else if (id != d->video->id)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_AID_%d_LANG=%s\n", ogg_d->subs[id].id, val);
- }
+ if (ogg_d->subs[id].text)
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_SID_%d_LANG=%s\n", ogg_d->subs[id].id, val);
+ else if (id != d->video->id)
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_AID_%d_LANG=%s\n", ogg_d->subs[id].id, val);
if (ogg_d->subs[id].text)
mp_msg(MSGT_DEMUX, MSGL_INFO, "[Ogg] Language for -sid %d is '-slang \"%s\"'\n", ogg_d->subs[id].id, val);
// copy this language name into the array
@@ -921,8 +918,7 @@ int demux_ogg_open(demuxer_t* demuxer) {
sh_a = new_sh_audio(demuxer,ogg_d->num_sub);
sh_a->format = FOURCC_VORBIS;
ogg_d->subs[ogg_d->num_sub].vorbis = 1;
- if (identify)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_AUDIO_ID=%d\n", n_audio);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_AUDIO_ID=%d\n", n_audio);
ogg_d->subs[ogg_d->num_sub].id = n_audio;
n_audio++;
mp_msg(MSGT_DEMUX,MSGL_INFO,"[Ogg] stream %d: audio (Vorbis), -aid %d\n",ogg_d->num_sub,n_audio-1);
@@ -942,8 +938,7 @@ int demux_ogg_open(demuxer_t* demuxer) {
ogg_d->subs[ogg_d->num_sub].samplerate = sh_a->samplerate;
ogg_d->subs[ogg_d->num_sub].speex = 1;
- if (identify)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_AUDIO_ID=%d\n", n_audio);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_AUDIO_ID=%d\n", n_audio);
ogg_d->subs[ogg_d->num_sub].id = n_audio;
n_audio++;
mp_msg(MSGT_DEMUX,MSGL_INFO,"[Ogg] stream %d: audio (Speex), -aid %d\n",ogg_d->num_sub,n_audio-1);
@@ -982,8 +977,7 @@ int demux_ogg_open(demuxer_t* demuxer) {
sh_v->bih->biWidth*sh_v->bih->biHeight);
ogg_d->subs[ogg_d->num_sub].samplerate = sh_v->fps;
ogg_d->subs[ogg_d->num_sub].theora = 1;
- if (identify)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_VIDEO_ID=%d\n", n_video);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VIDEO_ID=%d\n", n_video);
ogg_d->subs[ogg_d->num_sub].id = n_video;
n_video++;
mp_msg(MSGT_DEMUX,MSGL_INFO,
@@ -1000,8 +994,7 @@ int demux_ogg_open(demuxer_t* demuxer) {
} else if (pack.bytes >= 4 && !strncmp (&pack.packet[0], "fLaC", 4)) {
sh_a = new_sh_audio(demuxer,ogg_d->num_sub);
sh_a->format = mmioFOURCC('f', 'L', 'a', 'C');
- if (identify)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_AUDIO_ID=%d\n", n_audio);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_AUDIO_ID=%d\n", n_audio);
ogg_d->subs[ogg_d->num_sub].id = n_audio;
n_audio++;
ogg_d->subs[ogg_d->num_sub].flac = 1;
@@ -1030,8 +1023,7 @@ int demux_ogg_open(demuxer_t* demuxer) {
sh_v->bih->biSizeImage=(sh_v->bih->biBitCount>>3)*sh_v->bih->biWidth*sh_v->bih->biHeight;
ogg_d->subs[ogg_d->num_sub].samplerate = sh_v->fps;
- if (identify)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_VIDEO_ID=%d\n", n_video);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VIDEO_ID=%d\n", n_video);
ogg_d->subs[ogg_d->num_sub].id = n_video;
n_video++;
mp_msg(MSGT_DEMUX,MSGL_INFO,"[Ogg] stream %d: video (FOURCC %c%c%c%c), -vid %d\n",
@@ -1055,8 +1047,7 @@ int demux_ogg_open(demuxer_t* demuxer) {
memcpy(((char *)sh_a->wf)+sizeof(WAVEFORMATEX),pack.packet+142,extra_size);
ogg_d->subs[ogg_d->num_sub].samplerate = sh_a->samplerate; // * sh_a->channels;
- if (identify)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_AUDIO_ID=%d\n", n_audio);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_AUDIO_ID=%d\n", n_audio);
ogg_d->subs[ogg_d->num_sub].id = n_audio;
n_audio++;
mp_msg(MSGT_DEMUX,MSGL_INFO,"[Ogg] stream %d: audio (format 0x%04x), -aid %d\n",ogg_d->num_sub,sh_a->format,n_audio-1);
@@ -1086,8 +1077,7 @@ int demux_ogg_open(demuxer_t* demuxer) {
sh_v->bih->biSizeImage=(sh_v->bih->biBitCount>>3)*sh_v->bih->biWidth*sh_v->bih->biHeight;
ogg_d->subs[ogg_d->num_sub].samplerate= sh_v->fps;
- if (identify)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_VIDEO_ID=%d\n", n_video);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VIDEO_ID=%d\n", n_video);
ogg_d->subs[ogg_d->num_sub].id = n_video;
n_video++;
mp_msg(MSGT_DEMUX,MSGL_INFO,"[Ogg] stream %d: video (FOURCC %c%c%c%c), -vid %d\n",
@@ -1126,8 +1116,7 @@ int demux_ogg_open(demuxer_t* demuxer) {
memcpy(((char *)sh_a->wf)+sizeof(WAVEFORMATEX),((char *)(st+1))+extra_offset,extra_size);
ogg_d->subs[ogg_d->num_sub].samplerate = sh_a->samplerate; // * sh_a->channels;
- if (identify)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_AUDIO_ID=%d\n", n_audio);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_AUDIO_ID=%d\n", n_audio);
ogg_d->subs[ogg_d->num_sub].id = n_audio;
n_audio++;
mp_msg(MSGT_DEMUX,MSGL_INFO,"[Ogg] stream %d: audio (format 0x%04x), -aid %d\n",ogg_d->num_sub,sh_a->format,n_audio-1);
@@ -1138,8 +1127,7 @@ int demux_ogg_open(demuxer_t* demuxer) {
mp_msg(MSGT_DEMUX, MSGL_INFO, "[Ogg] stream %d: subtitles (SRT-like text subtitles), -sid %d\n", ogg_d->num_sub, ogg_d->n_text);
ogg_d->subs[ogg_d->num_sub].samplerate= get_uint64(&st->time_unit)/10;
ogg_d->subs[ogg_d->num_sub].text = 1;
- if (identify)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_SUBTITLE_ID=%d\n", ogg_d->n_text);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_SUBTITLE_ID=%d\n", ogg_d->n_text);
ogg_d->subs[ogg_d->num_sub].id = ogg_d->n_text;
if (demuxer->sub->id == ogg_d->n_text)
text_id = ogg_d->num_sub;
diff --git a/libmpdemux/demux_ts.c b/libmpdemux/demux_ts.c
index aeffd8ccd4..1af25ace84 100644
--- a/libmpdemux/demux_ts.c
+++ b/libmpdemux/demux_ts.c
@@ -594,20 +594,16 @@ static off_t ts_detect_streams(demuxer_t *demuxer, tsdemux_init_t *param)
if(is_video)
{
- if (identify)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_VIDEO_ID=%d\n", es.pid);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VIDEO_ID=%d\n", es.pid);
chosen_pid = (req_vpid == es.pid);
if((! chosen_pid) && (req_vpid > 0))
continue;
}
else if(is_audio)
{
- if (identify)
- {
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_AUDIO_ID=%d\n", es.pid);
- if (es.lang[0] > 0)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_AID_%d_LANG=%s\n", es.pid, es.lang);
- }
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_AUDIO_ID=%d\n", es.pid);
+ if (es.lang[0] > 0)
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_AID_%d_LANG=%s\n", es.pid, es.lang);
if(req_apid > 0)
{
chosen_pid = (req_apid == es.pid);
@@ -625,12 +621,9 @@ static off_t ts_detect_streams(demuxer_t *demuxer, tsdemux_init_t *param)
}
else if(is_sub)
{
- if (identify)
- {
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_SUBTITLE_ID=%d\n", es.pid);
- if (es.lang[0] > 0)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_SID_%d_LANG=%s\n", es.pid, es.lang);
- }
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_SUBTITLE_ID=%d\n", es.pid);
+ if (es.lang[0] > 0)
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_SID_%d_LANG=%s\n", es.pid, es.lang);
chosen_pid = (req_spid == es.pid);
if((! chosen_pid) && (req_spid > 0))
continue;
diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c
index 05b38e6ea0..f45d325d55 100644
--- a/libmpdemux/demuxer.c
+++ b/libmpdemux/demuxer.c
@@ -224,8 +224,8 @@ sh_audio_t* new_sh_audio(demuxer_t *demuxer,int id){
sh->samplesize=2;
sh->sample_format=AF_FORMAT_S16_NE;
sh->audio_out_minsize=8192;/* default size, maybe not enough for Win32/ACM*/
- if (identify && !demux_aid_vid_mismatch)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_AUDIO_ID=%d\n", id);
+ if (!demux_aid_vid_mismatch)
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_AUDIO_ID=%d\n", id);
}
return demuxer->a_streams[id];
}
@@ -249,8 +249,8 @@ sh_video_t* new_sh_video(demuxer_t *demuxer,int id){
mp_msg(MSGT_DEMUXER,MSGL_V,MSGTR_FoundVideoStream,id);
demuxer->v_streams[id]=malloc(sizeof(sh_video_t));
memset(demuxer->v_streams[id],0,sizeof(sh_video_t));
- if (identify && !demux_aid_vid_mismatch)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_VIDEO_ID=%d\n", id);
+ if (!demux_aid_vid_mismatch)
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VIDEO_ID=%d\n", id);
}
return demuxer->v_streams[id];
}
@@ -552,8 +552,7 @@ void demuxer_help(void)
mp_msg(MSGT_DEMUXER, MSGL_INFO, "Available demuxers:\n");
mp_msg(MSGT_DEMUXER, MSGL_INFO, " demuxer: type info: (comment)\n");
- if (identify)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_DEMUXERS\n");
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_DEMUXERS\n");
for (i = 0; demuxer_list[i]; i++) {
if (demuxer_list[i]->type > DEMUXER_TYPE_MAX) // Don't display special demuxers
continue;
@@ -935,13 +934,10 @@ int demux_info_print(demuxer_t *demuxer)
for(n = 0; info[2*n] != NULL ; n++)
{
mp_msg(MSGT_DEMUX, MSGL_INFO, " %s: %s\n",info[2*n],info[2*n+1]);
- if (identify) {
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_CLIP_INFO_NAME%d=%s\n", n, info[2*n]);
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_CLIP_INFO_VALUE%d=%s\n", n, info[2*n+1]);
- }
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_CLIP_INFO_NAME%d=%s\n", n, info[2*n]);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_CLIP_INFO_VALUE%d=%s\n", n, info[2*n+1]);
}
- if (identify)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_CLIP_INFO_N=%d\n", n);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_CLIP_INFO_N=%d\n", n);
return 0;
}
diff --git a/libmpdemux/stream_dvd.c b/libmpdemux/stream_dvd.c
index aed26ba066..4d0a4cc3c2 100644
--- a/libmpdemux/stream_dvd.c
+++ b/libmpdemux/stream_dvd.c
@@ -472,7 +472,7 @@ static int mp_describe_titleset(dvd_reader_t *dvd, tt_srpt_t *tt_srpt, int vts_n
if (tt_srpt->title[title_no].title_set_nr != vts_no)
continue;
msec = mp_get_titleset_length(vts_file, tt_srpt, title_no);
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_DVD_TITLE_%d_LENGTH=%d.%03d\n", title_no + 1, msec / 1000, msec % 1000);
+ mp_msg(MSGT_IDENTIFY, MSGL_V, "ID_DVD_TITLE_%d_LENGTH=%d.%03d\n", title_no + 1, msec / 1000, msec % 1000);
}
ifoClose(vts_file);
return 1;
@@ -569,17 +569,20 @@ static int open_s(stream_t *stream,int mode, void* opts, int* file_format) {
return STREAM_UNSUPORTED;
}
tt_srpt = vmg_file->tt_srpt;
- if (identify)
+ if (mp_msg_test(MSGT_IDENTIFY, MSGL_INFO))
{
- unsigned char discid [16]; ///< disk ID, a 128 bit MD5 sum
- int vts_no; ///< video title set number
int title_no; ///< title number
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_DVD_TITLES=%d\n", tt_srpt->nr_of_srpts);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_DVD_TITLES=%d\n", tt_srpt->nr_of_srpts);
for (title_no = 0; title_no < tt_srpt->nr_of_srpts; title_no++)
{
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_DVD_TITLE_%d_CHAPTERS=%d\n", title_no + 1, tt_srpt->title[title_no].nr_of_ptts);
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_DVD_TITLE_%d_ANGLES=%d\n", title_no + 1, tt_srpt->title[title_no].nr_of_angles);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_DVD_TITLE_%d_CHAPTERS=%d\n", title_no + 1, tt_srpt->title[title_no].nr_of_ptts);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_DVD_TITLE_%d_ANGLES=%d\n", title_no + 1, tt_srpt->title[title_no].nr_of_angles);
}
+ }
+ if (mp_msg_test(MSGT_IDENTIFY, MSGL_V))
+ {
+ unsigned char discid [16]; ///< disk ID, a 128 bit MD5 sum
+ int vts_no; ///< video title set number
for (vts_no = 1; vts_no <= vmg_file->vts_atrt->nr_of_vtss; vts_no++)
mp_describe_titleset(dvd, tt_srpt, vts_no);
if (DVDDiscID(dvd, discid) >= 0)
@@ -588,7 +591,7 @@ static int open_s(stream_t *stream,int mode, void* opts, int* file_format) {
char buf[33];
for (i = 0; i < 16; i ++)
sprintf(buf+2*i, "%02X", discid[i]);
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_DVD_DISC_ID=%s\n", buf);
+ mp_msg(MSGT_IDENTIFY, MSGL_V, "ID_DVD_DISC_ID=%s\n", buf);
}
}
/**
@@ -731,11 +734,9 @@ static int open_s(stream_t *stream,int mode, void* opts, int* file_format) {
tmp,
d->audio_streams[d->nr_of_channels].id
);
- if(identify) {
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_AUDIO_ID=%d\n", d->audio_streams[d->nr_of_channels].id);
- if(language && tmp[0])
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_AID_%d_LANG=%s\n", d->audio_streams[d->nr_of_channels].id, tmp);
- }
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_AUDIO_ID=%d\n", d->audio_streams[d->nr_of_channels].id);
+ if(language && tmp[0])
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_AID_%d_LANG=%s\n", d->audio_streams[d->nr_of_channels].id, tmp);
d->nr_of_channels++;
}
@@ -784,11 +785,9 @@ static int open_s(stream_t *stream,int mode, void* opts, int* file_format) {
#endif
mp_msg(MSGT_OPEN,MSGL_V,"[open] subtitle ( sid ): %d language: %s\n", d->nr_of_subtitles, tmp);
- if(identify) {
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_SUBTITLE_ID=%d\n", d->subtitles[d->nr_of_subtitles].id);
- if(language && tmp[0])
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_SID_%d_LANG=%s\n", d->nr_of_subtitles, tmp);
- }
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_SUBTITLE_ID=%d\n", d->subtitles[d->nr_of_subtitles].id);
+ if(language && tmp[0])
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_SID_%d_LANG=%s\n", d->nr_of_subtitles, tmp);
d->nr_of_subtitles++;
}
mp_msg(MSGT_OPEN,MSGL_V,"[open] number of subtitles on disk: %d\n",d->nr_of_subtitles );
diff --git a/libmpdemux/vcd_read.h b/libmpdemux/vcd_read.h
index 4a2b034219..7cd4218eff 100644
--- a/libmpdemux/vcd_read.h
+++ b/libmpdemux/vcd_read.h
@@ -65,11 +65,8 @@ mp_vcd_priv_t* vcd_read_toc(int fd){
mp_msg(MSGT_OPEN,MSGL_ERR,"read CDROM toc header: %s\n",strerror(errno));
return NULL;
}
- if (identify)
- {
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_VCD_START_TRACK=%d\n", tochdr.cdth_trk0);
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_VCD_END_TRACK=%d\n", tochdr.cdth_trk1);
- }
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VCD_START_TRACK=%d\n", tochdr.cdth_trk0);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VCD_END_TRACK=%d\n", tochdr.cdth_trk1);
for (i=tochdr.cdth_trk0 ; i<=tochdr.cdth_trk1 + 1; i++){
struct cdrom_tocentry tocentry;
@@ -93,7 +90,7 @@ mp_vcd_priv_t* vcd_read_toc(int fd){
(int)tocentry.cdte_datamode
);
- if (identify)
+ if (mp_msg_test(MSGT_IDENTIFY, MSGL_INFO))
{
if (i > tochdr.cdth_trk0)
{
@@ -110,7 +107,7 @@ mp_vcd_priv_t* vcd_read_toc(int fd){
sec += 60;
min --;
}
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_VCD_TRACK_%d_MSF=%02d:%02d:%02d\n", i - 1, min, sec, frame);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VCD_TRACK_%d_MSF=%02d:%02d:%02d\n", i - 1, min, sec, frame);
}
min = tocentry.cdte_addr.msf.minute;
sec = tocentry.cdte_addr.msf.second;
diff --git a/libmpdemux/vcd_read_darwin.h b/libmpdemux/vcd_read_darwin.h
index 59ba66854e..95b540bf48 100644
--- a/libmpdemux/vcd_read_darwin.h
+++ b/libmpdemux/vcd_read_darwin.h
@@ -124,11 +124,8 @@ mp_vcd_priv_t* vcd_read_toc(int fd)
}
//print all track info
- if (identify)
- {
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_VCD_START_TRACK=%d\n", hdr.firstTrackNumberInLastSessionLSB);
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_VCD_END_TRACK=%d\n", hdr.lastTrackNumberInLastSessionLSB);
- }
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VCD_START_TRACK=%d\n", hdr.firstTrackNumberInLastSessionLSB);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VCD_END_TRACK=%d\n", hdr.lastTrackNumberInLastSessionLSB);
for (i=hdr.firstTrackNumberInLastSessionLSB ; i<=hdr.lastTrackNumberInLastSessionLSB + 1; i++)
{
memset( &tocentry, 0, sizeof(tocentry));
@@ -157,7 +154,7 @@ mp_vcd_priv_t* vcd_read_toc(int fd)
(int)trackMSF.frame
);
- if (identify)
+ if (mp_msg_test(MSGT_IDENTIFY, MSGL_INFO))
{
if (i > hdr.firstTrackNumberInLastSessionLSB)
{
@@ -174,7 +171,7 @@ mp_vcd_priv_t* vcd_read_toc(int fd)
sec += 60;
min --;
}
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_VCD_TRACK_%d_MSF=%02d:%02d:%02d\n", i - 1, min, sec, frame);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VCD_TRACK_%d_MSF=%02d:%02d:%02d\n", i - 1, min, sec, frame);
}
min = trackMSF.minute;
sec = trackMSF.second;
diff --git a/libmpdemux/vcd_read_fbsd.h b/libmpdemux/vcd_read_fbsd.h
index f4cbf2888c..c416555137 100644
--- a/libmpdemux/vcd_read_fbsd.h
+++ b/libmpdemux/vcd_read_fbsd.h
@@ -65,11 +65,8 @@ mp_vcd_priv_t* vcd_read_toc(int fd){
mp_msg(MSGT_OPEN,MSGL_ERR,"read CDROM toc header: %s\n",strerror(errno));
return NULL;
}
- if (identify)
- {
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_VCD_START_TRACK=%d\n", tochdr.starting_track);
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_VCD_END_TRACK=%d\n", tochdr.ending_track);
- }
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VCD_START_TRACK=%d\n", tochdr.starting_track);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VCD_END_TRACK=%d\n", tochdr.ending_track);
for (i=tochdr.starting_track ; i<=tochdr.ending_track + 1; i++){
struct ioc_read_toc_single_entry tocentry;
@@ -92,7 +89,7 @@ mp_vcd_priv_t* vcd_read_toc(int fd){
(int)tocentry.entry.addr.msf.frame
);
- if (identify)
+ if (mp_msg_test(MSGT_IDENTIFY, MSGL_INFO))
{
if (i > tochdr.starting_track)
{
@@ -109,7 +106,7 @@ mp_vcd_priv_t* vcd_read_toc(int fd){
sec += 60;
min --;
}
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_VCD_TRACK_%d_MSF=%02d:%02d:%02d\n", i - 1, min, sec, frame);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VCD_TRACK_%d_MSF=%02d:%02d:%02d\n", i - 1, min, sec, frame);
}
min = tocentry.entry.addr.msf.minute;
sec = tocentry.entry.addr.msf.second;
diff --git a/libmpdemux/vcd_read_nbsd.h b/libmpdemux/vcd_read_nbsd.h
index 055b2d93a0..c45a63b7d7 100644
--- a/libmpdemux/vcd_read_nbsd.h
+++ b/libmpdemux/vcd_read_nbsd.h
@@ -89,11 +89,8 @@ vcd_read_toc(int fd)
mp_msg(MSGT_OPEN,MSGL_ERR,"read CDROM toc header: %s\n",strerror(errno));
return;
}
- if (identify)
- {
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_VCD_START_TRACK=%d\n", tochdr.starting_track);
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_VCD_END_TRACK=%d\n", tochdr.ending_track);
- }
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VCD_START_TRACK=%d\n", tochdr.starting_track);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VCD_END_TRACK=%d\n", tochdr.ending_track);
for (i = tochdr.starting_track; i <= tochdr.ending_track + 1; i++) {
struct ioc_read_toc_entry tocentry;
struct cd_toc_entry tocentry_data;
@@ -118,7 +115,7 @@ vcd_read_toc(int fd)
(int) tocentry.data->addr.msf.frame
);
- if (identify)
+ if (mp_msg_test(MSGT_IDENTIFY, MSGL_INFO))
{
if (i > tochdr.starting_track)
{
@@ -135,7 +132,7 @@ vcd_read_toc(int fd)
sec += 60;
min --;
}
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_VCD_TRACK_%d_MSF=%02d:%02d:%02d\n", i - 1, min, sec, frame);
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VCD_TRACK_%d_MSF=%02d:%02d:%02d\n", i - 1, min, sec, frame);
}
min = tocentry.data->addr.msf.minute;
sec = tocentry.data->addr.msf.second;
diff --git a/libvo/video_out.c b/libvo/video_out.c
index 1aad5fb7f8..e4fa21f5ba 100644
--- a/libvo/video_out.c
+++ b/libvo/video_out.c
@@ -263,8 +263,7 @@ vo_functions_t* video_out_drivers[] =
void list_video_out(void){
int i=0;
mp_msg(MSGT_CPLAYER, MSGL_INFO, MSGTR_AvailableVideoOutputDrivers);
- if (identify)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_VIDEO_OUTPUTS\n");
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VIDEO_OUTPUTS\n");
while (video_out_drivers[i]) {
const vo_info_t *info = video_out_drivers[i++]->info;
mp_msg(MSGT_GLOBAL, MSGL_INFO,"\t%s\t%s\n", info->short_name, info->name);
diff --git a/libvo/x11_common.c b/libvo/x11_common.c
index 1db075b366..19e9a43596 100644
--- a/libvo/x11_common.c
+++ b/libvo/x11_common.c
@@ -216,8 +216,7 @@ static int x11_errorhandler(Display * display, XErrorEvent * event)
void fstype_help(void)
{
mp_msg(MSGT_VO, MSGL_INFO, MSGTR_AvailableFsType);
- if (identify)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_FULL_SCREEN_TYPES\n");
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_FULL_SCREEN_TYPES\n");
mp_msg(MSGT_VO, MSGL_INFO, " %-15s %s\n", "none",
"don't set fullscreen window layer");
diff --git a/m_option.c b/m_option.c
index 8ff8b6ec5f..ff7c823eb7 100644
--- a/m_option.c
+++ b/m_option.c
@@ -1584,8 +1584,7 @@ static int parse_obj_settings_list(m_option_t* opt,char *name,
if(!strcmp(param,"help")) {
m_obj_list_t* ol = opt->priv;
mp_msg(MSGT_VFILTER,MSGL_INFO,"Available video filters:\n");
- if (identify)
- mp_msg(MSGT_GLOBAL, MSGL_INFO, "ID_VIDEO_FILTERS\n");
+ mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VIDEO_FILTERS\n");
for(n = 0 ; ol->list[n] ; n++)
mp_msg(MSGT_VFILTER,MSGL_INFO," %-15s: %s\n",
M_ST_MB(char*,ol->list[n],ol->name_off),
diff --git a/mencoder.c b/mencoder.c
index 58e9005cc8..c234ecb00a 100644
--- a/mencoder.c
+++ b/mencoder.c
@@ -130,7 +130,6 @@ int out_file_format=MUXER_TYPE_AVI; // default to AVI
//void resync_audio_stream(sh_audio_t *sh_audio){}
extern int verbose; // must be global!
-int identify=0;
int quiet=0;
double video_time_usage=0;
double vout_time_usage=0;
diff --git a/mp_msg.c b/mp_msg.c
index bc0d931a14..7151b6de67 100644
--- a/mp_msg.c
+++ b/mp_msg.c
@@ -44,6 +44,7 @@ void mp_msg_init(void){
if (env)
verbose = atoi(env);
for(i=0;i<MSGT_MAX;i++) mp_msg_levels[i] = -2;
+ mp_msg_levels[MSGT_IDENTIFY] = -1; // no -identify output by default
#ifdef USE_ICONV
mp_msg_charset = getenv("MPLAYER_CHARSET");
#ifdef USE_LANGINFO
diff --git a/mp_msg.h b/mp_msg.h
index 4b81e0f1c2..371a6df957 100644
--- a/mp_msg.h
+++ b/