Ticket #3125: disable_dvd_xvmc_if_codec_change_fails.diff
File disable_dvd_xvmc_if_codec_change_fails.diff, 1.7 KB (added by , 17 years ago) |
---|
-
avformatdecoder.cpp
1353 1353 /* force_xv */ force_xv); 1354 1354 bool vcd, idct, mc; 1355 1355 enc->codec_id = myth2av_codecid(mcid, vcd, idct, mc); 1356 if (ringBuffer->isDVD() && (mcid != video_codec_id)) 1357 dvd_video_codec_changed = true; 1356 if (ringBuffer->isDVD() && (mcid == video_codec_id) && 1357 dvd_video_codec_changed) 1358 { 1359 dvd_video_codec_changed = false; 1360 dvd_xvmc_enabled = false; 1361 } 1358 1362 video_codec_id = mcid; 1359 1363 if (!force_xv && kCodec_NORMAL_END < mcid && kCodec_STD_XVMC_END > mcid) 1360 1364 { … … 2816 2820 int video_width = GetNVP()->GetVideoWidth(); 2817 2821 if (dvd_xvmc_enabled && GetNVP() && GetNVP()->getVideoOutput()) 2818 2822 { 2819 bool dvd_xvmc_active = GetNVP()->getVideoOutput()->hasMCAcceleration(); 2823 bool dvd_xvmc_active = false; 2824 if (video_codec_id > kCodec_NORMAL_END && 2825 video_codec_id < kCodec_STD_XVMC_END) 2826 { 2827 dvd_xvmc_active = true; 2828 } 2829 2820 2830 bool indvdmenu = ringBuffer->InDVDMenuOrStillFrame(); 2821 2831 if ((indvdmenu && dvd_xvmc_active) || 2822 2832 ((!indvdmenu && !dvd_xvmc_active)))