Marvin Scholz [Fri, 9 Sep 2016 13:58:23 +0000 (15:58 +0200)]
macosx: Fix more weak NSWindow references
Weak NSWindow references are not allowed on 10.7,
and will lead to runtime crashes.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Jean-Baptiste Kempf [Wed, 21 Dec 2016 19:23:36 +0000 (20:23 +0100)]
macOS vout: do not warn about modern selectors
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Jean-Baptiste Kempf [Wed, 21 Dec 2016 19:23:28 +0000 (20:23 +0100)]
macOS vout: correctly redefine missing SDK declarations
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Jean-Baptiste Kempf [Wed, 21 Dec 2016 19:23:24 +0000 (20:23 +0100)]
NSSpeech: do not silently call objectAtIndexedSubscript and objectForKeyedSubscript
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Jean-Baptiste Kempf [Wed, 21 Dec 2016 19:23:21 +0000 (20:23 +0100)]
Bonjour: do not silently call objectAtIndexedSubscript and objectForKeyedSubscript
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Jean-Baptiste Kempf [Wed, 21 Dec 2016 19:23:15 +0000 (20:23 +0100)]
os_notification has an OS target of 10.8
All the NSUser* classes are 10.8; but the rest of the code, using Growl,
should still work in 10.7. The runtime checks seems correct for 10.7.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Jean-Baptiste Kempf [Wed, 21 Dec 2016 19:23:05 +0000 (20:23 +0100)]
Keychain: do not silently call objectAtIndexedSubscript
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Jean-Baptiste Kempf [Wed, 21 Dec 2016 19:22:54 +0000 (20:22 +0100)]
Keychain: check osx version at runtime to avoid impossible properties
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Jean-Baptiste Kempf [Wed, 21 Dec 2016 19:22:47 +0000 (20:22 +0100)]
Videotoolbox: fix compilation for 10.8
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Jean-Baptiste Kempf [Wed, 21 Dec 2016 19:22:41 +0000 (20:22 +0100)]
Videotoolbox has an OS target of 10.8
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Jean-Baptiste Kempf [Wed, 21 Dec 2016 19:22:19 +0000 (20:22 +0100)]
AVcapture: do not silently call objectAtIndexedSubscript
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Thomas Guillem [Wed, 21 Dec 2016 17:07:27 +0000 (18:07 +0100)]
contribs: mpg123: update to 1.23.8
Marvin Scholz [Wed, 21 Dec 2016 16:02:55 +0000 (17:02 +0100)]
macosx: Remove unused interface builder plugin
Thomas Guillem [Wed, 21 Dec 2016 15:20:17 +0000 (16:20 +0100)]
demux/mp4: fix null-deref when FromCharset() fails
FromCharset() can return NULL in case of error.
This fixes a regression introduced by
810539f.
Francois Cartegnie [Wed, 21 Dec 2016 12:58:12 +0000 (13:58 +0100)]
demux: ts: fix regression with incorrect pes headers
Just discard dts/pts, not payload.
refs sample OC3.demo.ts #16679
Thomas Guillem [Wed, 21 Dec 2016 11:54:36 +0000 (12:54 +0100)]
vout/android: change AWindowHandler initialisation
Rename setCallback to register. This new method will return a special flag that
indicate if the video layout could be changed on the java side. If it's not the
case, the "android-display" module will be disabled and only the gles2 module
will work.
Thomas Guillem [Wed, 21 Dec 2016 11:53:48 +0000 (12:53 +0100)]
vout/android: rename AWindowHandler_setWindowLayout
Thomas Guillem [Wed, 21 Dec 2016 11:50:58 +0000 (12:50 +0100)]
vout/android: display: can't reset pictures
Thomas Guillem [Wed, 21 Dec 2016 11:50:28 +0000 (12:50 +0100)]
vout/android: display: fix ClearSurface for SW rendering
Jean-Baptiste Kempf [Wed, 21 Dec 2016 13:13:49 +0000 (14:13 +0100)]
Contribs: VPX, pass the Extra_Cflags too for macOS
Jean-Baptiste Kempf [Wed, 21 Dec 2016 13:05:26 +0000 (14:05 +0100)]
Contribs: use extra_cflags for Cmake too
Jean-Baptiste Kempf [Wed, 21 Dec 2016 12:59:08 +0000 (13:59 +0100)]
VPX: remove duplicate flags
KO Myung-Hun [Tue, 20 Dec 2016 12:34:39 +0000 (21:34 +0900)]
qt: fix compilation on Qt4
QMap::last() was introduced in Qt 5.2
Signed-off-by: Francois Cartegnie <fcvlcdev@free.fr>
Jean-Baptiste Kempf [Wed, 21 Dec 2016 00:21:54 +0000 (01:21 +0100)]
Fortunes about kind-napping and jails...
Francois Cartegnie [Tue, 20 Dec 2016 20:06:29 +0000 (21:06 +0100)]
Qt: epg: remove time based highlighting
Francois Cartegnie [Tue, 20 Dec 2016 19:41:51 +0000 (20:41 +0100)]
input: item: notify empty removed items/ empty epg
Francois Cartegnie [Tue, 20 Dec 2016 17:41:04 +0000 (18:41 +0100)]
input: item: replace previous epg table
As tables are split per program and id,
we no longer need to merge into a single one.
Fixes bug where an removed event could not be
removed in the merged table when not overlapped
by another event.
Francois Cartegnie [Tue, 20 Dec 2016 13:01:37 +0000 (14:01 +0100)]
epg: differentiate schedule eit from running info
Francois Cartegnie [Tue, 20 Dec 2016 13:00:58 +0000 (14:00 +0100)]
es_out: update input only from current program
Francois Cartegnie [Tue, 20 Dec 2016 13:17:25 +0000 (14:17 +0100)]
demux: ts: missing check
Francois Cartegnie [Tue, 20 Dec 2016 11:06:25 +0000 (12:06 +0100)]
input: item: undef EPG_DEBUG
Francois Cartegnie [Mon, 19 Dec 2016 20:15:25 +0000 (21:15 +0100)]
demux: ts_psip: send single eit event updates
Francois Cartegnie [Mon, 19 Dec 2016 13:24:15 +0000 (14:24 +0100)]
es_out: add ES_OUT_SET_GROUP_EPG_EVENT
We need finer updates for EPG events than full EPG tables
updates. Will allow dropping epg merging on SET_GROUP_EPG
as the epg tables are segmented and only use it for full
updates / version change.
Francois Cartegnie [Mon, 19 Dec 2016 13:35:37 +0000 (14:35 +0100)]
input: add input_item_SetEpgEvent
Francois Cartegnie [Mon, 19 Dec 2016 13:37:06 +0000 (14:37 +0100)]
input: item: EPG lookups/updates needs program+id
Francois Cartegnie [Tue, 20 Dec 2016 17:18:39 +0000 (18:18 +0100)]
demux: ts: use EIT first running event
Two simultaneously running events can happen
sample ref
FranceTV_HD_AIT_ChevauchementRunningEIT_20161220.ts
Francois Cartegnie [Tue, 20 Dec 2016 13:56:37 +0000 (14:56 +0100)]
demux: ts: fix incorrect table type ref in psip
Francois Cartegnie [Tue, 20 Dec 2016 16:51:56 +0000 (17:51 +0100)]
input: es_out: fix old title on program change
Steve Lhomme [Fri, 16 Dec 2016 12:31:31 +0000 (13:31 +0100)]
configure: detect luac with the exe file extension
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Mathieu Velten [Mon, 28 Nov 2016 21:24:11 +0000 (22:24 +0100)]
vaapi: add support for VP8/9 decoding
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Thomas Guillem [Tue, 20 Dec 2016 18:31:05 +0000 (19:31 +0100)]
lib/media_player: update set_android_context() comment
Thomas Guillem [Tue, 20 Dec 2016 17:01:11 +0000 (18:01 +0100)]
vout/android: display: clear surface with OpenGL
Clearing a surface with OpenGL ES2 doesn't mess up the surface state (and this
doesn't break a future usage of MediaCodec on the same surface).
Thomas Guillem [Tue, 20 Dec 2016 15:10:24 +0000 (16:10 +0100)]
vout/android: display: reset window layout to 0 on close
This fixes a wrong video layout when switching from android-display to gles2
using the same window.
Thomas Guillem [Tue, 20 Dec 2016 16:58:56 +0000 (17:58 +0100)]
vout/android: utils: remove clear surface support
Clearing surfaces with a software renderer creates too many issues like making
the surface unusable by MediaCodec.
Thomas Guillem [Tue, 20 Dec 2016 10:27:32 +0000 (11:27 +0100)]
codec/mediacodec: remove useless p_sys->api malloc
Thomas Guillem [Tue, 20 Dec 2016 09:55:56 +0000 (10:55 +0100)]
Revert "codec/mediacodec: update the surface when a new vout is requested"
This was not fully tested, and it doesn't work on number of devices.
This partially reverts commit
3aff6aace986c1d9d94c919c2dc4b17cdcb78332.
Thomas Guillem [Tue, 20 Dec 2016 09:52:43 +0000 (10:52 +0100)]
vout/android: fix libandroid.so not loaded
Thomas Guillem [Tue, 20 Dec 2016 09:51:26 +0000 (10:51 +0100)]
vout/opengl: add more logs
Rémi Denis-Courmont [Mon, 19 Dec 2016 23:01:56 +0000 (01:01 +0200)]
vout: do not handle window state change control...
...on unaffected platforms. This control is for backward compatibility
with Windows and OS/2 code legacy. It is never triggered on other
platforms (where window state is a window rather than display control).
Rémi Denis-Courmont [Mon, 19 Dec 2016 22:58:36 +0000 (00:58 +0200)]
vout: do not send dummy windowed event
If the vout implements neither fullscreen nor resize, this event has no
effects.
Rémi Denis-Courmont [Mon, 19 Dec 2016 22:57:02 +0000 (00:57 +0200)]
vout: do not send dummy windowed event before resize
Sending a non-fullscreen/windowed event to the core has to effects:
- get a fullscreen change event back, which is ignored,
- get a resize request, which is clobbered by the following resize.
Rémi Denis-Courmont [Mon, 19 Dec 2016 22:49:33 +0000 (00:49 +0200)]
vout: do not send bogus fullscreen event
This had no effects: the core would send a fullscreen event back to the
display plugin, which would then ignore it.
Rémi Denis-Courmont [Mon, 19 Dec 2016 23:06:46 +0000 (01:06 +0200)]
vout_SetDisplayFullscreen: remove unused function
Rémi Denis-Courmont [Mon, 19 Dec 2016 22:46:20 +0000 (00:46 +0200)]
aa: remove write-only structure
Rémi Denis-Courmont [Mon, 19 Dec 2016 22:16:17 +0000 (00:16 +0200)]
configure: unsilence the generic OpenGL header test
Francois Cartegnie [Mon, 19 Dec 2016 16:19:51 +0000 (17:19 +0100)]
Qt: EPGItem: do not call update
Francois Cartegnie [Mon, 19 Dec 2016 12:59:54 +0000 (13:59 +0100)]
demux: ts: add comments for EIT
Rémi Denis-Courmont [Mon, 19 Dec 2016 19:58:32 +0000 (21:58 +0200)]
caopengllayer: missing lock/unlock (fixes #17801)
Thomas Guillem [Mon, 19 Dec 2016 18:20:34 +0000 (19:20 +0100)]
Revert "vlc_opengl: refactor vlc_gl_t creation"
And use vlc_object_create() instead of the newly reverted vlc_gl_Create().
This reverts commit
79b2187631f2786f46a8225b538f3ec7ae7d1c9e.
refs #17795
Thomas Guillem [Mon, 19 Dec 2016 15:57:26 +0000 (16:57 +0100)]
vout/android: use gles2 if MediaCodec can't handle the rotation
MediaCodec can't handle rotation before Android 21 and can't handle flipped and
transposed orientations.
Thomas Guillem [Mon, 19 Dec 2016 15:54:27 +0000 (16:54 +0100)]
vout/opengl: android: fix not normal orientation
This was working before since vd->fmt.orientation was ignored for
MediaCodec.
Thomas Guillem [Mon, 19 Dec 2016 15:47:29 +0000 (16:47 +0100)]
mediacodec: update fmt_out if codec support rotation
If MediaCodec can handle the rotation, we don't need to ask the vout to
rotate the video again.
Thomas Guillem [Mon, 19 Dec 2016 14:37:32 +0000 (15:37 +0100)]
vout/android: change android-display priority
This allow us to use a different vout to render VLC_CODEC_ANDROID_OPAQUE in
regards of the video_format_t:
- opaque android-display: priority of 280: do direct rendering on a
SurfaceView, will fail if there is a projection to handle (360 videos).
- gles2: priority of 265: do direct rendering on a SurfaceTexture created from
an OpenGL Texture, can handle projection.
- android-display: priority of 260: will fail for VLC_CODEC_ANDROID_OPAQUE.
The gles2 module has a little overhead for VLC_CODEC_ANDROID_OPAQUE. It does
one JNI->Java/synchronize/wait per frame. That's why it's not used by default
(but I wasn't able to see any significant differences on the devices I tested).
Thomas Guillem [Mon, 19 Dec 2016 14:36:29 +0000 (15:36 +0100)]
Revert "vout: gl: don't handle Android opaque fmt"
This reverts commit
44e70121f9ba81fe7b3ae74fd96b798439f3b3e6.
Thomas Guillem [Mon, 19 Dec 2016 13:48:35 +0000 (14:48 +0100)]
vout/opengl: fix null-deref
This could happen when vout_display_opengl_Delete() was called from
vout_display_opengl_New().
Filip Roséen [Mon, 19 Dec 2016 02:20:28 +0000 (03:20 +0100)]
vout/win32: fix vlc_gl_t creation
These changes makes us of vlc_gl_Create to create an object of type
vlc_gl_t, effectively making sure that it is a valid VLC_OBJECT
(instead of only looking like such).
refs #17795
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Thomas Guillem [Mon, 19 Dec 2016 13:59:17 +0000 (14:59 +0100)]
vout/caopengllayer.m: fix vlc_gl_t creation
These changes makes use of vlc_gl_Create to create an object of type vlc_gl_t,
effectively making sure that it is a valid VLC_OBJECT (instead of only looking
like such).
Filip Roséen [Mon, 19 Dec 2016 02:16:11 +0000 (03:16 +0100)]
vout/macosx: fix vlc_gl_t creation
These changes makes use of vlc_gl_Create to create an object of type vlc_gl_t,
effectively making sure that it is a valid VLC_OBJECT (instead of only looking
like such).
refs #17795
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Filip Roséen [Mon, 19 Dec 2016 02:07:43 +0000 (03:07 +0100)]
vlc_opengl: refactor vlc_gl_t creation
Given that there are places in the codebase that just require a
created object of type vlc_gl_t ("gl"), these changes split the object
creation into two functions:
- vlc_gl_Create: a simple wrapper around vlc_custom_create
- vlc_gl_ModuleCreate: creates a vlc_gl_t with an associated
module/surface.
refs #17795
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Thomas Guillem [Thu, 15 Dec 2016 10:35:48 +0000 (11:35 +0100)]
vout/opengl: add converter_android
This converter handle the chroma ANDROID_OPAQUE. It creates a Java
SurfaceTexture from an OpenGL texture name. MediaCodec will be able to render
directly to the ANativeWindow* that is created from this SurfaceTexture.
Thomas Guillem [Thu, 15 Dec 2016 12:02:10 +0000 (13:02 +0100)]
vout/android: vout_display_sys_t only needed for sw buffers
Thomas Guillem [Thu, 15 Dec 2016 11:59:28 +0000 (12:59 +0100)]
vout/android: simplify locking
Always use the lock boolean from picsys.
Thomas Guillem [Thu, 8 Dec 2016 10:03:47 +0000 (11:03 +0100)]
vout/android: utils: move AndroidOpaquePicture_DetachVout
Thomas Guillem [Thu, 15 Dec 2016 11:35:27 +0000 (12:35 +0100)]
vout/android: utils: use an anonymous union in picture_sys_t
Thomas Guillem [Wed, 7 Dec 2016 15:26:55 +0000 (16:26 +0100)]
vout/android: utils: add SurfaceTexture jni helpers
SurfaceTexture_waitAndUpdateTexImage() implementation could be done in JNI
because there is no proper way to implement a listener in JNI (that is needed
to be notified when a new frame is available).
Thomas Guillem [Thu, 15 Dec 2016 10:30:15 +0000 (11:30 +0100)]
vout/android: utils: fix wrong cast
Adrien Maglo [Mon, 19 Dec 2016 09:54:48 +0000 (10:54 +0100)]
vout/opengl: fix flipped and transposed orientation
Now that GL_CULL_FACE is enabled (for 360 videos), it's not possible to flip or
transpose the video by touching the vertex positions. The orientation matrix
must now be applied on the textures coordinates.
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Thomas Guillem [Fri, 16 Dec 2016 16:05:51 +0000 (17:05 +0100)]
vout/opengl: hide orientationTransformMatrix()
Thomas Guillem [Thu, 15 Dec 2016 10:50:25 +0000 (11:50 +0100)]
vout/opengl: move RGBA/YUV/XYZ12 converters
Thomas Guillem [Wed, 14 Dec 2016 15:48:56 +0000 (16:48 +0100)]
vout/opengl: add a new API to convert textures
Add a new struct: opengl_tex_converter_t. This struct can be used to convert
textures in regards of a video_format_t. The main objective is to allow
developers to add support for HW specific chromas in separate files.
Thomas Guillem [Mon, 12 Dec 2016 09:56:33 +0000 (10:56 +0100)]
vout/opengl: expose shaders commands in an internal header
Thomas Guillem [Mon, 19 Dec 2016 09:46:44 +0000 (10:46 +0100)]
vout/opengl: factor proc address initialisation
Thomas Guillem [Wed, 14 Dec 2016 15:21:30 +0000 (16:21 +0100)]
vout/opengl: move chroma and tex size initialisation
Thomas Guillem [Wed, 14 Dec 2016 16:03:12 +0000 (17:03 +0100)]
vout/opengl: pool: gen textures before creating the pool
Thomas Guillem [Tue, 13 Dec 2016 18:01:44 +0000 (19:01 +0100)]
vout/opengl: rework Upload function
Upload is renamed to UploadPlane.
Add UpdatePic, that upload every planes of a picture_t.
Thomas Guillem [Wed, 14 Dec 2016 11:15:03 +0000 (12:15 +0100)]
vout/opengl: factor textures generation
Thomas Guillem [Wed, 14 Dec 2016 11:14:40 +0000 (12:14 +0100)]
vout/opengl: assume that multitexture is true
It's safe to call glActiveTexture(GL_TEXTURE0 + 0), even if there is only one
texture.
Thomas Guillem [Wed, 14 Dec 2016 12:34:36 +0000 (13:34 +0100)]
vout/opengl: remove unused code
There is no GL_TEXTURE_RECTANGLE_EXT textures anymore.
Thomas Guillem [Thu, 8 Dec 2016 15:07:09 +0000 (16:07 +0100)]
vout/opengl: remove unused vgl->local_count
This is not used anymore.
Thomas Guillem [Thu, 8 Dec 2016 15:03:49 +0000 (16:03 +0100)]
vout/opengl: build and use only needed shaders/programs
The ugly FIXME will be gone with next commits.
Rémi Denis-Courmont [Sun, 18 Dec 2016 23:29:17 +0000 (01:29 +0200)]
opengl: remove legacy lock/unlock
We don´t need two pair of names for the same pairs of callbacks.
Rémi Denis-Courmont [Sun, 18 Dec 2016 23:26:54 +0000 (01:26 +0200)]
opengl: remove legacy stubs
The caller, normally opengl/display.c or formerly gl.c, is responsible
for setting and clearing the current context before entering the
generic OpenGL rendering code.
Rémi Denis-Courmont [Sun, 18 Dec 2016 23:14:33 +0000 (01:14 +0200)]
vsxu: remove no-op
Rémi Denis-Courmont [Sun, 18 Dec 2016 23:14:20 +0000 (01:14 +0200)]
projectm: remove no-op
Rémi Denis-Courmont [Sun, 18 Dec 2016 23:14:08 +0000 (01:14 +0200)]
glspectrum: remove no-op
Konstantin Pavlov [Sun, 18 Dec 2016 21:57:40 +0000 (00:57 +0300)]
snap: don't install libvlccore to the staged environment.
Rémi Denis-Courmont [Sun, 18 Dec 2016 21:10:51 +0000 (23:10 +0200)]
opengl: remove repetitive indirection
Filip Roséen [Wed, 14 Dec 2016 14:51:06 +0000 (15:51 +0100)]
demux/xiph_metadata: fix overflow/leaks in vorbis_ParseComment
The previous implementation would suffer from a read overflow due to a
mismatch between the length of psz_comment and comment_size (because
of the usage of strndup).
These changes make sure that:
- psz_comment always refer to a buffer of length comment_size
- we do not leak memory on "continues" when encountering unexpected
data
fixes #17776
fixes #17779
Signed-off-by: Francois Cartegnie <fcvlcdev@free.fr>
Francois Cartegnie [Fri, 16 Dec 2016 14:52:03 +0000 (15:52 +0100)]
codec: scte27: fix reading YCrCb into YCbCr (fix #17787)
Francois Cartegnie [Fri, 16 Dec 2016 13:38:35 +0000 (14:38 +0100)]
Qt: epg: show date on non current day