# HG changeset patch # User arpi # Date 1001595575 0 # Node ID 72f0648df475cbb0a471cbbcfb68188b02cc8090 # Parent b190d3e9427cd720d664fa4ae4892a54a68a7f09 -ac help / -vc help diff -r b190d3e9427c -r 72f0648df475 codec-cfg.c --- a/codec-cfg.c Thu Sep 27 12:56:01 2001 +0000 +++ b/codec-cfg.c Thu Sep 27 12:59:35 2001 +0000 @@ -644,6 +644,30 @@ return NULL; } +void list_codecs(int audioflag){ + int i, j; + codecs_t *c; + + if (audioflag) { + i = nr_acodecs; + c = audio_codecs; + } else { + i = nr_vcodecs; + c = video_codecs; + } + if(!i) return NULL; + for (/* NOTHING */; i--; c++) { + if(c->dll) + printf("%-10s %2d %s [%s]\n",c->name,c->driver,c->info,c->dll); + else + printf("%-10s %2d %s\n",c->name,c->driver,c->info); + + } + +} + + + #ifdef CODECS2HTML void wrapline(FILE *f2,char *s){ diff -r b190d3e9427c -r 72f0648df475 codec-cfg.h --- a/codec-cfg.h Thu Sep 27 12:56:01 2001 +0000 +++ b/codec-cfg.h Thu Sep 27 12:59:35 2001 +0000 @@ -71,5 +71,6 @@ codecs_t* find_video_codec(unsigned int fourcc, unsigned int *fourccmap, codecs_t *start); codecs_t* find_audio_codec(unsigned int fourcc, unsigned int *fourccmap, codecs_t *start); codecs_t* find_codec(unsigned int fourcc,unsigned int *fourccmap,codecs_t *start,int audioflag); +void list_codecs(int audioflag); #endif diff -r b190d3e9427c -r 72f0648df475 mplayer.c --- a/mplayer.c Thu Sep 27 12:56:01 2001 +0000 +++ b/mplayer.c Thu Sep 27 12:59:35 2001 +0000 @@ -430,11 +430,7 @@ } } -//ifndef HAVE_GUI - int main(int argc,char* argv[], char *envp[]){ -//else -// int mplayer(int argc,char* argv[], char *envp[]){ -//endif +int main(int argc,char* argv[], char *envp[]){ #ifdef USE_SUB static subtitle* subtitles=NULL; @@ -530,6 +526,28 @@ exit(0); } +// check codec.conf +if(!parse_codec_cfg(get_path("codecs.conf"))){ + if(!parse_codec_cfg(DATADIR"/codecs.conf")){ + mp_msg(MSGT_CPLAYER,MSGL_HINT,MSGTR_CopyCodecsConf); + exit(1); + } +} + + if(audio_codec && strcmp(audio_codec,"help")==0){ + printf("Available audio codecs:\n"); + list_codecs(1); + printf("\n"); + exit(0); + } + if(video_codec && strcmp(video_codec,"help")==0){ + printf("Available video codecs:\n"); + list_codecs(0); + printf("\n"); + exit(0); + } + + if(!num_filenames && !vcd_track && !dvd_title){ if(!use_gui){ // no file/vcd/dvd -> show HELP: @@ -550,13 +568,6 @@ //------ load global data first ------ -// check codec.conf -if(!parse_codec_cfg(get_path("codecs.conf"))){ - if(!parse_codec_cfg(DATADIR"/codecs.conf")){ - mp_msg(MSGT_CPLAYER,MSGL_HINT,MSGTR_CopyCodecsConf); - exit(1); - } -} // check font #ifdef USE_OSD