vlc.git
5 years agoWayland/screen: remove useless callbacks
Rémi Denis-Courmont [Thu, 16 Oct 2014 17:00:52 +0000 (20:00 +0300)]
Wayland/screen: remove useless callbacks

Those two callbacks only exist in wl_output version 2. VLC uses
version 1 only so far.

5 years agovout: pass only a boolean to VOUT_DISPLAY_CHANGE_FULLSCREEN control
Rémi Denis-Courmont [Wed, 15 Oct 2014 19:31:55 +0000 (22:31 +0300)]
vout: pass only a boolean to VOUT_DISPLAY_CHANGE_FULLSCREEN control

5 years agommal: do not pretend to support fullscreen toggle
Rémi Denis-Courmont [Wed, 15 Oct 2014 19:30:54 +0000 (22:30 +0300)]
mmal: do not pretend to support fullscreen toggle

5 years agovout: ignore CHANGE_DISPLAY_SIZE failure
Rémi Denis-Courmont [Wed, 15 Oct 2014 19:14:52 +0000 (22:14 +0300)]
vout: ignore CHANGE_DISPLAY_SIZE failure

In practice, video output display plugins return an error when they do
not support arbitrary sizes. However nowadays, this control is requested
only when the video output or the video window report a change of size.
That cannot be allowed to fail: the display size is what it is
regardless of the result of the control request.

5 years agocaca: do not pretend to support resize
Rémi Denis-Courmont [Wed, 15 Oct 2014 19:13:22 +0000 (22:13 +0300)]
caca: do not pretend to support resize

5 years agoegl: add Wayland extended platform support
Rémi Denis-Courmont [Wed, 27 Aug 2014 17:11:24 +0000 (20:11 +0300)]
egl: add Wayland extended platform support

This enables OpenGL/OpenGL ES through Wayland.

5 years agogl: add resize callback
Rémi Denis-Courmont [Mon, 13 Oct 2014 20:35:35 +0000 (23:35 +0300)]
gl: add resize callback

At least the Wayland EGL backend needs to be notified of the size of
the window (which is independent of glViewport()).

This could conceivably also be implemented with a call to
glGetIntegerv(GL_VIEWPORT), but that would introduce a dependency on
the GL - which the EGL plugin has avoided so far.

5 years agoMMAL: check that the vout is not windowed
Rémi Denis-Courmont [Tue, 14 Oct 2014 19:48:03 +0000 (22:48 +0300)]
MMAL: check that the vout is not windowed

5 years agoSDL: check that the vout is not windowed
Rémi Denis-Courmont [Tue, 14 Oct 2014 19:43:23 +0000 (22:43 +0300)]
SDL: check that the vout is not windowed

If there is a window, it has to be used given the video output has non-zero
priority. Unfortunately, there are no good ways to run SDL within a window
(it can be done, but it is not thread-safe).

5 years agoiOS: check that the vout is not windowed
Rémi Denis-Courmont [Tue, 14 Oct 2014 19:43:01 +0000 (22:43 +0300)]
iOS: check that the vout is not windowed

5 years agoLinux FB: check that the vout is not windowed
Rémi Denis-Courmont [Tue, 14 Oct 2014 19:42:47 +0000 (22:42 +0300)]
Linux FB: check that the vout is not windowed

5 years agoDirectFB: check that the vout is not windowed
Rémi Denis-Courmont [Tue, 14 Oct 2014 19:42:33 +0000 (22:42 +0300)]
DirectFB: check that the vout is not windowed

5 years agocaca: check that the vout is not windowed
Rémi Denis-Courmont [Tue, 14 Oct 2014 19:42:02 +0000 (22:42 +0300)]
caca: check that the vout is not windowed

5 years agovout: remove dummy vout support (no longer used)
Rémi Denis-Courmont [Tue, 14 Oct 2014 17:54:38 +0000 (20:54 +0300)]
vout: remove dummy vout support (no longer used)

5 years agovout: privatize vout_display functions
Rémi Denis-Courmont [Tue, 14 Oct 2014 17:54:20 +0000 (20:54 +0300)]
vout: privatize vout_display functions

5 years agogl: do not specify a type for the requested window
Rémi Denis-Courmont [Mon, 13 Oct 2014 17:06:52 +0000 (20:06 +0300)]
gl: do not specify a type for the requested window

5 years agovout: remove no longer used VOUT_DISPLAY_GET_OPENGL
Rémi Denis-Courmont [Mon, 13 Oct 2014 16:41:48 +0000 (19:41 +0300)]
vout: remove no longer used VOUT_DISPLAY_GET_OPENGL

5 years agovout: remove redundant fullscreen initialization
Rémi Denis-Courmont [Mon, 13 Oct 2014 16:38:23 +0000 (19:38 +0300)]
vout: remove redundant fullscreen initialization

5 years agovout: set fullscreen mode window straight away
Rémi Denis-Courmont [Mon, 13 Oct 2014 16:37:52 +0000 (19:37 +0300)]
vout: set fullscreen mode window straight away

5 years agovsxu: use vlc_gl_surface_* helpers
Rémi Denis-Courmont [Mon, 13 Oct 2014 16:26:16 +0000 (19:26 +0300)]
vsxu: use vlc_gl_surface_* helpers

This is untested because vsxu is neither in contribs nor in my distro.

5 years agoprojectM: use vlc_gl_surface_* helpers
Rémi Denis-Courmont [Mon, 13 Oct 2014 16:14:57 +0000 (19:14 +0300)]
projectM: use vlc_gl_surface_* helpers

5 years agoprojectM: remove redundant vlc_savecancel()
Rémi Denis-Courmont [Mon, 13 Oct 2014 16:08:55 +0000 (19:08 +0300)]
projectM: remove redundant vlc_savecancel()

5 years agoglspectrum: use vlc_gl_surface_* helpers
Rémi Denis-Courmont [Sun, 12 Oct 2014 19:46:15 +0000 (22:46 +0300)]
glspectrum: use vlc_gl_surface_* helpers

5 years agovout: add helpers for OpenGL context without video output
Rémi Denis-Courmont [Sun, 12 Oct 2014 19:44:00 +0000 (22:44 +0300)]
vout: add helpers for OpenGL context without video output

5 years agovout: remove unreachable GET_OPENGL controls
Rémi Denis-Courmont [Sun, 12 Oct 2014 16:42:46 +0000 (19:42 +0300)]
vout: remove unreachable GET_OPENGL controls

This control is only useful if the video output is called "opengl".

5 years agovout: remove unimplemented GET_OPENGL controls
Rémi Denis-Courmont [Sun, 12 Oct 2014 16:39:59 +0000 (19:39 +0300)]
vout: remove unimplemented GET_OPENGL controls

5 years agovout: remove dead fullscreen code in display plugins
Rémi Denis-Courmont [Sun, 12 Oct 2014 20:50:58 +0000 (23:50 +0300)]
vout: remove dead fullscreen code in display plugins

5 years agovout: set fullscreen directly on window rather than display
Rémi Denis-Courmont [Sun, 12 Oct 2014 16:37:59 +0000 (19:37 +0300)]
vout: set fullscreen directly on window rather than display

5 years agovout: remove duplicated on-top and wallpaper variables creation
Rémi Denis-Courmont [Mon, 13 Oct 2014 15:31:29 +0000 (18:31 +0300)]
vout: remove duplicated on-top and wallpaper variables creation

5 years agovout: remove display-level window state except on Windows and OS/2
Rémi Denis-Courmont [Sun, 12 Oct 2014 20:50:21 +0000 (23:50 +0300)]
vout: remove display-level window state except on Windows and OS/2

5 years agovout: eliminate dead window state code
Rémi Denis-Courmont [Sun, 12 Oct 2014 16:15:14 +0000 (19:15 +0300)]
vout: eliminate dead window state code

5 years agovout: pass window state control directly to the window
Rémi Denis-Courmont [Sun, 12 Oct 2014 16:08:46 +0000 (19:08 +0300)]
vout: pass window state control directly to the window

5 years agovout: initialize window state (above or below) straight away
Rémi Denis-Courmont [Mon, 13 Oct 2014 15:28:17 +0000 (18:28 +0300)]
vout: initialize window state (above or below) straight away

5 years agovout: privatize vout_SetWindowState()
Rémi Denis-Courmont [Sun, 12 Oct 2014 16:06:01 +0000 (19:06 +0300)]
vout: privatize vout_SetWindowState()

5 years agoios: remove incorrect handling of window state change
Rémi Denis-Courmont [Sun, 12 Oct 2014 15:55:05 +0000 (18:55 +0300)]
ios: remove incorrect handling of window state change

The parameter is not "const vout_display_cfg_t *". This could not work.

5 years agovout: remove is_forced parameter in display size change control
Rémi Denis-Courmont [Sun, 12 Oct 2014 15:29:35 +0000 (18:29 +0300)]
vout: remove is_forced parameter in display size change control

5 years agoLinux FB: remove stub controls
Rémi Denis-Courmont [Sun, 12 Oct 2014 15:17:51 +0000 (18:17 +0300)]
Linux FB: remove stub controls

5 years agoDirectFB: remove stub controls
Rémi Denis-Courmont [Sun, 12 Oct 2014 15:16:26 +0000 (18:16 +0300)]
DirectFB: remove stub controls

5 years agocaca: remove dummy resize code
Rémi Denis-Courmont [Sun, 12 Oct 2014 15:14:56 +0000 (18:14 +0300)]
caca: remove dummy resize code

Resizing is handled via the Refresh() function - only.

5 years agovout: request resize directly from the window rather than display
Rémi Denis-Courmont [Sun, 12 Oct 2014 15:03:27 +0000 (18:03 +0300)]
vout: request resize directly from the window rather than display

5 years agoXCB: remove display-level close event
Rémi Denis-Courmont [Sun, 12 Oct 2014 13:25:02 +0000 (16:25 +0300)]
XCB: remove display-level close event

5 years agoXCB/window: implement close event
Rémi Denis-Courmont [Sun, 12 Oct 2014 13:24:54 +0000 (16:24 +0300)]
XCB/window: implement close event

5 years agowindow: dispatch the close event to the vout thread
Rémi Denis-Courmont [Sun, 12 Oct 2014 13:23:17 +0000 (16:23 +0300)]
window: dispatch the close event to the vout thread

5 years agowindow: define close event
Rémi Denis-Courmont [Sun, 12 Oct 2014 13:17:49 +0000 (16:17 +0300)]
window: define close event

5 years agoWayland: remove display-level resize events
Rémi Denis-Courmont [Sun, 12 Oct 2014 12:45:20 +0000 (15:45 +0300)]
Wayland: remove display-level resize events

5 years agoXCB: remove display-level resize events
Rémi Denis-Courmont [Sun, 12 Oct 2014 11:30:25 +0000 (14:30 +0300)]
XCB: remove display-level resize events

5 years agoQt: emit video window resize events
Rémi Denis-Courmont [Sun, 12 Oct 2014 13:05:04 +0000 (16:05 +0300)]
Qt: emit video window resize events

5 years agoWayland/shell: emit window size events
Rémi Denis-Courmont [Sun, 12 Oct 2014 12:42:36 +0000 (15:42 +0300)]
Wayland/shell: emit window size events

5 years agoXCB/window: catch resize events
Rémi Denis-Courmont [Sun, 12 Oct 2014 11:17:56 +0000 (14:17 +0300)]
XCB/window: catch resize events

5 years agovout: dispatch window events to the display events handler
Rémi Denis-Courmont [Sun, 12 Oct 2014 09:38:30 +0000 (12:38 +0300)]
vout: dispatch window events to the display events handler

5 years agovout: remove no longer used display size event parameter
Rémi Denis-Courmont [Sun, 12 Oct 2014 10:04:21 +0000 (13:04 +0300)]
vout: remove no longer used display size event parameter

5 years agovout: save previous display size regardless of the fullscreen flag
Rémi Denis-Courmont [Sun, 12 Oct 2014 09:53:46 +0000 (12:53 +0300)]
vout: save previous display size regardless of the fullscreen flag

This is simpler and is also more robust. The display no longer needs to
know whether it is fullscreen or not when reporting the size.

This should fix bugs whereby leaving fullscreen forces the window to be
maximized. On the other hand, it will fail if the windowing system
automatically resize a fullscreen window (due to changing view port).

5 years agovout: add window owner structure and resize event
Rémi Denis-Courmont [Sun, 12 Oct 2014 08:12:40 +0000 (11:12 +0300)]
vout: add window owner structure and resize event

5 years agoyuv: remove stub controls
Rémi Denis-Courmont [Sat, 11 Oct 2014 19:28:32 +0000 (22:28 +0300)]
yuv: remove stub controls

5 years agovmem: remove stub controls
Rémi Denis-Courmont [Sat, 11 Oct 2014 19:28:22 +0000 (22:28 +0300)]
vmem: remove stub controls

5 years agoDeckLink: remove stub controls
Rémi Denis-Courmont [Sat, 11 Oct 2014 19:28:05 +0000 (22:28 +0300)]
DeckLink: remove stub controls

5 years agovout: create the window just once at startup
Rémi Denis-Courmont [Sat, 11 Oct 2014 17:16:51 +0000 (20:16 +0300)]
vout: create the window just once at startup

This enables recycling the window when multiple window types are
involved. and avoids visual glitches.

5 years agovout: remove a tautology and simplify
Rémi Denis-Courmont [Sat, 11 Oct 2014 16:54:20 +0000 (19:54 +0300)]
vout: remove a tautology and simplify

5 years agoyuv: destroy the vout window if any
Rémi Denis-Courmont [Sat, 11 Oct 2014 15:02:03 +0000 (18:02 +0300)]
yuv: destroy the vout window if any

5 years agovmem: destroy the vout window if any
Rémi Denis-Courmont [Sat, 11 Oct 2014 15:01:39 +0000 (18:01 +0300)]
vmem: destroy the vout window if any

5 years agovdummy: destroy the vout window if any
Rémi Denis-Courmont [Sat, 11 Oct 2014 15:01:26 +0000 (18:01 +0300)]
vdummy: destroy the vout window if any

5 years agoDirect3D: destroy the window if any when in desktop wall paper mode
Rémi Denis-Courmont [Sat, 11 Oct 2014 17:38:48 +0000 (20:38 +0300)]
Direct3D: destroy the window if any when in desktop wall paper mode

5 years agodecklink: destroy the vout window if any
Rémi Denis-Courmont [Sat, 11 Oct 2014 15:01:09 +0000 (18:01 +0300)]
decklink: destroy the vout window if any

5 years agoandroid: check that the vout is not windowed
Rémi Denis-Courmont [Sat, 11 Oct 2014 15:00:31 +0000 (18:00 +0300)]
android: check that the vout is not windowed

5 years agovout: add vout_display_IsWindowed() helper
Rémi Denis-Courmont [Tue, 14 Oct 2014 19:29:56 +0000 (22:29 +0300)]
vout: add vout_display_IsWindowed() helper

5 years agovout: remove unused and incomplete support for multiple windows
Rémi Denis-Courmont [Sat, 11 Oct 2014 14:45:19 +0000 (17:45 +0300)]
vout: remove unused and incomplete support for multiple windows

5 years agovout: simplify window allocation following splitter separation
Rémi Denis-Courmont [Sat, 11 Oct 2014 14:40:16 +0000 (17:40 +0300)]
vout: simplify window allocation following splitter separation

5 years agovout: inline vout_NewDisplayWindow into SplitterNewWindow and simplify
Rémi Denis-Courmont [Sat, 11 Oct 2014 14:23:47 +0000 (17:23 +0300)]
vout: inline vout_NewDisplayWindow into SplitterNewWindow and simplify

5 years agovout: remove unused window position hint
Rémi Denis-Courmont [Thu, 9 Oct 2014 19:38:35 +0000 (22:38 +0300)]
vout: remove unused window position hint

5 years agomsw: small code factor
Rémi Denis-Courmont [Thu, 9 Oct 2014 19:54:39 +0000 (22:54 +0300)]
msw: small code factor

5 years agomsw: remove nul constant
Rémi Denis-Courmont [Thu, 9 Oct 2014 19:52:44 +0000 (22:52 +0300)]
msw: remove nul constant

5 years agomsw: cosmetic
Rémi Denis-Courmont [Thu, 9 Oct 2014 19:52:34 +0000 (22:52 +0300)]
msw: cosmetic

5 years agovout: remove unused x/y settings in window configuration
Rémi Denis-Courmont [Thu, 9 Oct 2014 19:41:55 +0000 (22:41 +0300)]
vout: remove unused x/y settings in window configuration

5 years agoXCB/window: pass zero for window coordinates
Rémi Denis-Courmont [Thu, 9 Oct 2014 19:37:54 +0000 (22:37 +0300)]
XCB/window: pass zero for window coordinates

All window manager override the parameters anyway. This never worked.

5 years agomsw: shrink events data structure
Rémi Denis-Courmont [Thu, 9 Oct 2014 19:33:34 +0000 (22:33 +0300)]
msw: shrink events data structure

5 years agoqt4: remove unused x, y parameters for video widget request
Rémi Denis-Courmont [Thu, 9 Oct 2014 19:21:08 +0000 (22:21 +0300)]
qt4: remove unused x, y parameters for video widget request

5 years agovout: remove no-op
Rémi Denis-Courmont [Thu, 9 Oct 2014 19:14:36 +0000 (22:14 +0300)]
vout: remove no-op

5 years agovout: remove useless video-{x,y} variables
Rémi Denis-Courmont [Thu, 9 Oct 2014 19:08:45 +0000 (22:08 +0300)]
vout: remove useless video-{x,y} variables

5 years agovout: remove unused parameters in vout_*DisplayWindow()
Rémi Denis-Courmont [Thu, 9 Oct 2014 18:38:57 +0000 (21:38 +0300)]
vout: remove unused parameters in vout_*DisplayWindow()

5 years agodrawable: automatically select the plugin if --drawable-hwnd is passed
Rémi Denis-Courmont [Thu, 9 Oct 2014 16:42:24 +0000 (19:42 +0300)]
drawable: automatically select the plugin if --drawable-hwnd is passed

(same priority as XCB embedded window)

5 years agowindow: merge all capabilities as one
Rémi Denis-Courmont [Thu, 9 Oct 2014 16:38:41 +0000 (19:38 +0300)]
window: merge all capabilities as one

This is so that a window of "any" type can be requested rather than
only a window of a specific type.

5 years agowindow: check and set window type in all plugins
Rémi Denis-Courmont [Thu, 9 Oct 2014 16:34:14 +0000 (19:34 +0300)]
window: check and set window type in all plugins

5 years agowindow: remove useless initializers
Rémi Denis-Courmont [Thu, 9 Oct 2014 16:25:03 +0000 (19:25 +0300)]
window: remove useless initializers

5 years agoavcodec: fix double free on error
Rémi Denis-Courmont [Thu, 16 Oct 2014 17:20:12 +0000 (20:20 +0300)]
avcodec: fix double free on error

5 years agoAnt: replace with a better mirror
Jean-Baptiste Kempf [Thu, 16 Oct 2014 15:28:56 +0000 (17:28 +0200)]
Ant: replace with a better mirror

5 years agoContribs: update gpg-error to 1.16
Jean-Baptiste Kempf [Wed, 15 Oct 2014 10:09:36 +0000 (12:09 +0200)]
Contribs: update gpg-error to 1.16

Close #12400

5 years agommal/vout: Drop DISPLAY_FILLED handler
Julian Scheel [Wed, 15 Oct 2014 08:23:15 +0000 (10:23 +0200)]
mmal/vout: Drop DISPLAY_FILLED handler

This handler was a no-op and does not make sense in a fullscreen only
renderer, so drop the handler.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
5 years agommal/vout: Fix abuse of vd->fmt
Julian Scheel [Wed, 15 Oct 2014 08:23:14 +0000 (10:23 +0200)]
mmal/vout: Fix abuse of vd->fmt

The fmt in vout_display_t is not allowed to be written to after opening the
plugin without invalidating all the pictures. Instead of doing invalid writes
to vd->fmt, just make use of vd->source and event arguments directly which
shall hold correct values.
As framerate changes are not announced by the core we need to add a local
storage for comparion now as vd->fmt must not be used for it.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
5 years agommal/vout: Support native interlaced modes
Julian Scheel [Wed, 15 Oct 2014 08:05:30 +0000 (10:05 +0200)]
mmal/vout: Support native interlaced modes

Add a new flag, which can be used to let mmal select ahdmi mode which matches
the video size and interlacing type. Using this with a proper screen one can
playback for example 1080i content using the screens deinterlacing filters.
The videocore is configured to scan out picture on odd/even field only
according to the top_field_first mode of the video in case of interlaced
video. For progressive video a progressive mode is selected.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
5 years agommal/vout: Optimise struct packing
Julian Scheel [Wed, 15 Oct 2014 08:05:29 +0000 (10:05 +0200)]
mmal/vout: Optimise struct packing

Sort vout_sys_t struct members by size to optimize packing.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
5 years agoextras/tools: check for ant when bootstrapping
Sean McGovern [Tue, 14 Oct 2014 20:03:38 +0000 (20:03 +0000)]
extras/tools: check for ant when bootstrapping

This was accidentally left out of b3050f68b407fe150fa3944ccee62293efba6407.

Signed-off-by: Tristan Matthews <tmatth@videolan.org>
5 years agodemux: mp4: add missing samsung atoms
Francois Cartegnie [Tue, 14 Oct 2014 17:28:24 +0000 (19:28 +0200)]
demux: mp4: add missing samsung atoms

5 years agodemux: libmp4: add missing subtitles mp4s atom rule
Francois Cartegnie [Tue, 14 Oct 2014 17:27:55 +0000 (19:27 +0200)]
demux: libmp4: add missing subtitles mp4s atom rule

5 years agodemux: mp4: fix meta root node lookup
Francois Cartegnie [Tue, 14 Oct 2014 17:09:21 +0000 (19:09 +0200)]
demux: mp4: fix meta root node lookup

5 years agodemux: libmp4: add generic string reading function
Francois Cartegnie [Tue, 14 Oct 2014 16:24:31 +0000 (18:24 +0200)]
demux: libmp4: add generic string reading function

5 years agovsxu: fix mutex leaks
Rémi Denis-Courmont [Mon, 13 Oct 2014 16:27:46 +0000 (19:27 +0300)]
vsxu: fix mutex leaks

5 years agoprojectM: fix mutex leak
Rémi Denis-Courmont [Mon, 13 Oct 2014 16:04:16 +0000 (19:04 +0300)]
projectM: fix mutex leak

5 years agoCosmetic fix
Rémi Denis-Courmont [Mon, 13 Oct 2014 18:05:13 +0000 (21:05 +0300)]
Cosmetic fix

5 years agomediacodec: exception in getCapabilitiesForType is not critical.
Thomas Guillem [Tue, 14 Oct 2014 09:35:57 +0000 (11:35 +0200)]
mediacodec: exception in getCapabilitiesForType is not critical.

fix mediacodec with android-L on Nexus 7v2.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
5 years agomediacodec: fix jni leak
Thomas Guillem [Tue, 14 Oct 2014 09:35:56 +0000 (11:35 +0200)]
mediacodec: fix jni leak

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>