genode/libports/src/app/qt5/qt_avplay
Norman Feske f82e1a7092 nitpicker: Late allocation of virtual framebuffer
This patch changes the interface of Nitpicker to support dynamically
dimensioned virtual frame buffers. This solves two problems:

First, it enables a client to create a connection to nitpicker without
donating much session quota in advance. The old interface required each
screen-size-dependent client to donate as much memory as needed to
allocate a screen-sized virtual framebuffer. For clients that are
interested int the screen size but cover just a small portion of the
screen (e.g., a banner, a menu, an applet that sits in the screen
corner), this overprovisioning is painful. The new interface allows such
clients to upgrade the session quota for an existing session as needed.

Second, because each nitpicker session used to have a virtual frame
buffer with a fixed size over the lifetime of the session, a client that
wanted to implement a variable-sized window had to either vastly
overprovide resources (by opening a session as large as the screen just
in order to be prepared for the worst case of a maximized window), or it
had to replace the session by a new one (thereby discarding the stacking
order of the old views) each time the window changes its dimensions. The
new interface accommodates such clients much better.
2013-10-22 08:00:16 +02:00
..
avplay_policy.h libports: add Qt5 2013-08-13 17:27:40 +02:00
control_bar.cpp libports: add Qt5 2013-08-13 17:27:40 +02:00
control_bar.h libports: add Qt5 2013-08-13 17:27:40 +02:00
filter_framebuffer_policy.h libports: add Qt5 2013-08-13 17:27:40 +02:00
framebuffer_root.h libports: add Qt5 2013-08-13 17:27:40 +02:00
framebuffer_session_component.cc nitpicker: Late allocation of virtual framebuffer 2013-10-22 08:00:16 +02:00
framebuffer_session_component.h libports: add Qt5 2013-08-13 17:27:40 +02:00
input_service.cpp libports: add Qt5 2013-08-13 17:27:40 +02:00
input_service.h libports: add Qt5 2013-08-13 17:27:40 +02:00
main_window.cpp os: Move Genode::Config into 'config' library 2013-09-23 14:25:58 +02:00
main_window.h libports: add Qt5 2013-08-13 17:27:40 +02:00
main.cpp libports: add Qt5 2013-08-13 17:27:40 +02:00
qt_avplay.pro libports: add Qt5 2013-08-13 17:27:40 +02:00
README libports: add Qt5 2013-08-13 17:27:40 +02:00
style.qrc libports: add Qt5 2013-08-13 17:27:40 +02:00
style.qss libports: add Qt5 2013-08-13 17:27:40 +02:00
target.mk libports: add Qt5 2013-08-13 17:27:40 +02:00

This directory contains a simple Qt-based media player which is actually a
graphical user interface for the SDL-based 'avplay' media player from 'libav'.
It starts 'avplay' as a child and shows its graphical output in a
'QNitpickerViewWidget'. The widgets for controlling the player state send the
according keyboard and mouse input events to 'avplay'.

The 'qt_avplay' player supports the following configuration options:

:'<mediafile name="..."/>:'
  name of the media file to play

:'<framebuffer_filter name="..." ram_quota="..."/>':

  This node contains the name of a framebuffer filter service to filter the
  video output. It may appear multiple times. If specified more than once, it
  is possible to build a post-processing pipeline for the video display where
  each processing stage is executed by a separate program.