2 years agomacosx: Display icons depending on renderer capabilities
Marvin Scholz [Fri, 23 Feb 2018 12:17:19 +0000 (13:17 +0100)]
macosx: Display icons depending on renderer capabilities

2 years agomacosx: Remove a SDK 10.11 preprocessor check
Marvin Scholz [Fri, 23 Feb 2018 12:11:05 +0000 (13:11 +0100)]
macosx: Remove a SDK 10.11 preprocessor check

2 years agoservice_discovery/bonjour: Parse Chromecast capabilities
Marvin Scholz [Fri, 23 Feb 2018 11:59:16 +0000 (12:59 +0100)]
service_discovery/bonjour: Parse Chromecast capabilities

Add support for correctly parsing the Chromecast capability flags and
correctly set VLC_RENDERER_CAN_VIDEO/AUDIO based on those.

2 years agochromecast: show perfs dialog only one time (if accepted)
Thomas Guillem [Fri, 23 Feb 2018 10:52:43 +0000 (11:52 +0100)]
chromecast: show perfs dialog only one time (if accepted)

This fixes the dialog reappearing after a seek.

2 years agoaudiotrack: fix wrong init parameter
Thomas Guillem [Fri, 23 Feb 2018 10:35:17 +0000 (11:35 +0100)]
audiotrack: fix wrong init parameter

My bad, just changed in last minute the int to int64_t instead of using jint.

2 years agodemux:mkv: fix i_last_dts mtime_t init
Steve Lhomme [Fri, 23 Feb 2018 09:32:13 +0000 (10:32 +0100)]
demux:mkv: fix i_last_dts mtime_t init

2 years agodemux:mkv: fix the position displayed for ordered chapters
Steve Lhomme [Fri, 23 Feb 2018 08:51:51 +0000 (09:51 +0100)]
demux:mkv: fix the position displayed for ordered chapters

2 years agodemux:mkv: fix the PCR for ordered chapters
Steve Lhomme [Fri, 23 Feb 2018 08:43:45 +0000 (09:43 +0100)]
demux:mkv: fix the PCR for ordered chapters

Fixes #19101

2 years agodemux:mkv: explicitly turn chapter timestamps into mtime_t values
Steve Lhomme [Fri, 23 Feb 2018 08:30:17 +0000 (09:30 +0100)]
demux:mkv: explicitly turn chapter timestamps into mtime_t values

2 years agodemux:mkv: prevent a crash with multiple edition files
Steve Lhomme [Thu, 22 Feb 2018 16:53:00 +0000 (17:53 +0100)]
demux:mkv: prevent a crash with multiple edition files

2 years agodemux:mkv: log the tag target type even if we don't use it
Steve Lhomme [Thu, 22 Feb 2018 16:52:39 +0000 (17:52 +0100)]
demux:mkv: log the tag target type even if we don't use it

2 years agoaudiotrack: add support for audio session id
Alexandre Janniaux [Thu, 22 Feb 2018 13:42:02 +0000 (14:42 +0100)]
audiotrack: add support for audio session id

Add a module variable to store an audio session id and use it when creating new
AudioTrack. This session id is generated by AudioManager.getAudioSessionId() in
the Android-side. This allows LibVLC users to broadcast intent allowing
external application to plug on the audio output and apply effect, for instance
an external equalizer.

See also android.media.audiofx.AudioEffect.

Signed-off-by: Thomas Guillem <thomas@gllm.fr>
2 years agomicrodns: renderer: fix no-video option
Thomas Guillem [Fri, 23 Feb 2018 07:55:34 +0000 (08:55 +0100)]
microdns: renderer: fix no-video option

2 years agochromecast: clean up variables
Thomas Guillem [Fri, 23 Feb 2018 07:41:24 +0000 (08:41 +0100)]
chromecast: clean up variables

 - Hide "video" option. This option should only be set by the core (via the
   renderer item). If a user doesn't want video, he could disable the video
   track now.

 - Remove mux/mime options: this code has only been tested for the default
   mime/mux, there is no point of changing it.

 - Remove translations for privates options.

This make the chromecast advanced preferences more understandable.

2 years agomacosx: Save/share time remaining state in fullscreen controller
Marvin Scholz [Thu, 22 Feb 2018 21:41:45 +0000 (22:41 +0100)]
macosx: Save/share time remaining state in fullscreen controller

There was no identifier set for the time remaining label in the
fullscreen controller, this sets one to ensure the state is saved
correctly. Additionally this is the same identifier as the one in
the main window label, so make sure the state is shared between those.

Fix #19813

2 years agodemux: subtitle: fix <= first sub seek regression
Francois Cartegnie [Thu, 22 Feb 2018 21:13:00 +0000 (22:13 +0100)]
demux: subtitle: fix <= first sub seek regression

2 years agoconfigure: test for newlocale() separate from uselocale()
Rémi Denis-Courmont [Thu, 22 Feb 2018 19:51:05 +0000 (21:51 +0200)]
configure: test for newlocale() separate from uselocale()

As NetBSD only implements a barely sensical subset of the locale_t API.

2 years agocompat: remove shadowing variable
Rémi Denis-Courmont [Thu, 22 Feb 2018 19:50:09 +0000 (21:50 +0200)]
compat: remove shadowing variable

2 years agoconfig/file: ignore obsolete options on read
Lyndon Brown [Tue, 20 Feb 2018 05:04:33 +0000 (05:04 +0000)]
config/file: ignore obsolete options on read

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2 years agoconfig/file: reject saved unsaveables
Lyndon Brown [Tue, 20 Feb 2018 04:46:18 +0000 (04:46 +0000)]
config/file: reject saved unsaveables

Options which are unsaveable can nevertheless end up being present in the
saved settings file either from a past release where they were not
considered unsaveable, or through external modification of the file. Values
for such options should simply be rejected when reading the file.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2 years agochromecast: report cc timestamp even when paused
Thomas Guillem [Thu, 22 Feb 2018 16:50:49 +0000 (17:50 +0100)]
chromecast: report cc timestamp even when paused

2 years agochromecast: init first time/position after first demux() call
Thomas Guillem [Thu, 22 Feb 2018 16:50:25 +0000 (17:50 +0100)]
chromecast: init first time/position after first demux() call

Some demuxers give invalid results (0) just after a seek.

2 years agochromecast: reset time/position when changing es tracks
Thomas Guillem [Thu, 22 Feb 2018 15:58:06 +0000 (16:58 +0100)]
chromecast: reset time/position when changing es tracks

This fixes inconsistency of reported time when changing es tracks.

2 years agochromecast: late init of demux time/position
Thomas Guillem [Thu, 22 Feb 2018 15:55:52 +0000 (16:55 +0100)]
chromecast: late init of demux time/position

init time/position from the first demux call if they failed from Open/Seek.

2 years agochromecast: don't fallback to original pos in case of error
Thomas Guillem [Thu, 22 Feb 2018 15:54:17 +0000 (16:54 +0100)]
chromecast: don't fallback to original pos in case of error

Since the original position can be way in advance.

2 years agoRevert "input: es_out: compute position from buffering only on update"
Francois Cartegnie [Thu, 22 Feb 2018 15:17:41 +0000 (16:17 +0100)]
Revert "input: es_out: compute position from buffering only on update"

This reverts commit 5e3a04980044b94bfd5aa38390846544a43a4c21.

That does not behave well with streams not updating position... "growing"

2 years agodemux: ts: bump probing
Francois Cartegnie [Thu, 22 Feb 2018 15:09:29 +0000 (16:09 +0100)]
demux: ts: bump probing

issues with 4K

2 years agodemux: ts: don't set growing end on when not probed
Francois Cartegnie [Thu, 22 Feb 2018 15:05:45 +0000 (16:05 +0100)]
demux: ts: don't set growing end on when not probed

2 years agodemux: ts: set dolbyvision to non default
Francois Cartegnie [Thu, 22 Feb 2018 14:16:37 +0000 (15:16 +0100)]
demux: ts: set dolbyvision to non default

2 years agochromecast: fix track selection when EOF
Thomas Guillem [Thu, 22 Feb 2018 15:03:29 +0000 (16:03 +0100)]
chromecast: fix track selection when EOF

2 years agochromecast: lower vorbis encoding quality
Thomas Guillem [Thu, 22 Feb 2018 14:47:45 +0000 (15:47 +0100)]
chromecast: lower vorbis encoding quality

cf. comment

2 years agochromecast: force mp3 transcoding for the last try
Thomas Guillem [Thu, 22 Feb 2018 14:46:21 +0000 (15:46 +0100)]
chromecast: force mp3 transcoding for the last try

2 years agopackage/macosx: Update dmg background and icon positions
Marvin Scholz [Thu, 22 Feb 2018 14:04:31 +0000 (15:04 +0100)]
package/macosx: Update dmg background and icon positions

The previous background had the orange bar at the bottom, but with
some configurations of the Window it would be covered by the status
bar. Therefore move the orange bar to the top and adjust the icon
positions accordingly.

2 years agochromecast: http_url: send data per 512kB minimum
Thomas Guillem [Thu, 22 Feb 2018 08:29:40 +0000 (09:29 +0100)]
chromecast: http_url: send data per 512kB minimum

2 years agochromecast: remove error message
Thomas Guillem [Wed, 21 Feb 2018 13:11:33 +0000 (14:11 +0100)]
chromecast: remove error message

This is now likely to happen (in case of Flush).

2 years agochromecast: escape meta sent via JSON
Thomas Guillem [Wed, 21 Feb 2018 08:30:46 +0000 (09:30 +0100)]
chromecast: escape meta sent via JSON

2 years agochromecast: fix clock gap when paused
Thomas Guillem [Tue, 20 Feb 2018 16:52:13 +0000 (17:52 +0100)]
chromecast: fix clock gap when paused

This commit try to work arround the internal clock gap caused by
input_clock_ChangePause() when the input is paused since the chromecast
internal clock won't change when paused.

This is far from perfect and can fail in a number of cases.

2 years agochromecast: don't drop data when serving multiple clients
Thomas Guillem [Tue, 20 Feb 2018 16:48:15 +0000 (17:48 +0100)]
chromecast: don't drop data when serving multiple clients

When doing a lot a load requests, we can serve data to a client that will be
closed (the close request is already sent). In that case, we should also serve
data used by the old client to the new one.

2 years agochromecast: always start video with a keyframe
Thomas Guillem [Tue, 20 Feb 2018 17:13:56 +0000 (18:13 +0100)]
chromecast: always start video with a keyframe

2 years agochromecast: fix use-after-free
Thomas Guillem [Tue, 20 Feb 2018 16:41:11 +0000 (17:41 +0100)]
chromecast: fix use-after-free

Since the url can use the fifo from its callbacks.

2 years agochromecast: increase lock range
Thomas Guillem [Tue, 20 Feb 2018 17:18:37 +0000 (18:18 +0100)]
chromecast: increase lock range

This could lead to a use-after-free of the header block.

2 years agochromecast: remove unused requestPlayerSeek method
Thomas Guillem [Tue, 20 Feb 2018 16:36:42 +0000 (17:36 +0100)]
chromecast: remove unused requestPlayerSeek method

2 years agochromecast: rework sout/demux_filter behavior
Thomas Guillem [Tue, 20 Feb 2018 16:59:00 +0000 (17:59 +0100)]
chromecast: rework sout/demux_filter behavior

This commit drastically improves the buffering speed when casting to a CC
receiver. Indeed, some CC receivers need a 1minute buffer. Since the input
thread was previously paced, you could wait 59.7 sec (1min - file-caching
value) to get the playback started.

To fix this issue, the CC sout can now control the pacing
(ACCESS_OUT_CONTROLS_PACE = true). The input thread, via the cc demux-filter,
is now paced by the CC sout. The input-thread is paced in order to avoid
unresponsive controls. Indeed, we want to prevent the case when the input
thread is waiting for the sout that is waiting for the http buffer to be
emptied (via the fifo wait from input_DecoderDecode()).

Now that the CC can buffer 1 minute of data before failing, the transcode
fallback also needed to be reworked. It's now handled by the demux-filter that
will seek back (if possible) to the last position before doing the fallback.
The same goes when disabling the CC filter or when changing es tracks.

This commit also improves the CC time report by comparing the system clock with
the CC one.

This commit also reworks seeking. We need to flush the sout (and the muxer) and
request a new input. The previous method, using the seek command could not work
well with live streaming.

2 years agochromecast: demux: call init() when enabled
Thomas Guillem [Tue, 20 Feb 2018 16:10:19 +0000 (17:10 +0100)]
chromecast: demux: call init() when enabled

2 years agochromecast: demux: add init() method
Thomas Guillem [Tue, 20 Feb 2018 16:08:59 +0000 (17:08 +0100)]
chromecast: demux: add init() method

2 years agochromecast: add isStateError() method
Thomas Guillem [Tue, 20 Feb 2018 16:06:41 +0000 (17:06 +0100)]
chromecast: add isStateError() method

2 years agochromecast: remove unused method declarations
Thomas Guillem [Tue, 20 Feb 2018 16:04:32 +0000 (17:04 +0100)]
chromecast: remove unused method declarations

2 years agochromecast: queue stop only when needed
Thomas Guillem [Tue, 20 Feb 2018 16:01:53 +0000 (17:01 +0100)]
chromecast: queue stop only when needed

2 years agochromecast: don't use atomic
Thomas Guillem [Tue, 20 Feb 2018 15:58:49 +0000 (16:58 +0100)]
chromecast: don't use atomic

msg are always sent locked.

2 years agochromecast: lock when sending a message
Thomas Guillem [Tue, 20 Feb 2018 15:58:15 +0000 (16:58 +0100)]
chromecast: lock when sending a message

2 years agochromecast: change msg return values
Thomas Guillem [Tue, 20 Feb 2018 15:55:12 +0000 (16:55 +0100)]
chromecast: change msg return values

All msg*() methods return kInvalidId on error, 1 or the receiver/player
request ID on success.

2 years agochromecast: start requestId at 1
Thomas Guillem [Tue, 20 Feb 2018 15:48:56 +0000 (16:48 +0100)]
chromecast: start requestId at 1

Since 0 is reserved when the chromecast send spontaneous messages.

2 years agochromecast: remove useless define
Thomas Guillem [Fri, 9 Feb 2018 10:09:29 +0000 (11:09 +0100)]
chromecast: remove useless define

2 years agochromecast: rework VLCToCC time conversion
Thomas Guillem [Wed, 7 Feb 2018 16:27:33 +0000 (17:27 +0100)]
chromecast: rework VLCToCC time conversion

2 years agochromecast: create interrupt context from intf_sys_t
Thomas Guillem [Mon, 12 Feb 2018 13:00:01 +0000 (14:00 +0100)]
chromecast: create interrupt context from intf_sys_t

Since it's needed only by this class

2 years agochromecast: clean on error
Thomas Guillem [Mon, 12 Feb 2018 12:59:28 +0000 (13:59 +0100)]
chromecast: clean on error

2 years agocompat: poll: work around event loss on WIN32
Thomas Guillem [Thu, 22 Feb 2018 09:15:17 +0000 (10:15 +0100)]
compat: poll: work around event loss on WIN32

Signed-off-by: Steve Lhomme <robux4@videolabs.io>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2 years agodemux:mkv: fix hvcC detection with mkvmerge
Alexandre Janniaux [Wed, 21 Feb 2018 17:35:06 +0000 (18:35 +0100)]
demux:mkv: fix hvcC detection with mkvmerge

mkvmerge had an issue with the first reserved bits and fixed it in v16.0.0
in the commit 4bb8ad6f5565e87ad6d6a8e7e9d453e64985344e. Some files done
with anterior versions were not played by VLC with mediacodec.

See the changelog of mkvmerge for version 16.0.0, especially the
* mkvmerge: HEVC/h.265: the generation of the HEVCC structure stored in
  `CodecPrivate` was wrong in two places: 1. the position of the number of
  sub-layers was swapped with reserved bits and 2. the VPS/SPS/PPS/SEI lists
  did not start with a reserved 1 bit.

See also https://code.videolan.org/videolan/vlc-android/issues/466 for issue
and sample.

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2 years agodemux: adaptive: case-insensitive compare of scheme
Zhao Zhili [Mon, 5 Feb 2018 08:05:38 +0000 (16:05 +0800)]
demux: adaptive: case-insensitive compare of scheme

Signed-off-by: Francois Cartegnie <fcvlcdev@free.fr>
2 years agodemux: adaptive: remove old TLS api and network primitives
Francois Cartegnie [Wed, 21 Feb 2018 22:18:05 +0000 (23:18 +0100)]
demux: adaptive: remove old TLS api and network primitives

fixes old api leak

2 years agoconfigure: Simplify mingw flag checks
Marvin Scholz [Thu, 30 Nov 2017 10:05:53 +0000 (11:05 +0100)]
configure: Simplify mingw flag checks

2 years agoVLSub: Handle error when fetching translations list
Marvin Scholz [Fri, 16 Feb 2018 16:25:15 +0000 (17:25 +0100)]
VLSub: Handle error when fetching translations list

2 years agoVLSub: Correct casing of "VLC" string
Marvin Scholz [Fri, 16 Feb 2018 16:25:14 +0000 (17:25 +0100)]
VLSub: Correct casing of "VLC" string

2 years agoVLSub: Correct VLSub version in User-Agent and Window title
Marvin Scholz [Fri, 16 Feb 2018 16:25:13 +0000 (17:25 +0100)]
VLSub: Correct VLSub version in User-Agent and Window title

The VLSub user agent was still at 0.9, which would be confusing as the
Window title indicates the this string, showing VLSub 0.9 even though
this is VLSub 0.10.0.

2 years agovout/macosx: Remove HiDPI scaling
Marvin Scholz [Fri, 2 Feb 2018 12:08:34 +0000 (13:08 +0100)]
vout/macosx: Remove HiDPI scaling

2 years agosnap: fix TryExec in the .desktop file.
Konstantin Pavlov [Wed, 21 Feb 2018 19:50:39 +0000 (22:50 +0300)]
snap: fix TryExec in the .desktop file.

2 years agosnap: link with contrib-provided libarchive.
Konstantin Pavlov [Wed, 21 Feb 2018 15:46:29 +0000 (18:46 +0300)]
snap: link with contrib-provided libarchive.

2 years agosnap: merge ffmpeg-based plugins into one to save space.
Konstantin Pavlov [Wed, 21 Feb 2018 15:03:01 +0000 (18:03 +0300)]
snap: merge ffmpeg-based plugins into one to save space.

2 years agosnap: fix open file dialogs when running on Plasma.
Konstantin Pavlov [Wed, 21 Feb 2018 14:47:22 +0000 (17:47 +0300)]
snap: fix open file dialogs when running on Plasma.

2 years agosnap: add packages fixing look'n'feel issues on Plasma.
Konstantin Pavlov [Wed, 21 Feb 2018 13:18:54 +0000 (16:18 +0300)]
snap: add packages fixing look'n'feel issues on Plasma.

This really needs to be fixed on Canonical side with layouts, then we
can drop shipping those packages as well.

2 years agosnap: exclude unneeded development files.
Konstantin Pavlov [Wed, 21 Feb 2018 13:15:42 +0000 (16:15 +0300)]
snap: exclude unneeded development files.

2 years agosnap: link with contrib-provided protobuf.
Konstantin Pavlov [Wed, 21 Feb 2018 13:13:03 +0000 (16:13 +0300)]
snap: link with contrib-provided protobuf.

2 years agoarm: Allow building assembly in thumb mode
Martin Storsjö [Wed, 7 Feb 2018 09:25:37 +0000 (11:25 +0200)]
arm: Allow building assembly in thumb mode

Windows on arm is thumb2 only.

Add the necessary "it" instructions before conditionally executed
instructions (which doesn't emit any extra instructions when not
building in thumb mode). The number of "it" instructions could
be reduced in some places by reordering the instructions, but keeping
them as they were originally to avoid any impact on existing

Remove redundant .arm directives; the assembler normally starts out
in that mode anyway, and for windows we shouldn't override the
default mode.

2 years agoconfigure: Treat host_cpu = armv* as plain arm
Martin Storsjö [Wed, 7 Feb 2018 09:25:13 +0000 (11:25 +0200)]
configure: Treat host_cpu = armv* as plain arm

This matches a change in contrib in 99acb87cc9.

2 years agoupnp: module can have only one description
Rémi Denis-Courmont [Wed, 21 Feb 2018 19:44:03 +0000 (21:44 +0200)]
upnp: module can have only one description

2 years agoh2frame: remove write-only test variable
Rémi Denis-Courmont [Wed, 21 Feb 2018 18:32:52 +0000 (20:32 +0200)]
h2frame: remove write-only test variable

2 years agoavcodec: better fix for missing FourCC in libav
Steve Lhomme [Wed, 21 Feb 2018 16:12:37 +0000 (17:12 +0100)]
avcodec: better fix for missing FourCC in libav

2 years agodemux: hls: add probing by mime type fallback
Francois Cartegnie [Wed, 21 Feb 2018 12:24:39 +0000 (13:24 +0100)]
demux: hls: add probing by mime type fallback

2 years agodemux: adaptive: add mime based demux proxy
Francois Cartegnie [Tue, 20 Feb 2018 21:42:28 +0000 (22:42 +0100)]
demux: adaptive: add mime based demux proxy

2 years agodemux: adaptive: pass content-type though streams
Francois Cartegnie [Tue, 20 Feb 2018 21:40:10 +0000 (22:40 +0100)]
demux: adaptive: pass content-type though streams

2 years agodemux: adaptive: expose content-type
Francois Cartegnie [Tue, 20 Feb 2018 21:38:05 +0000 (22:38 +0100)]
demux: adaptive: expose content-type

2 years agodemux: adaptive: refactor demux creation with factory interface
Francois Cartegnie [Wed, 21 Feb 2018 11:36:03 +0000 (12:36 +0100)]
demux: adaptive: refactor demux creation with factory interface

2 years agodemux: adaptive: move mime to format conversion
Francois Cartegnie [Wed, 21 Feb 2018 09:43:06 +0000 (10:43 +0100)]
demux: adaptive: move mime to format conversion

2 years agohw:d3d11: allow GPU to CPU conversion as long as the visible height is the same
Steve Lhomme [Wed, 6 Dec 2017 13:47:54 +0000 (14:47 +0100)]
hw:d3d11: allow GPU to CPU conversion as long as the visible height is the same

They may have different padding but in the end the amount copied is compatible.
The width still needs to be the same.

2 years agod3d11_surface: add a filter to convert RGBA from the GPU to RGBA/BGRA on the CPU
Steve Lhomme [Thu, 7 Dec 2017 15:00:33 +0000 (16:00 +0100)]
d3d11_surface: add a filter to convert RGBA from the GPU to RGBA/BGRA on the CPU

2 years agodirect3d11: use VLC_CODEC_D3D11_OPAQUE_BGRA for BGRA display
Steve Lhomme [Mon, 29 Jan 2018 16:42:18 +0000 (17:42 +0100)]
direct3d11: use VLC_CODEC_D3D11_OPAQUE_BGRA for BGRA display

2 years agodirect3d11: use VLC_CODEC_D3D11_OPAQUE_RGBA for RGBA display
Steve Lhomme [Thu, 7 Dec 2017 14:39:11 +0000 (15:39 +0100)]
direct3d11: use VLC_CODEC_D3D11_OPAQUE_RGBA for RGBA display

2 years agocore: add VLC_CODEC_D3D11_OPAQUE_BGRA to differentiate from RGBA
Steve Lhomme [Mon, 29 Jan 2018 16:40:43 +0000 (17:40 +0100)]
core: add VLC_CODEC_D3D11_OPAQUE_BGRA to differentiate from RGBA

They are not compatible (can't copy directly).

2 years agocore: add VLC_CODEC_D3D11_OPAQUE_RGBA to differenciate from NV12 or P010
Steve Lhomme [Thu, 7 Dec 2017 14:37:34 +0000 (15:37 +0100)]
core: add VLC_CODEC_D3D11_OPAQUE_RGBA to differenciate from NV12 or P010

2 years agohw:d3d11: never use a texture with slices for the video processor output
Steve Lhomme [Thu, 23 Nov 2017 12:00:32 +0000 (13:00 +0100)]
hw:d3d11: never use a texture with slices for the video processor output

2 years agocontrib: qt: prefer lower value when rounding fractional scaling
Pierre Lamot [Tue, 20 Feb 2018 16:58:49 +0000 (17:58 +0100)]
contrib: qt: prefer lower value when rounding fractional scaling

Fix #19679
Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
2 years agocontrib: Update to Qt 5.6.3
Hugo Beauzée-Luyssen [Mon, 12 Feb 2018 12:32:12 +0000 (13:32 +0100)]
contrib: Update to Qt 5.6.3

Refs #19679
Fix #19654

2 years agomkv: Fix NULL deref
Hugo Beauzée-Luyssen [Wed, 21 Feb 2018 09:37:11 +0000 (10:37 +0100)]
mkv: Fix NULL deref

Fix #19785

2 years agomediacodec: don't use timestamp_fifo for MPEG2
Thomas Guillem [Wed, 21 Feb 2018 08:57:42 +0000 (09:57 +0100)]
mediacodec: don't use timestamp_fifo for MPEG2

mpeg2 output frames don't need to be re-ordered.
And ignore blocks when SEQUENCE_HEADER_STARTCODE is invalid.

2 years agomodules/codec/omxil/mediacodec.c: add MPEG2 support
Alexandre Janniaux [Tue, 20 Feb 2018 16:36:15 +0000 (17:36 +0100)]
modules/codec/omxil/mediacodec.c: add MPEG2 support

Add MPEG2 support with Mediacodec on Android.

Signed-off-by: Thomas Guillem <thomas@gllm.fr>
2 years agomodules/codec/omxil/mediacodec.c: fix SAR for MPEG2
Alexandre Janniaux [Tue, 20 Feb 2018 16:36:16 +0000 (17:36 +0100)]
modules/codec/omxil/mediacodec.c: fix SAR for MPEG2

Fix the source aspect ratio of MPEG2 video decoded with mediacodec.
It extracts the aspect_ratio_information from any block containing
a SEQUENCE_HEADER and applies it in the UpdateVout function.

Signed-off-by: Thomas Guillem <thomas@gllm.fr>
2 years agoavcodec: fix missing FourCC in libav
Steve Lhomme [Wed, 21 Feb 2018 07:31:52 +0000 (08:31 +0100)]
avcodec: fix missing FourCC in libav

2 years agommdevice: don't lock read of sys->dev
Thomas Guillem [Wed, 21 Feb 2018 07:08:18 +0000 (08:08 +0100)]
mmdevice: don't lock read of sys->dev

sys->dev can't be changed (unless requested by the current thread) from the MMSession thread here.

2 years agomacosx: Workaround mkv file association problem
David Fuhrmann [Tue, 20 Feb 2018 23:26:18 +0000 (00:26 +0100)]
macosx: Workaround mkv file association problem

This workarounds a problem very likely within MplayerX. The current
version of that application declares both an exported, as well as
an imported UTI for the mkv file extension, which messes up macOS.
They should delete the exported UTI to fix the problem correctly.

As a workaround, fall back the the old way of declaring mkv file
association, which seems to work as well.

fixes #19758

2 years agoextras: remove vlc_tdestroy()
Rémi Denis-Courmont [Tue, 20 Feb 2018 19:34:13 +0000 (21:34 +0200)]
extras: remove vlc_tdestroy()

This is superseded by the compat tdestroy() replacement, which is also
available outside of libvlccore.