[mythtv-commits] [MythTV/mythtv] 03938c: libmythtv: Remove current Picture-in-Picture imple...
Mark Kendall
noreply at github.com
Tue Sep 29 10:35:28 UTC 2020
Branch: refs/heads/master
Home: https://github.com/MythTV/mythtv
Commit: 03938c57de2cc9f0cdbd9e8e18126105df94091b
https://github.com/MythTV/mythtv/commit/03938c57de2cc9f0cdbd9e8e18126105df94091b
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/mythplayer.cpp
M mythtv/libs/libmythtv/mythplayer.h
M mythtv/libs/libmythtv/mythvideobounds.cpp
M mythtv/libs/libmythtv/mythvideobounds.h
M mythtv/libs/libmythtv/mythvideogpu.cpp
M mythtv/libs/libmythtv/mythvideogpu.h
M mythtv/libs/libmythtv/mythvideoout.cpp
M mythtv/libs/libmythtv/mythvideoout.h
M mythtv/libs/libmythtv/mythvideooutgpu.cpp
M mythtv/libs/libmythtv/mythvideooutgpu.h
M mythtv/libs/libmythtv/mythvideooutnull.cpp
M mythtv/libs/libmythtv/mythvideooutnull.h
M mythtv/libs/libmythtv/opengl/mythopenglvideo.cpp
M mythtv/libs/libmythtv/opengl/mythopenglvideo.h
M mythtv/libs/libmythtv/opengl/mythvideooutopengl.cpp
M mythtv/libs/libmythtv/opengl/mythvideooutopengl.h
M mythtv/libs/libmythtv/playercontext.cpp
M mythtv/libs/libmythtv/playercontext.h
M mythtv/libs/libmythtv/tv_play.cpp
M mythtv/libs/libmythtv/tv_play.h
M mythtv/libs/libmythtv/videoouttypes.h
M mythtv/libs/libmythtv/vulkan/mythvideooutputvulkan.cpp
M mythtv/libs/libmythtv/vulkan/mythvideooutputvulkan.h
M mythtv/libs/libmythtv/vulkan/mythvideovulkan.cpp
M mythtv/libs/libmythtv/vulkan/mythvideovulkan.h
M mythtv/programs/mythavtest/main.cpp
M mythtv/programs/mythfrontend/globalsettings.cpp
Log Message:
-----------
libmythtv: Remove current Picture-in-Picture implementation
- NB the intention is to add back Picture-in-Picture support when the
folowing refactor has been completed.
- the current PiP code adds considerable complexity to the player code -
and the design was largely driven by the historic constraint of having a
single TV context that displayed media content - with multiple players
within that context to handle additionl PiPs
- going forward we will have multiple TV contexts - each rendering
separately - with some synchronisation/coordination.
- this is the first of what will be many commits to refactor how the
player works and integrates with the main UI.
- this initial commit simply removes all direct PiP/PBP code.
- further changes are required to remove the support for multiple player
contexts in the TV class - which is no longer required
- subsequent commits will (hopefully) begin to remove the PlayerContext
code - which currently adds significant confusion around the player
state (this is however complicated as ever by the use of MythPlayer for
non-ui tasks e.g. transcode, commflag etc). If nothing else
PlayerContext will be greatly simplified.
Commit: a0652dbcae3ecfa2a9caf0e412b8cfa8565ff50b
https://github.com/MythTV/mythtv/commit/a0652dbcae3ecfa2a9caf0e412b8cfa8565ff50b
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tv_play.cpp
M mythtv/libs/libmythtv/tv_play.h
M mythtv/libs/libmythtv/tvbrowsehelper.cpp
Log Message:
-----------
TV: Remove support for multiple player contexts
- there are still many functions that are unnecessarily passing around
PlayerContext objects - which will be cleaned up next
Commit: 85be5f31330457173bde3f6665828c5d16de7745
https://github.com/MythTV/mythtv/commit/85be5f31330457173bde3f6665828c5d16de7745
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tv_play.cpp
M mythtv/libs/libmythtv/tv_play.h
M mythtv/libs/libmythtv/tvbrowsehelper.cpp
M mythtv/programs/mythfrontend/guidegrid.cpp
M mythtv/programs/mythfrontend/playbackbox.cpp
Log Message:
-----------
TV: Don't pass around PlayerContext objects
- we only have one now.
- still needs cleanup in various functions that use GetPlayerReadLock to
retrieve a PlayerContext
- sundry coding standards fixes
Commit: 976989051502f54abb7173f9e9127f25f8fd6c13
https://github.com/MythTV/mythtv/commit/976989051502f54abb7173f9e9127f25f8fd6c13
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tv_play.cpp
M mythtv/libs/libmythtv/tv_play.h
Log Message:
-----------
TV: Sundry minor cleanup
- mostly casts and a little coding standards
Commit: cbd6d47bff234e4a2878667c5a6ce9d6b58dc487
https://github.com/MythTV/mythtv/commit/cbd6d47bff234e4a2878667c5a6ce9d6b58dc487
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tv_play.cpp
M mythtv/libs/libmythtv/tv_play.h
Log Message:
-----------
TV: Use a lambda for handling state changes
Commit: 6f5317645c38bb4a27225bbef03a0f6657d0c895
https://github.com/MythTV/mythtv/commit/6f5317645c38bb4a27225bbef03a0f6657d0c895
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tv_play.cpp
M mythtv/libs/libmythtv/tv_play.h
Log Message:
-----------
TV: Use a lambda for jump to program action
Commit: 11b6a248256653af02b11418a43c6ab522fad509
https://github.com/MythTV/mythtv/commit/11b6a248256653af02b11418a43c6ab522fad509
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tv_play.cpp
Log Message:
-----------
TV: Add a comment on PlaybackBox functionality not working
Commit: ede27c0d4236f3fcab9e8887f61076f37e1aaa78
https://github.com/MythTV/mythtv/commit/ede27c0d4236f3fcab9e8887f61076f37e1aaa78
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tv_play.h
Log Message:
-----------
TV: No need for TVPlayWindow to be a friend class
Commit: 8ca8a214ab2cd56c0f60ad489904d5a24b6099e4
https://github.com/MythTV/mythtv/commit/8ca8a214ab2cd56c0f60ad489904d5a24b6099e4
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tvbrowsehelper.cpp
M mythtv/libs/libmythtv/tvbrowsehelper.h
Log Message:
-----------
TVBrowseHelper: Sundry minor cleanup
Commit: 40d8d9e2afbe6a0bfb4beca9a4a13bff8e50cdd6
https://github.com/MythTV/mythtv/commit/40d8d9e2afbe6a0bfb4beca9a4a13bff8e50cdd6
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tv_play.cpp
M mythtv/libs/libmythtv/tv_play.h
M mythtv/programs/mythfrontend/guidegrid.cpp
Log Message:
-----------
TV: Cleanup last of multi PlayerContext handling
- don't return a PlayerContext pointer from GetPlayerReadLock
- add a GetPlayerContext method. As noted, this should be handled with
care (lock and release, UI thread only) and may change and/or be removed
Commit: 489ea4de50afffb26b288a4b452c1a66c2aa5d3d
https://github.com/MythTV/mythtv/commit/489ea4de50afffb26b288a4b452c1a66c2aa5d3d
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tv_play.cpp
M mythtv/libs/libmythtv/tv_play.h
Log Message:
-----------
TV: Move input switching to a lambda
- as for other converted methods, this encapsulates the code and does
not require a specific timer id
Commit: 970e9ee8d54541570eb087702c958195096380bb
https://github.com/MythTV/mythtv/commit/970e9ee8d54541570eb087702c958195096380bb
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tvbrowsehelper.cpp
M mythtv/libs/libmythtv/tvbrowsehelper.h
Log Message:
-----------
TVBrowseHelper: Rename member variables in advance of refactor
Commit: 8734a5338ad710b2ad9bb3a407ecf471160c862a
https://github.com/MythTV/mythtv/commit/8734a5338ad710b2ad9bb3a407ecf471160c862a
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tv_play.cpp
M mythtv/libs/libmythtv/tvbrowsehelper.cpp
M mythtv/libs/libmythtv/tvbrowsehelper.h
Log Message:
-----------
TVBrowseHelper: Rename some methods in advance of refactor
Commit: 242b5bd5e7af562bd432e6c05307d8d2b5b39aae
https://github.com/MythTV/mythtv/commit/242b5bd5e7af562bd432e6c05307d8d2b5b39aae
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tv_play.cpp
M mythtv/libs/libmythtv/tv_play.h
M mythtv/libs/libmythtv/tvbrowsehelper.cpp
M mythtv/libs/libmythtv/tvbrowsehelper.h
Log Message:
-----------
TV: Inherit directly from TVBrowseHelper
- this is the first of a number of commits trying to improve thread
safety (and public API access) for the TV class.
Commit: f36cc77e20acbd2ba51a604366420f569ae79cbd
https://github.com/MythTV/mythtv/commit/f36cc77e20acbd2ba51a604366420f569ae79cbd
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/programs/mythfrontend/guidegrid.cpp
M mythtv/programs/mythfrontend/guidegrid.h
Log Message:
-----------
GuideGrid: Remove support for null video rendering
- this is not supported - for some time I think
Commit: a5439d6d79db15fe40eecf40d83f7baa8a61780d
https://github.com/MythTV/mythtv/commit/a5439d6d79db15fe40eecf40d83f7baa8a61780d
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tv_play.cpp
M mythtv/libs/libmythtv/tv_play.h
M mythtv/programs/mythfrontend/guidegrid.cpp
M mythtv/programs/mythfrontend/progfind.cpp
M mythtv/programs/mythfrontend/scheduleeditor.cpp
M mythtv/programs/mythfrontend/viewscheduled.cpp
Log Message:
-----------
TV: Use signals/slots for embedding functionality
- this allows us to remove 3 UI elements as friend classes of TV as they
no longer require direct access to the underlying object
- note - StopEmbedding is not yet hooked up
Commit: 64c0f687bf736ac4dee20c73a771e490729adcb1
https://github.com/MythTV/mythtv/commit/64c0f687bf736ac4dee20c73a771e490729adcb1
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/mythvideobounds.cpp
Log Message:
-----------
MythVideoBounds: Minor log typo
Commit: 6fadac125eaea04581d05d22c7487a8e60325216
https://github.com/MythTV/mythtv/commit/6fadac125eaea04581d05d22c7487a8e60325216
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tv_play.cpp
M mythtv/libs/libmythtv/tv_play.h
M mythtv/programs/mythfrontend/guidegrid.cpp
M mythtv/programs/mythfrontend/playbackbox.cpp
M mythtv/programs/mythfrontend/progfind.cpp
M mythtv/programs/mythfrontend/scheduleeditor.cpp
M mythtv/programs/mythfrontend/viewscheduled.cpp
Log Message:
-----------
TV: Use RequestStopEmbedding slot
Commit: a2492b7d5c309e914d711f7be87d20da8464b61e
https://github.com/MythTV/mythtv/commit/a2492b7d5c309e914d711f7be87d20da8464b61e
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/opengl/mythopenglvideo.cpp
Log Message:
-----------
MythOpenGLVideo: A new frame format is 'info' not 'warning'
Commit: 5ba0032b61412e0049ed3397353eaee3bbd7700b
https://github.com/MythTV/mythtv/commit/5ba0032b61412e0049ed3397353eaee3bbd7700b
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tv_play.cpp
M mythtv/libs/libmythtv/tv_play.h
M mythtv/libs/libmythtv/tvbrowsehelper.cpp
Log Message:
-----------
TV: Remove timer lock
- timers should always be created and started in the same thread
- furthermore TV should be running entirely in the main thread
- so there is no need to lock
Commit: a90e5c72b4cb8ae93fa20514b46409a42b58cd20
https://github.com/MythTV/mythtv/commit/a90e5c72b4cb8ae93fa20514b46409a42b58cd20
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tv_play.h
Log Message:
-----------
TV: Remove unused variable
Commit: e261f7296536bdc54c356cfbf2ce395639bd7dd0
https://github.com/MythTV/mythtv/commit/e261f7296536bdc54c356cfbf2ce395639bd7dd0
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tv_play.cpp
M mythtv/libs/libmythtv/tv_play.h
M mythtv/programs/mythfrontend/guidegrid.cpp
M mythtv/programs/mythfrontend/playbackbox.cpp
M mythtv/programs/mythfrontend/progfind.cpp
M mythtv/programs/mythfrontend/progfind.h
M mythtv/programs/mythfrontend/scheduleeditor.cpp
M mythtv/programs/mythfrontend/viewscheduled.cpp
Log Message:
-----------
TV: Make reference counted
- and refactor creation and static methods to use a single static
AcquireRelease method
- reference counting in the various embedding classes ensures the TV
object is not deleted whilst in use
- AcquireRelease method avoids the need for static global singletons for
both TV and its associated mutex.
Commit: 6b9f6300d5c1b943f1f0d5d10bc6bcf8dd311359
https://github.com/MythTV/mythtv/commit/6b9f6300d5c1b943f1f0d5d10bc6bcf8dd311359
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tv_play.cpp
M mythtv/libs/libmythtv/tv_play.h
Log Message:
-----------
TV: Use a static vector for sleep times
Commit: 84f95b10db45b5b2a4d4a3132662779ea81b7b8f
https://github.com/MythTV/mythtv/commit/84f95b10db45b5b2a4d4a3132662779ea81b7b8f
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/programs/mythfrontend/playbackbox.cpp
Log Message:
-----------
PlaybackBox: Fix embedded display
- this seems to be have been disfunctional for some time.
Commit: 3a3f99d7bafa9aac7316a397b888df0ea51a5da0
https://github.com/MythTV/mythtv/commit/3a3f99d7bafa9aac7316a397b888df0ea51a5da0
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tv_play.cpp
Log Message:
-----------
TV: Consistent embedding behaviour
- we have 1 UI widget that can (optionally) embed playback; GuideGrid
- we have 4 UI widgets that are available but obscure playback;
ProgFind, ScheduleEditor, ViewScheduled and PlaybackBox)
- we have 1 relevant setting ContinueEmbeddedTVPlay ('Continue playback
when embedded' in the UI)
- we have 1 relevant state - LiveTV
Currently:-
GuideGrid will always show the preview in live tv (regardless of
ContinueEmbeddedTVPlay setting) but will always hide playback for
recordings/videos etc. Playback will continue in the background
depending on ContinueEmbeddedTVPlay setting.
PlaybackBox playback will continue - depending on the setting.
ProgFind, ScheduleEditor and ViewScheduled will always pause playback
when embedded.
New behaviour:-
Allow GuideGrid preview playback for everything. Force preview only for
livetv (as before) and otherwise respect the setting.
For PlaybackBox, ProgFind, ScheduleEditor and ViewScheduled - respect
the setting in all cases (i.e. either pause or continue playing in the
background) except for live tv - where playback continues
(Alternate desc - always continue playback in livetv, otherwise respect
the setting, always show the preview in GuideGrid) (I think!)
Additional possible changes:-
- I don't see the need to disable the preview if paused
- there is no obvious need to disable preview if near the end
Commit: adec07001211ead4927efac5181624a72b1cb4a5
https://github.com/MythTV/mythtv/commit/adec07001211ead4927efac5181624a72b1cb4a5
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tv_play.cpp
M mythtv/libs/libmythtv/tv_play.h
Log Message:
-----------
TV: Remove unnecessary m_isEmbedded
Commit: 7d0100aeec72f416bb8ec603eca64c8c664cd4d6
https://github.com/MythTV/mythtv/commit/7d0100aeec72f416bb8ec603eca64c8c664cd4d6
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tv_play.cpp
M mythtv/libs/libmythtv/tv_play.h
Log Message:
-----------
TV: Remove database initialisation lock
- this may have worked asynchronously in the past, but the current
implementation initialises the settings from the db in the constructor
(InitFromDB) which always (!) preceeds the call to Init - which waits
for the db...
Commit: bda210029ed4f61141d8f740cdd90f4da97d1dce
https://github.com/MythTV/mythtv/commit/bda210029ed4f61141d8f740cdd90f4da97d1dce
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tv_play.cpp
M mythtv/libs/libmythtv/tv_play.h
Log Message:
-----------
TV: Improve atomic creation via AcquireRelease
- with the previous implementation, there was a remote possibility that
using m_referenceCount after creation (and hence outside of the lock)
would give an innacurate result.
Commit: abbc8c9f01706d554132d99b4849cb4ce4103737
https://github.com/MythTV/mythtv/commit/abbc8c9f01706d554132d99b4849cb4ce4103737
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tv_play.cpp
Log Message:
-----------
TV: Add a little doxygen
Commit: df2a85930b5ecb168b827e77a24231c9575ea482
https://github.com/MythTV/mythtv/commit/df2a85930b5ecb168b827e77a24231c9575ea482
Author: Mark Kendall <mark.kendall at gmail.com>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M mythtv/libs/libmythtv/tv_play.cpp
Log Message:
-----------
TV: Add a few TODOs
Compare: https://github.com/MythTV/mythtv/compare/ef010ecaaab3...df2a85930b5e
More information about the mythtv-commits
mailing list