[mythtv-commits] mythtv/master commit: fa9f32bd2 by Mark Kendall (mark-kendall)

MythTV noreply at mythtv.org
Thu Apr 7 00:08:31 UTC 2011


      Author:  Mark Kendall <mkendall at mythtv.org>
 Change Date:  2011-04-06T17:08:12-07:00
   Push Date:  2011/04/06 17:08:26 -0700
  Repository:  mythtv
      Branch:  master
New Revision:  fa9f32bd29bfb26445ea88ba35a3042e4d43955a
   Changeset:  https://github.com/MythTV/mythtv/commit/fa9f32bd2

Log:

Fix, refactor, cleanup and simplify taking screenshots.

- remove the ScreenShot jumppoint (it's an action not a jumppoint)
- 'promote' the TV Playback SCREENSHOT action to a Global action.
- consolidate the screenshot grabbing into several simple, reusable
methods in MythMainWindow. Grabbing always uses png and default quality
settings and only the size of the resulting screenshot can be set. The
ScreenShotPath setting is always used.
- convert both the network control code and frontend http interface to
use events to signal taking of a screenshot (using a customised
MythEventMessage with any size settings embedded in the extradata).
- intercept screenshot events in MythMainWindow and MythScreenType for
the main UI and in TV for media playback.
- Only VDPAU video playback doesn't grab the screen as expected (it
grabs the chromakey layer i.e. black) so I've added some custom code for
VDPAU.
- remove the existing TV screenshot code. It was hanging the frontend
and didn't actually grab what was on screen.

All told, the user should get a consistent screengrab 'experience' and
it should show what is on screen, whether in the main UI or watching
video (including OSD, visualisations etc. Only tested on linux but works
with XVideo, OpenGL and VDPAU).

N.B. There is a small change to the Network Control API as setting the
screenshot path is no longer supported.

Modified:

   mythtv/libs/libmythtv/mythplayer.cpp
   mythtv/libs/libmythtv/mythplayer.h
   mythtv/libs/libmythtv/tv_actions.h
   mythtv/libs/libmythtv/tv_play.cpp
   mythtv/libs/libmythtv/tv_play.h
   mythtv/libs/libmythtv/videoout_vdpau.cpp
   mythtv/libs/libmythtv/videoout_vdpau.h
   mythtv/libs/libmythtv/videooutbase.h
   mythtv/libs/libmythui/mythmainwindow.cpp
   mythtv/libs/libmythui/mythmainwindow.h
   mythtv/libs/libmythui/mythrender_vdpau.cpp
   mythtv/libs/libmythui/mythrender_vdpau.h
   mythtv/libs/libmythui/mythscreentype.cpp
   mythtv/libs/libmythui/mythuiactions.h
   mythtv/programs/mythfrontend/main.cpp
   mythtv/programs/mythfrontend/mythfexml.cpp
   mythtv/programs/mythfrontend/networkcontrol.cpp



More information about the mythtv-commits mailing list