summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--codec-cfg.c1
-rw-r--r--codec-cfg.h1
-rw-r--r--mplayer.c1
3 files changed, 3 insertions, 0 deletions
diff --git a/codec-cfg.c b/codec-cfg.c
index d63e95f63a..d5f52d0c15 100644
--- a/codec-cfg.c
+++ b/codec-cfg.c
@@ -698,6 +698,7 @@ codecs_t* find_codec(unsigned int fourcc,unsigned int *fourccmap,
if(!i) return NULL;
for (/* NOTHING */; i--; c++) {
if(start && c<=start) continue;
+ if(c->flags&CODECS_FLAG_SELECTED) continue;
for (j = 0; j < CODECS_MAX_FOURCC; j++) {
if (c->fourcc[j]==fourcc || c->driver==0) {
if (fourccmap)
diff --git a/codec-cfg.h b/codec-cfg.h
index 7381a9e501..9157900981 100644
--- a/codec-cfg.h
+++ b/codec-cfg.h
@@ -104,5 +104,6 @@ codecs_t* find_video_codec(unsigned int fourcc, unsigned int *fourccmap, codecs_
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);
+void codecs_reset_selection(int audioflag);
#endif
diff --git a/mplayer.c b/mplayer.c
index a955dd5a12..598d959e06 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -1187,6 +1187,7 @@ mp_msg(MSGT_CPLAYER,MSGL_INFO,"=================================================
// Go through the codec.conf and find the best codec...
sh_video->inited=0;
+codecs_reset_selection(0);
if(video_codec){
// forced codec by name:
mp_msg(MSGT_CPLAYER,MSGL_INFO,"Forced video codec: %s\n",video_codec);