[mythtv] Picture in Picture broken

Mark Kendall mark.kendall at gmail.com
Mon Mar 9 10:16:03 UTC 2020


On Sun, 8 Mar 2020 at 16:28, Klaas de Waal <klaas.de.waal at gmail.com> wrote:
> About who is going to fix this, I cannot even get my head around the Live TV code so I am not the one to fix the PiP.
> I think it that missing the PiP is not a show stopper for v31 as it also does not really work in v30 as reported in the forum.
> However, it is a cool feature and it would be great if it worked again.
> With my thinking not being limited by knowledge, this is how I imagined that it should work.
> - main window video playback is leading for timing and frame rates, deinterlacing etc
> - PiP stream renders into memory only. If this cannot be done with hardware, due to hardware being in use for the main window, then this is software-only.
> - synchronized with main window refresh the current pip picture is copied into the main window

This is essentially how it should be working - though hardware
decoding in secondary players is disabled, as it is just too
unpredictable.

> If you mix 50Hz and 60Hz streams then the PiP will be not a smooth as the main window. This is for me a corner case and I think the PiP timing should be ignored.

Well this used to work. The old A/V sync code used the refresh rate of
the display - and in secondary players would effectively either decide
that it was too early for a new frame or drop frames as necessary (I
think). With the new code, the secondary players effectively follow
the main player.

That said, I've fixed the deadlock when swapping PiPs (had only been
there 3 years:) ).

There are still a few issues (other than the framerate). The second
player is not recreated when swapping PiPs when the pip has focus -
but is fine if the main player has focus. Picture By Picture is fairly
broken - looks to be mainly a positioning issue, both players are
running but showing fullscreen.

> Again not limited by knowledge, I do see some similarity between the OSD and the PiP. The OSD is painted on top of the main window so maybe this can also be done with the PiP.

The PiP is drawn just like the OSD. Essentially the rendering is
video, PiPs, visualisation and then OSD.

> If this is being rewritten it might also be a good idea to cater for audio-only, i.e. DVB radio broadcast, which has also been broken for years.

That should be working in master/v31 - various fixes went into the
render branch before the merge.

Regards
Mark


More information about the mythtv-dev mailing list