vlc.git
4 years agocontrib: pthreads: Don't use x86 inline asm on non-x86 platforms
Martin Storsjö [Wed, 10 Jan 2018 12:54:49 +0000 (14:54 +0200)]
contrib: pthreads: Don't use x86 inline asm on non-x86 platforms

4 years agocontrib: projectM: Don't forcibly add -fPIC when targeting windows
Martin Storsjö [Thu, 14 Dec 2017 07:17:39 +0000 (09:17 +0200)]
contrib: projectM: Don't forcibly add -fPIC when targeting windows

This fixes compilation with clang.

4 years agocontrib: postproc: Don't add -fPIC when targeting windows
Martin Storsjö [Wed, 13 Dec 2017 15:00:41 +0000 (17:00 +0200)]
contrib: postproc: Don't add -fPIC when targeting windows

This roughly matches 3965d404ccd from libav/ffmpeg. With GCC,
adding -fPIC when building for windows (x86_64) results in a warning,
while it is an error with clang.

4 years agocontrib: gnutls: Disable assembly on windows/x86_64 and aarch64 when built with clang
Martin Storsjö [Wed, 13 Dec 2017 14:11:09 +0000 (16:11 +0200)]
contrib: gnutls: Disable assembly on windows/x86_64 and aarch64 when built with clang

Move the check for clang from the qt rules.mak into the toplevel
main.mak.

This fixes building in these configurations.

4 years agocontrib: qt: Use the win32-clang-g++ mkspec when building with for windows with clang
Martin Storsjö [Wed, 21 Feb 2018 11:26:31 +0000 (13:26 +0200)]
contrib: qt: Use the win32-clang-g++ mkspec when building with for windows with clang

Check $(CC) --version to see if it turns out to be clang.

4 years agocontrib: qt: Add patches for building with llvm-mingw
Martin Storsjö [Wed, 13 Dec 2017 14:15:04 +0000 (16:15 +0200)]
contrib: qt: Add patches for building with llvm-mingw

All of them are backports (in Qt 5.11, everything needed for building
with llvm-mingw is upstreamed), with annotations about where they
come from.

To actually build with llvm-mingw, one has to use the mkspec
win32-clang-g++ instead of win32-g++.

4 years agocontrib: pthreads: Fix building with llvm-mingw
Martin Storsjö [Fri, 5 Jan 2018 21:53:37 +0000 (23:53 +0200)]
contrib: pthreads: Fix building with llvm-mingw

This avoids doing things with dlltool that llvm-dlltool doesn't
implement.

I don't see the need of running a second pass with dlltool to
produce an output def file and yet another pass to produce
an import library out of it; just make the linker output the
import library while linking the dll. (If the import library is
to be used by MSVC, there is a point in generating it with dlltool
instead of with ld though. Even then, there's no point in generating
the def file using dlltool though, when it could just be generated by
the linker.)

Remove an inline declaration on a function that can't be inline-only
(static inline).

For non-static inline functions in C, the compiler can choose to
use the inline function itself, or assume that a definition exists
in a different translation unit. In this case, clang seems to
not inline ptw32_cond_check_need_init and creates an undefined
reference to the same function that should be defined in another
translation unit (which doesn't exist).

See https://www.greenend.org.uk/rjk/tech/inline.html for more details
on this.

4 years agocontrib: goom: Fix building for i386 with clang
Martin Storsjö [Fri, 23 Feb 2018 22:14:13 +0000 (00:14 +0200)]
contrib: goom: Fix building for i386 with clang

This is based on a patch from gst-plugins-good (which bundles a copy
of the goom sources), based on a patch from FreeBSD ports.

4 years agocontrib: x264: Fix building for windows on arm
Martin Storsjö [Tue, 19 Dec 2017 09:05:47 +0000 (11:05 +0200)]
contrib: x264: Fix building for windows on arm

This includes a backport of one patch (from original git commit
7b13b31be60, included in the x264 master branch since Dec 24 2017),
and passing the necessary configure parameters for setting up
gas-preprocessor for this configuration.

4 years agocompat: remove no longer used ffsll()
Rémi Denis-Courmont [Sun, 25 Feb 2018 19:39:23 +0000 (21:39 +0200)]
compat: remove no longer used ffsll()

We don't need two ways to count trailing zeroes.

4 years agoopengl: use ctz() instead of ffsll()
Rémi Denis-Courmont [Sun, 25 Feb 2018 19:30:40 +0000 (21:30 +0200)]
opengl: use ctz() instead of ffsll()

When manipulating bit fields, zero-based ctz() is generally simpler
than one-based ffs().

By definition: ffs(x) = x ? (ctz(x) + 1) : 0

4 years agopicture_pool: simplify using ctz()
Rémi Denis-Courmont [Sun, 25 Feb 2018 19:05:19 +0000 (21:05 +0200)]
picture_pool: simplify using ctz()

Same as 09fa628168421b5d8881b72ced9390d84dd58123.

4 years agopicture_pool: fix cancellation handling with lock
Rémi Denis-Courmont [Sun, 25 Feb 2018 19:06:40 +0000 (21:06 +0200)]
picture_pool: fix cancellation handling with lock

If there is a deprecated lock callback, the mutex might be released
and the cancellation flag much be rechecked.

Conversely, if the pool is empty, then there is no point in checking
the flag: allocation will anyway fail immediately.

4 years agopicture_pool: simplify using ctz()
Rémi Denis-Courmont [Sun, 25 Feb 2018 19:05:19 +0000 (21:05 +0200)]
picture_pool: simplify using ctz()

Zero-based value is easier than one-based in this context.

4 years agocontrib: upnp: Improve and generalize a patch for handling inet_pton
Martin Storsjö [Sat, 24 Feb 2018 22:02:47 +0000 (00:02 +0200)]
contrib: upnp: Improve and generalize a patch for handling inet_pton

libupnp locally overrides the version of _WIN32_WINNT via
configure.ac and autoconfig.h (which is disabled by a vlc contrib
patch when targeting winrt though).

Make sure that autoconfig.h is included everywhere necessary, to
show/hide the relevant parts of winsock headers depending on the
chosen version of _WIN32_WINNT (either default or overridden).

This avoids including the system declarations of these functions if
the default target is >= vista but the build tries to override it
to a lower version.

On the other hand, if the override of _WIN32_WINNT is removed (as
when targeting winrt) and the default is >= vista, skip the local
version of inet_pton.

This should have the same effect as the previous patch, but
evaluated by the preprocessor instead of hardcoding commenting out
of certain source files.

4 years agoavcodec: map MagicYUV codec id
Jean-Baptiste Kempf [Sat, 24 Feb 2018 17:50:43 +0000 (18:50 +0100)]
avcodec: map MagicYUV codec id

4 years agoFourCC for MagicYUV
Jean-Baptiste Kempf [Sat, 24 Feb 2018 17:49:47 +0000 (18:49 +0100)]
FourCC for MagicYUV

4 years agod3d11va: do not use the external if there's not enough pictures
Steve Lhomme [Sat, 24 Feb 2018 12:46:53 +0000 (13:46 +0100)]
d3d11va: do not use the external if there's not enough pictures

Do the detection earlier and avoid fetching pictures from the pool for nothing.

4 years agod3d11_fmt: simplify the nvidia check
Steve Lhomme [Sat, 24 Feb 2018 12:41:30 +0000 (13:41 +0100)]
d3d11_fmt: simplify the nvidia check

4 years agodummy vout: fix sign warning
Rémi Denis-Courmont [Sat, 24 Feb 2018 07:57:45 +0000 (09:57 +0200)]
dummy vout: fix sign warning

4 years agoinclude: fix clz on pure ISO C compilers
Rémi Denis-Courmont [Sat, 24 Feb 2018 07:53:54 +0000 (09:53 +0200)]
include: fix clz on pure ISO C compilers

4 years agocontrib: ffmpeg: enable bsf=vp9_superframe
Thomas Guillem [Fri, 23 Feb 2018 12:39:34 +0000 (13:39 +0100)]
contrib: ffmpeg: enable bsf=vp9_superframe

This is used to mux VP9 inside webm/mkv

4 years agodemux: avi: fix fpe (#19688)
Francois Cartegnie [Fri, 23 Feb 2018 17:48:47 +0000 (18:48 +0100)]
demux: avi: fix fpe (#19688)

4 years agoqt: remove unused parameter
Rémi Denis-Courmont [Fri, 23 Feb 2018 17:18:32 +0000 (19:18 +0200)]
qt: remove unused parameter

4 years agoRevert "input: use the original demux for slave synchronisation"
Thomas Guillem [Fri, 23 Feb 2018 16:54:41 +0000 (17:54 +0100)]
Revert "input: use the original demux for slave synchronisation"

This reverts commit 2a8dda4c43b8967b5d53ee57a4de7f6aa99cff29.A

cf. 2e3120ad713190473134af431db78fbe9b25e033

4 years agochromecast: disable SPU
Thomas Guillem [Fri, 23 Feb 2018 17:12:29 +0000 (18:12 +0100)]
chromecast: disable SPU

cf. comment

4 years agodemux: extend demux_FilterChainNew() documentation
Rémi Denis-Courmont [Fri, 23 Feb 2018 17:01:58 +0000 (19:01 +0200)]
demux: extend demux_FilterChainNew() documentation

4 years agochromecast: fix typo in msg logs
Thomas Guillem [Fri, 23 Feb 2018 16:43:18 +0000 (17:43 +0100)]
chromecast: fix typo in msg logs

4 years agoQt: fix drawing of preview (#18109)
Francois Cartegnie [Fri, 23 Feb 2018 16:15:03 +0000 (17:15 +0100)]
Qt: fix drawing of preview (#18109)

4 years agomediacodec: don't override sar if already correct
Thomas Guillem [Fri, 23 Feb 2018 16:08:13 +0000 (17:08 +0100)]
mediacodec: don't override sar if already correct

4 years agochromecast: add SPU blending support
Thomas Guillem [Thu, 1 Feb 2018 12:42:14 +0000 (13:42 +0100)]
chromecast: add SPU blending support

4 years agoqt: always enable subtitle selection menu
Thomas Guillem [Fri, 23 Feb 2018 14:18:09 +0000 (15:18 +0100)]
qt: always enable subtitle selection menu

This was incoherent with audio/video selection menus. Indeed, audio/video
selection menus are always visible (regardless of vout/aout state).

This allows users to change the spu track when using a sout (and a renderer).

4 years agoinput: use the original demux for slave synchronisation
Thomas Guillem [Fri, 23 Feb 2018 13:47:47 +0000 (14:47 +0100)]
input: use the original demux for slave synchronisation

When using a renderer, the filtered demux will report the time currently
displayed by the renderer. If slaves synchronize to this time, SPU or other ES
tracks will always come too late. To fix this issue, we fetch the time on the
original demux (that will report the time being buffered).

This could be removed in VLC 4.0 in favor of a new demux control, like
DEMUX_GET_BUFFERED_TIME.

4 years agodemux: ts: reject ffmpeg/libav default SDT
Francois Cartegnie [Fri, 23 Feb 2018 10:43:29 +0000 (11:43 +0100)]
demux: ts: reject ffmpeg/libav default SDT

4 years agochromecast: fix webm support
Thomas Guillem [Fri, 23 Feb 2018 12:36:29 +0000 (13:36 +0100)]
chromecast: fix webm support

VP9 and OPUS are webm. Also configure the muxer for webm.

4 years agopacketizer: avparser: set keyframe flag
Thomas Guillem [Fri, 23 Feb 2018 12:35:31 +0000 (13:35 +0100)]
packetizer: avparser: set keyframe flag

4 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

4 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

4 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.

4 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.

4 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.

4 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

4 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

4 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

4 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

4 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

4 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

4 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>
4 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

4 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.

4 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

4 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

4 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.

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

4 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>
4 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>
4 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

4 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.

4 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.

4 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.

4 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.

4 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"

4 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

4 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

4 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

4 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

4 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

4 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

4 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.

4 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

4 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).

4 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

4 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.

4 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.

4 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

4 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.

4 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.

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

4 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.

4 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

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

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

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

4 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

4 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.

4 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

4 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.

4 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.

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

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

4 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

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

4 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>
4 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
following:
* 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>
4 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>
4 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

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

4 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

4 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

4 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.