changeset 7248:cd12b5ad8f66

-vfm should override status/priority
author arpi
date Mon, 02 Sep 2002 22:19:44 +0000
parents 95740a8fc77f
children 06a8e6a01180
files mplayer.c
diffstat 1 files changed, 9 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/mplayer.c	Mon Sep 02 20:10:10 2002 +0000
+++ b/mplayer.c	Mon Sep 02 22:19:44 2002 +0000
@@ -1238,7 +1238,7 @@
       break;
     }
     if(audio_codec && strcmp(sh_audio->codec->name,audio_codec)) continue;
-    else if(audio_fm && strcmp(sh_audio->codec->drv,audio_fm)) continue;
+    if(audio_fm && strcmp(sh_audio->codec->drv,audio_fm)) continue;
     mp_msg(MSGT_CPLAYER,MSGL_INFO,"%s audio codec: [%s] afm:%s (%s)\n",
 	audio_codec?mp_gettext("Forcing"):mp_gettext("Detected"),sh_audio->codec->name,sh_audio->codec->drv,sh_audio->codec->info);
     break;
@@ -1295,13 +1295,16 @@
     init_video(sh_video,video_codec,NULL,-1);
 } else {
     int status;
-    // try in stability order: UNTESTED, WORKING, BUGGY, BROKEN
-    if(video_fm) mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_TryForceVideoFmtStr,video_fm);
-    for(status=CODECS_STATUS__MAX;status>=CODECS_STATUS__MIN;--status){
-	if(video_fm) // try first the preferred codec family:
+    // try in stability order: UNTESTED, WORKING, BUGGY. never try CRASHING.
+    if(video_fm){
+	// try first the preferred codec family:
+	mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_TryForceVideoFmtStr,video_fm);
+	for(status=CODECS_STATUS__MAX;status>=CODECS_STATUS__MIN;--status)
 	    if(init_video(sh_video,NULL,video_fm,status)) break;
-	if(init_video(sh_video,NULL,NULL,status)) break;
     }
+    if(!sh_video->inited)
+	for(status=CODECS_STATUS__MAX;status>=CODECS_STATUS__MIN;--status)
+	    if(init_video(sh_video,NULL,NULL,status)) break;
 }
 if(!sh_video->inited){
     mp_msg(MSGT_CPLAYER,MSGL_ERR,MSGTR_CantFindVideoCodec,sh_video->format);