Ticket #1822: fix_for_latest_problem.diff
| File fix_for_latest_problem.diff, 3.4 KB (added by , 20 years ago) |
|---|
-
libs/libmythtv/avformatdecoder.cpp
1034 1034 GetNVP()->SetVideoParams(align_width, align_height, fps, 1035 1035 keyframedist, aspect_ratio, kScan_Detect, 1036 1036 dvd_video_codec_changed); 1037 dvd_video_codec_changed = false;1038 1037 } 1039 1038 } 1040 1039 … … 1390 1389 /* force_xv */ force_xv); 1391 1390 bool vcd, idct, mc; 1392 1391 enc->codec_id = myth2av_codecid(mcid, vcd, idct, mc); 1393 if (ringBuffer->isDVD() && (mcid != video_codec_id))1394 dvd_video_codec_changed = true;1395 1392 video_codec_id = mcid; 1396 1393 if (!force_xv && kCodec_NORMAL_END < mcid && kCodec_STD_XVMC_END > mcid) 1397 1394 { … … 2848 2845 { 2849 2846 int current_width = curstream->codec->width; 2850 2847 int video_width = GetNVP()->GetVideoWidth(); 2851 bool switch_to_xv = false;2852 bool switch_to_xvmc = false;2853 2848 if (dvd_xvmc_enabled && GetNVP() && GetNVP()->getVideoOutput()) 2854 2849 { 2855 2850 bool dvd_xvmc_active = GetNVP()->getVideoOutput()->hasMCAcceleration(); 2856 2851 bool indvdmenu = ringBuffer->InDVDMenuOrStillFrame(); 2857 if (indvdmenu && dvd_xvmc_active) 2858 switch_to_xv = true; 2859 else if (!indvdmenu && !dvd_xvmc_active) 2860 switch_to_xvmc = true; 2852 if ((indvdmenu && dvd_xvmc_active) || 2853 (!(indvdmenu && dvd_xvmc_active))) 2854 { 2855 VERBOSE(VB_PLAYBACK, LOC + QString("DVD Codec Change " 2856 "indvdmenu %1 dvd_xvmc_active %2") 2857 .arg(indvdmenu).arg(dvd_xvmc_active)); 2858 dvd_video_codec_changed = true; 2859 } 2861 2860 } 2862 2861 2863 2862 if ((video_width > 0 && video_width != current_width) || 2864 switch_to_xv || switch_to_xvmc)2863 dvd_video_codec_changed) 2865 2864 { 2866 VERBOSE(VB_PLAYBACK, LOC + QString("DVD Stream/Codec Change "2867 "video_width %1 current_width %2 "2868 " switch_to_xv %3 switch_to_xvmc %4")2865 VERBOSE(VB_PLAYBACK, LOC + QString("DVD Stream/Codec Change " 2866 "video_width %1 current_width %2 " 2867 "dvd_video_codec_changed %3") 2869 2868 .arg(video_width).arg(current_width) 2870 .arg( switch_to_xv).arg(switch_to_xvmc));2869 .arg(dvd_video_codec_changed)); 2871 2870 av_free_packet(pkt); 2872 2871 CloseCodecs(); 2873 2872 ScanStreams(false); … … 2875 2874 allowedquit = true; 2876 2875 if (ringBuffer->DVD()->InStillFrame()) 2877 2876 ringBuffer->DVD()->SeekCellStart(); 2877 dvd_video_codec_changed = false; 2878 2878 continue; 2879 2879 } 2880 2880 }
