Ticket #5950: vdpau-fixes.diff
File vdpau-fixes.diff, 1.5 KB (added by , 15 years ago) |
---|
-
libs/libmythtv/videoout_xv.cpp
291 291 ResizeForVideo((uint) video_disp_dim.width(), 292 292 (uint) video_disp_dim.height()); 293 293 294 if (cid_changed && (OpenGL != VideoOutputSubType())) 294 if (XVideoVDPAU == VideoOutputSubType() || 295 OpenGL == VideoOutputSubType()) 295 296 { 296 297 myth_codec_id = av_codec_id; 298 ok = InitSetupBuffers(); 299 } 300 else if (cid_changed) 301 { 302 myth_codec_id = av_codec_id; 297 303 298 304 // ungrab port... 299 305 if (xv_port >= 0) … … 308 314 309 315 ok = InitSetupBuffers(); 310 316 } 311 else if (OpenGL != VideoOutputSubType()) 317 else 318 { 312 319 ok = CreateBuffers(VideoOutputSubType()); 313 314 if (OpenGL == VideoOutputSubType())315 {316 myth_codec_id = av_codec_id;317 ok = InitSetupBuffers();318 320 } 319 321 320 322 MoveResize(); … … 3423 3425 QRect position = GetPIPRect(db_pip_location, pipplayer); 3424 3426 3425 3427 #ifdef USING_VDPAU 3426 if (vdpau && use_vdpau_pip && 3427 VideoOutputSubType() == XVideoVDPAU) 3428 if (vdpau && VideoOutputSubType() == XVideoVDPAU) 3428 3429 { 3429 use_vdpau_pip = vdpau->ShowPiP(pipimage, position); 3430 if (use_vdpau_pip) 3431 use_vdpau_pip = vdpau->ShowPiP(pipimage, position); 3432 3430 3433 pipplayer->ReleaseCurrentFrame(pipimage); 3431 3434 return; 3432 3435 }