mpv/player
wm4 fb855b8659 client API: expose OpenGL renderer
This adds API to libmpv that lets host applications use the mpv opengl
renderer. This is a more flexible (and possibly more portable) option to
foreign window embedding (via --wid).

This assumes that methods like context sharing and multithreaded OpenGL
rendering are infeasible, and that a way is needed to integrate it with
an application that uses a single thread to render everything.

Add an example that does this with QtQuick/qml. The example is
relatively lazy, but still shows how relatively simple the integration
is. The FBO indirection could probably be avoided, but would require
more work (and would probably lead to worse QtQuick integration, because
it would have to ignore transformations like rotation).

Because this makes mpv directly use the host application's OpenGL
context, there is no platform specific code involved in mpv, except
for hw decoding interop.

main.qml is derived from some Qt example.

The following things are still missing:
- a way to do better video timing
- expose GL renderer options, allow changing them at runtime
- support for color equalizer controls
- support for screenshots
2014-12-09 17:59:04 +01:00
..
lua osc: improve slimbox layout and minor code cleanups 2014-12-05 19:37:31 +01:00
timeline player: always use demux_chapter 2014-11-02 17:29:41 +01:00
audio.c audio: alternative fix for previous commit 2014-11-27 18:52:22 +01:00
client.c client API: expose OpenGL renderer 2014-12-09 17:59:04 +01:00
client.h client API: expose OpenGL renderer 2014-12-09 17:59:04 +01:00
command.c player: make chapter seek to end jump to last frame with --keep-open 2014-12-08 17:27:07 +01:00
command.h command: add window-minimized property (X11 only) 2014-11-02 20:55:07 +01:00
configfiles.c player: restore ab-loop settings with playback resume 2014-12-09 08:32:01 +01:00
core.h client API: expose OpenGL renderer 2014-12-09 17:59:04 +01:00
discnav.c osc, dvd, bd: fix mouse state when changing menu modes 2014-12-05 16:04:04 +01:00
loadfile.c options: add a 'once' idle mode 2014-12-07 16:22:38 +01:00
lua.c lua: fix broken error message 2014-12-02 20:36:55 +01:00
main.c client API: allow multiple mpv instances with terminal=yes 2014-12-02 20:36:55 +01:00
main_fn.c
misc.c player: don't display zero duration for files with unknown duration 2014-10-29 21:54:59 +01:00
osd.c command: improve A-B loop behavior 2014-11-18 20:28:54 +01:00
playloop.c player: make chapter seek to end jump to last frame with --keep-open 2014-12-08 17:27:07 +01:00
screenshot.c Move compat/ and bstr/ directory contents somewhere else 2014-08-29 12:31:52 +02:00
screenshot.h
scripting.c player: integrate ytdl_hook.lua 2014-11-19 18:59:38 +01:00
sub.c build: fix --disable-libass 2014-12-08 18:17:20 +01:00
video.c client API: expose OpenGL renderer 2014-12-09 17:59:04 +01:00