[mythtv-commits] Ticket #10878: [PATCH] Fix PiP playback with Xv
MythTV
noreply at mythtv.org
Wed Jul 9 00:49:49 UTC 2014
#10878: [PATCH] Fix PiP playback with Xv
----------------------------------------------+----------------------------
Reporter: Lawrence Rust <lvr@…> | Owner: danielk
Type: Patch - Bug Fix | Status: closed
Priority: minor | Milestone: unknown
Component: MythTV - Video Playback | Version: Master
Severity: medium | Head
Keywords: PiP 'picture in picture' flicker | Resolution: fixed
| Ticket locked: 0
----------------------------------------------+----------------------------
Changes (by Lawrence Rust <lvr@…>):
* resolution: Fixed => fixed
Comment:
In [changeset:"4d7b305afc071addb06b566ac1d9fbadd431c741/mythtv"]:
{{{
#!CommitTicketReference repository="mythtv"
revision="4d7b305afc071addb06b566ac1d9fbadd431c741"
Player: Don't call DoneDisplayingFrame for PiP until next frame is ready
When displaying 'pictute in picture' (PiP), VideoOutput::ShowPIP
composites the PiP windows onto the main video frame. To do so, it uses
the player's GetCurrentFrame method to obtain the most recently displayed
PiP frame. However, MythPlayer::DisplayNormalFrames immediately releases
the last frame displayed back to the decoding queue. Consequently when
GetCurrentFrame calls GetLastShownFrame to obtain that frame it may have
been
overwritten by the decoder thread.
This patch defers calling DoneDisplayingFrame if the player is a PiP
player so that future calls to GetLastShownFrame return an intact frame.
Fixes #10878
Signed-off-by: Lawrence Rust <lvr at softsystem.co.uk>
Signed-off-by: Jean-Yves Avenard <jyavenard at mythtv.org>
(cherry picked from commit 49df62f1a76f0e617208e261a09f5f8a634b3ce9)
Conflicts:
mythtv/libs/libmythtv/mythplayer.cpp
}}}
--
Ticket URL: <https://code.mythtv.org/trac/ticket/10878#comment:4>
MythTV <http://www.mythtv.org>
MythTV Media Center
More information about the mythtv-commits
mailing list