vlc.git
3 years agomacosx: Fixup Xcode project
Marvin Scholz [Sun, 5 Jun 2016 09:28:24 +0000 (11:28 +0200)]
macosx: Fixup Xcode project

Signed-off-by: Felix Paul Kühne <fkuehne@videolan.org>
3 years agomacosx: Add dark UI Elements for use on HUD Panels
Marvin Scholz [Sun, 5 Jun 2016 09:28:23 +0000 (11:28 +0200)]
macosx: Add dark UI Elements for use on HUD Panels

This adds a dark Button, Checkbox, Radiobutton and Slider Cell
for use on dark HUD Panels (like the Audio and Video effects panels)

Signed-off-by: Felix Paul Kühne <fkuehne@videolan.org>
3 years agovpx: no need to check fmt_in
Tristan Matthews [Sun, 5 Jun 2016 09:33:53 +0000 (11:33 +0200)]
vpx: no need to check fmt_in

3 years agolibVLC: Improve doxygen documentation about 3.0 version
Jean-Baptiste Kempf [Sun, 5 Jun 2016 09:33:16 +0000 (11:33 +0200)]
libVLC: Improve doxygen documentation about 3.0 version

3 years agolibvlc: mention libvlc_media_player_(get|set)_role in NEWS
Jean-Baptiste Kempf [Sun, 5 Jun 2016 09:31:10 +0000 (11:31 +0200)]
libvlc: mention libvlc_media_player_(get|set)_role in NEWS

3 years agotest: test libvlc_media_player_(set|get)_role
Rémi Denis-Courmont [Sun, 5 Jun 2016 09:26:06 +0000 (12:26 +0300)]
test: test libvlc_media_player_(set|get)_role

3 years agolib: add libvlc_media_player_(get|set)_role
Rémi Denis-Courmont [Sat, 4 Jun 2016 15:02:05 +0000 (18:02 +0300)]
lib: add libvlc_media_player_(get|set)_role

3 years agopulse: map media role
Rémi Denis-Courmont [Sat, 4 Jun 2016 14:53:49 +0000 (17:53 +0300)]
pulse: map media role

3 years agolibvlc: add media role option
Rémi Denis-Courmont [Sat, 4 Jun 2016 14:26:03 +0000 (17:26 +0300)]
libvlc: add media role option

3 years agovpx: default fmt_out aspect ratio to 1:1 if unset
Tristan Matthews [Sun, 5 Jun 2016 08:49:26 +0000 (10:49 +0200)]
vpx: default fmt_out aspect ratio to 1:1 if unset

Fixes transcoding issues

3 years agomacosx: add support for libdispatch ARC introduced in 10.8
Felix Paul Kühne [Sat, 4 Jun 2016 13:57:16 +0000 (15:57 +0200)]
macosx: add support for libdispatch ARC introduced in 10.8

3 years agowin32: only sleep for 0 ms when excplicitly requested
Steve Lhomme [Tue, 31 May 2016 13:06:19 +0000 (15:06 +0200)]
win32: only sleep for 0 ms when excplicitly requested

SleepEx(0) results in 100% CPU usage on XP. It's back to normal with a 5 ms
value.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
3 years agomacosx: reveal currently playing item in list by scrolling accordingly (closs #16470
Felix Paul Kühne [Sat, 4 Jun 2016 13:22:54 +0000 (15:22 +0200)]
macosx: reveal currently playing item in list by scrolling accordingly (closs #16470

3 years agomacosx: fix auto-layout issue with long URLs in info panel (closes #16882)
Felix Paul Kühne [Sat, 4 Jun 2016 13:17:43 +0000 (15:17 +0200)]
macosx: fix auto-layout issue with long URLs in info panel (closes #16882)

3 years agomacosx: disable vnc
Felix Paul Kühne [Sat, 4 Jun 2016 13:17:11 +0000 (15:17 +0200)]
macosx: disable vnc

3 years agotools: raise automake requirement due to libmad
Felix Paul Kühne [Sat, 4 Jun 2016 12:42:24 +0000 (14:42 +0200)]
tools: raise automake requirement due to libmad

3 years agocontrib/gnutls: rebase pkgconfig mac patch
Felix Paul Kühne [Sat, 4 Jun 2016 12:33:52 +0000 (14:33 +0200)]
contrib/gnutls: rebase pkgconfig mac patch

3 years agodialog: don't clear array when changing callbacks
Thomas Guillem [Sat, 4 Jun 2016 11:15:57 +0000 (13:15 +0200)]
dialog: don't clear array when changing callbacks

This array will be clear by dialog owners.
This fix a crash when a dialog owner release dialogs that were invalidated.

3 years agowin32: inline and simplify vlc_WaitForSingleObject
Rémi Denis-Courmont [Thu, 2 Jun 2016 17:50:38 +0000 (20:50 +0300)]
win32: inline and simplify vlc_WaitForSingleObject

3 years agowin32: use generic semaphore (Windows 8+)
Rémi Denis-Courmont [Thu, 2 Jun 2016 17:46:50 +0000 (20:46 +0300)]
win32: use generic semaphore (Windows 8+)

3 years agowin32: we never wait for more than one object at a time
Steve Lhomme [Mon, 23 May 2016 15:28:11 +0000 (17:28 +0200)]
win32: we never wait for more than one object at a time

Modified-and-...
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
3 years agowin32: use futex-based sleep (Windows 8+)
Rémi Denis-Courmont [Tue, 31 May 2016 21:31:33 +0000 (00:31 +0300)]
win32: use futex-based sleep (Windows 8+)

3 years agowin32: unfactorize the code for sleep and WaitForMultipleObjects
Steve Lhomme [Mon, 23 May 2016 15:28:10 +0000 (17:28 +0200)]
win32: unfactorize the code for sleep and WaitForMultipleObjects

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
3 years agoOpenGL: fix the subpicture rendering
Adrien Maglo [Thu, 2 Jun 2016 11:47:23 +0000 (13:47 +0200)]
OpenGL: fix the subpicture rendering

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
3 years agolibvlc: delete preparser before interfaces
Thomas Guillem [Thu, 2 Jun 2016 08:53:06 +0000 (10:53 +0200)]
libvlc: delete preparser before interfaces

This fixes a use-after-free when the art fetcher was triggering a callback
registered by the playlist (that was destroyed).

3 years agoupnp: fix double lock
Thomas Guillem [Thu, 2 Jun 2016 08:01:25 +0000 (10:01 +0200)]
upnp: fix double lock

3 years agoAdd support for GoPro HiLight tags as chapters
Emeric Grange [Wed, 1 Jun 2016 20:11:09 +0000 (22:11 +0200)]
Add support for GoPro HiLight tags as chapters

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
3 years agothreads: fix race in vlc_cond_wait()
Rémi Denis-Courmont [Wed, 1 Jun 2016 18:47:38 +0000 (21:47 +0300)]
threads: fix race in vlc_cond_wait()

Could lose wake-up if vlc_cond_wait() in one thread, then
vlc_cond_signal() in anotherthread, then vlc_cond_wait() in a third
thread.

3 years agothreads: use unsigned values for futex
Rémi Denis-Courmont [Wed, 1 Jun 2016 19:06:02 +0000 (22:06 +0300)]
threads: use unsigned values for futex

Linux kernel might not care about signed overflow being undefined in
ISO C, but VLC has to care (because compilers do).

3 years agoaudio: display the channel mapping for 8.1 wav
Jean-Baptiste Kempf [Wed, 1 Jun 2016 19:53:44 +0000 (21:53 +0200)]
audio: display the channel mapping for 8.1 wav

3 years agoQt: fix tooltip position on Qt4 for Windows
Jean-Baptiste Kempf [Wed, 1 Jun 2016 17:04:45 +0000 (19:04 +0200)]
Qt: fix tooltip position on Qt4 for Windows

3 years agodemux: adaptive: fix CAN_SEEK and late fail
Francois Cartegnie [Wed, 1 Jun 2016 16:00:17 +0000 (18:00 +0200)]
demux: adaptive: fix CAN_SEEK and late fail

as child demuxers are not created yet when demux
wants seekable capability, CAN_SEEK was always false

3 years agoupnp: rename m_opaque to p_server_list
Steve Lhomme [Wed, 1 Jun 2016 14:38:10 +0000 (16:38 +0200)]
upnp: rename m_opaque to p_server_list

and also m_callback_lock to m_server_list_lock

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
3 years agoupnp: no need to store the MediaServerList in services_discovery_sys_t
Steve Lhomme [Wed, 1 Jun 2016 14:38:09 +0000 (16:38 +0200)]
upnp: no need to store the MediaServerList in services_discovery_sys_t

Let UpnpInstanceWrapper manage it completely

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
3 years agoupnp: the callback is always SD::MediaServerList::Callback() when used
Steve Lhomme [Wed, 1 Jun 2016 14:38:08 +0000 (16:38 +0200)]
upnp: the callback is always SD::MediaServerList::Callback() when used

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
3 years agoupnp: MediaServerList::m_lock protects the access to m_list
Steve Lhomme [Wed, 1 Jun 2016 14:38:07 +0000 (16:38 +0200)]
upnp: MediaServerList::m_lock protects the access to m_list

parseNewServer() is called from various threads of UPNP so we need to protect
our server list

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
3 years agoupnp: m_sd is never changed
Steve Lhomme [Wed, 1 Jun 2016 14:38:06 +0000 (16:38 +0200)]
upnp: m_sd is never changed

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
3 years agoupnp: m_sd->p_sys->p_server_list in MediaServerList equals this
Steve Lhomme [Wed, 1 Jun 2016 14:38:05 +0000 (16:38 +0200)]
upnp: m_sd->p_sys->p_server_list in MediaServerList equals this

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
3 years agocontrib: upnp: enable debug when we don't want optimizations
Steve Lhomme [Wed, 1 Jun 2016 14:38:04 +0000 (16:38 +0200)]
contrib: upnp: enable debug when we don't want optimizations

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
3 years agoupnp: revert 741b9ebf5449fc11a6318ef78c16dadf4808640d
Steve Lhomme [Wed, 1 Jun 2016 15:23:32 +0000 (17:23 +0200)]
upnp: revert 741b9ebf5449fc11a6318ef78c16dadf4808640d

UPNP fails to browse my Synology NAS (DSM 5.0) after this patch.
After the revert it works and Windows Media Player shares work fine too.

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
3 years agoAdd support for extern audio track as slave for Upnp in addItem
Bastien Penavayre [Wed, 1 Jun 2016 15:10:48 +0000 (17:10 +0200)]
Add support for extern audio track as slave for Upnp in addItem

If an Upnp non-audio item holds audio subitems then they're used as
slaves for the item.

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
3 years agoGeneralize the addItem method to handle differently video, audio, image and text
Bastien Penavayre [Wed, 1 Jun 2016 15:08:26 +0000 (17:08 +0200)]
Generalize the addItem method to handle differently video, audio, image and text

Instead of using the MRL of the first subitem as the item's MRL and ignoring all rest,
now reads the "upnp:class" field of the item and the "protocolInfo" field of
each subitem to use those accordingly.
The result is that artworks contained as subitems are now used along with subtitles as slaves.

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
3 years agodemux: mp4: fix null deref in rtp stuff
Francois Cartegnie [Wed, 1 Jun 2016 11:48:14 +0000 (13:48 +0200)]
demux: mp4: fix null deref in rtp stuff

block_Realloc != realloc

3 years agodemux: mp4: fix segfault in rtp
Francois Cartegnie [Wed, 1 Jun 2016 11:58:34 +0000 (13:58 +0200)]
demux: mp4: fix segfault in rtp

3 years agoQt: missing locks when calling the playlist
Jean-Baptiste Kempf [Tue, 31 May 2016 15:43:08 +0000 (17:43 +0200)]
Qt: missing locks when calling the playlist

3 years agoQt: remove tab in input_manager.cpp
Jean-Baptiste Kempf [Tue, 31 May 2016 15:30:23 +0000 (17:30 +0200)]
Qt: remove tab in input_manager.cpp

3 years agoinput/input: fix Control leak when input is stopped
Thomas Guillem [Tue, 31 May 2016 10:11:56 +0000 (12:11 +0200)]
input/input: fix Control leak when input is stopped

And don't call vlc_cond_signal if we don't have to.

3 years agolibvlc: fix libvlc_media_player_get_fps leak
Thomas Guillem [Tue, 31 May 2016 10:02:16 +0000 (12:02 +0200)]
libvlc: fix libvlc_media_player_get_fps leak

And fix a possible use of a released media.

3 years agoinput: test slaves
Thomas Guillem [Mon, 30 May 2016 16:49:52 +0000 (18:49 +0200)]
input: test slaves

test_media_has_slaves_from_player is deactivated for now since there is now way
to test inputs in a reliable way. Indeed, demux modules may depend on
configuration and systems libs.

TODO: test libvlc_media_player_add_slave

3 years agolibvlc: fix libvlc_media_slaves_release with a count of 0
Thomas Guillem [Tue, 31 May 2016 13:13:42 +0000 (15:13 +0200)]
libvlc: fix libvlc_media_slaves_release with a count of 0

Since pp_slaves is not initialised when libvlc_media_slaves_get() returns 0.

3 years agolibvlc: deprecate libvlc_video_set_subtitle_file
Thomas Guillem [Fri, 27 May 2016 10:17:14 +0000 (12:17 +0200)]
libvlc: deprecate libvlc_video_set_subtitle_file

3 years agolibvlc: add libvlc_media_player_add_slave
Thomas Guillem [Fri, 27 May 2016 10:05:33 +0000 (12:05 +0200)]
libvlc: add libvlc_media_player_add_slave

In order to add a slave when the media player is playing.

3 years agoinput: add input_AddSlave
Thomas Guillem [Fri, 27 May 2016 09:41:20 +0000 (11:41 +0200)]
input: add input_AddSlave

3 years agoinput: improve INPUT_CONTROL_ADD_SLAVE
Thomas Guillem [Fri, 27 May 2016 09:41:06 +0000 (11:41 +0200)]
input: improve INPUT_CONTROL_ADD_SLAVE

It can now handle a slave type (via input_item_slave_t) and update the
input_item_t slave list.

This control is unused for now.

3 years agoinput/input: update input slaves list when playing
Thomas Guillem [Mon, 30 May 2016 16:22:41 +0000 (18:22 +0200)]
input/input: update input slaves list when playing

3 years agoinput/input: handle "sub-file" like other slaves
Thomas Guillem [Mon, 30 May 2016 16:02:02 +0000 (18:02 +0200)]
input/input: handle "sub-file" like other slaves

3 years agoinput: handle "sub-autodetect-file" option when adding slaves
Thomas Guillem [Tue, 31 May 2016 12:18:51 +0000 (14:18 +0200)]
input: handle "sub-autodetect-file" option when adding slaves

input_item_t slaves will be always loaded from LoadSlaves(): slaves added via
libvlc won't depend on "sub-autodetect-file" option. If this option is
activated, demuxers won't add any slaves.

3 years agoinput/access: a slave can be attached to more than one item
Thomas Guillem [Mon, 30 May 2016 15:01:27 +0000 (17:01 +0200)]
input/access: a slave can be attached to more than one item

3 years agoQt: fix loop-button icon on notification of change
Filip Roséen [Mon, 30 May 2016 16:18:06 +0000 (18:18 +0200)]
Qt: fix loop-button icon on notification of change

Given that NORMAL=0, REPEAT_ALL=1, REPEAT_ONE=2, the previous code would
not yield a value that actually corresponds to the correct icon when we
receive notification of "loop mode change".

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
3 years agoQt: allow to add a renderer button in the toolbar
Steve Lhomme [Tue, 31 May 2016 11:08:54 +0000 (13:08 +0200)]
Qt: allow to add a renderer button in the toolbar

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
3 years agoQt: activate the renderer dialog via the menu
Steve Lhomme [Tue, 31 May 2016 11:08:53 +0000 (13:08 +0200)]
Qt: activate the renderer dialog via the menu

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
3 years agoQt: add a dialog to select the renderer to use
Steve Lhomme [Tue, 31 May 2016 11:51:33 +0000 (13:51 +0200)]
Qt: add a dialog to select the renderer to use

This is limited to the first and only renderer discovery service we have for now

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
3 years agointf: add a dialog for renderer
Steve Lhomme [Tue, 31 May 2016 11:08:51 +0000 (13:08 +0200)]
intf: add a dialog for renderer

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
3 years agoplaylist: copy the global "sout" value in the playlist
Steve Lhomme [Tue, 31 May 2016 11:51:32 +0000 (13:51 +0200)]
playlist: copy the global "sout" value in the playlist

so it can be set for all input created for this playlist instance

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
3 years agoQt: fix setup of loop-button icon
Filip Roséen [Mon, 30 May 2016 16:18:05 +0000 (18:18 +0200)]
Qt: fix setup of loop-button icon

Given that NORMAL=0, REPEAT_ALL=1, REPEAT_ONE=3 the previous code would
not always yield the correct state for the loop button during setup.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
3 years agoContribs: make projectM depend on the toolchain.cmake target
Jean-Baptiste Kempf [Tue, 31 May 2016 10:05:26 +0000 (12:05 +0200)]
Contribs: make projectM depend on the toolchain.cmake target

3 years agocontrib: don't unnecessary rebuild microdns
Andrey Gursky [Tue, 31 May 2016 00:59:11 +0000 (02:59 +0200)]
contrib: don't unnecessary rebuild microdns

As a rule the content of a tarball doesn't have newer timestamps than the
tarball file itself. Thus after unpacking the directory microdns has an
older timestamp than the tarball file. Every time make runs, it thinks the
tarball has been updated and microdns must be rebuilt.

To avoid this, additionally touch the directory microdns after unpacking,
which is already included in a predefined command MOVE.

Signed-off-by: Thomas Guillem <thomas@gllm.fr>
3 years agotest: libvlc: add missing static
Thomas Guillem [Mon, 30 May 2016 16:50:15 +0000 (18:50 +0200)]
test: libvlc: add missing static

3 years agoFirst step for an AppStream Metadata file
Jean-Baptiste Kempf [Mon, 30 May 2016 11:36:53 +0000 (13:36 +0200)]
First step for an AppStream Metadata file

3 years agoextras/tools: bump automake to 1.15
Sean McGovern [Sun, 29 May 2016 14:39:06 +0000 (10:39 -0400)]
extras/tools: bump automake to 1.15

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
3 years agoContribs: Qt: fix sed command for Qt5Gui.pc
Hannes Domani [Sun, 29 May 2016 17:42:18 +0000 (19:42 +0200)]
Contribs: Qt: fix sed command for Qt5Gui.pc

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
3 years agoconfigure: check only for adequate math optimizations (fix #16907)
Rémi Denis-Courmont [Sun, 29 May 2016 19:46:44 +0000 (22:46 +0300)]
configure: check only for adequate math optimizations (fix #16907)

3 years agom4: helper for -f flags
Rémi Denis-Courmont [Sun, 29 May 2016 19:46:27 +0000 (22:46 +0300)]
m4: helper for -f flags

3 years agoandroid: ignore cancellation of foreign threads
Rémi Denis-Courmont [Sun, 29 May 2016 18:51:02 +0000 (21:51 +0300)]
android: ignore cancellation of foreign threads

3 years agoQt: fix playlist item menu play&pause actions
Jean-Baptiste Kempf [Sun, 29 May 2016 16:27:58 +0000 (18:27 +0200)]
Qt: fix playlist item menu play&pause actions

Close #16893

3 years agoQt: remove tabs
Jean-Baptiste Kempf [Sun, 29 May 2016 15:01:06 +0000 (17:01 +0200)]
Qt: remove tabs

3 years agocontribs: remove d2d headers package
Jean-Baptiste Kempf [Sun, 29 May 2016 10:37:07 +0000 (12:37 +0200)]
contribs: remove d2d headers package

Close #16968

3 years agoFix build for Android
Andrey Gursky [Sat, 28 May 2016 15:39:30 +0000 (17:39 +0200)]
Fix build for Android

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
3 years agoOpenGL: use 3D coordinates and a vertex index buffer to draw the texture rectangle
Adrien Maglo [Wed, 25 May 2016 17:55:23 +0000 (19:55 +0200)]
OpenGL: use 3D coordinates and a vertex index buffer to draw the texture rectangle

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
3 years agocore: add 3D stereo information to video_format_t
Felix Abecassis [Tue, 9 Sep 2014 17:03:20 +0000 (19:03 +0200)]
core: add 3D stereo information to video_format_t

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
3 years agoinclude: add variables to video_format_t for 360 videos
Adrien Maglo [Wed, 25 May 2016 17:55:22 +0000 (19:55 +0200)]
include: add variables to video_format_t for 360 videos

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
3 years agowin32: fix integer underflow in vlc_timer_schedule()
Rémi Denis-Courmont [Sat, 28 May 2016 13:42:52 +0000 (16:42 +0300)]
win32: fix integer underflow in vlc_timer_schedule()

3 years agowin32: wait for timer completion when rescheduling
Rémi Denis-Courmont [Sat, 28 May 2016 13:39:12 +0000 (16:39 +0300)]
win32: wait for timer completion when rescheduling

3 years agoandroid: use generic condition variable and wait (fix #14586)
Rémi Denis-Courmont [Thu, 26 May 2016 22:13:57 +0000 (01:13 +0300)]
android: use generic condition variable and wait (fix #14586)

3 years agoandroid: remove stray #include
Rémi Denis-Courmont [Sat, 28 May 2016 13:02:24 +0000 (16:02 +0300)]
android: remove stray #include

3 years agoandroid: fix macro expansion
Rémi Denis-Courmont [Sat, 28 May 2016 13:01:13 +0000 (16:01 +0300)]
android: fix macro expansion

3 years agomtime: remove stray #include, fix warning on Windows
Rémi Denis-Courmont [Fri, 27 May 2016 21:40:44 +0000 (00:40 +0300)]
mtime: remove stray #include, fix warning on Windows

We do not call clock_gettime() in this file anymore.

3 years agothreads: mwait() and msleep() using futex
Rémi Denis-Courmont [Thu, 26 May 2016 19:19:48 +0000 (22:19 +0300)]
threads: mwait() and msleep() using futex

This can be used to handle cancellation during msleep() and mwait() if
it would not otherwise work out of the box.

3 years agowin32: use condition variable (fixes #14668)
Rémi Denis-Courmont [Thu, 26 May 2016 21:31:55 +0000 (00:31 +0300)]
win32: use condition variable (fixes #14668)

This replaces the ever flawed condition variables implementation with
a less antique back-end. While designed for Windows 8 and later, a less
efficient fallback mode is provided for older supported versions.

3 years agothreads: condition variables with futex
Rémi Denis-Courmont [Mon, 8 Feb 2016 18:31:46 +0000 (20:31 +0200)]
threads: condition variables with futex

This hopefully deals with both broadcast and cancellation correctly.

3 years agowin32: run-time fallback for condition variable
Rémi Denis-Courmont [Fri, 27 May 2016 19:42:25 +0000 (22:42 +0300)]
win32: run-time fallback for condition variable

3 years agowin32: run-time fallback for WaitOnAddress() and WakeByAddress()
Rémi Denis-Courmont [Thu, 26 May 2016 19:32:21 +0000 (22:32 +0300)]
win32: run-time fallback for WaitOnAddress() and WakeByAddress()

3 years agowin32: provide vlc_addr_*() functions
Rémi Denis-Courmont [Thu, 26 May 2016 19:32:03 +0000 (22:32 +0300)]
win32: provide vlc_addr_*() functions

Where available, use WaitOnAddress(), WakeByAddressSingle(), and
WakeByAddressAll(). They map almost directly.

3 years agolinux: add wait-on-address/futex functions
Rémi Denis-Courmont [Wed, 25 May 2016 20:10:32 +0000 (23:10 +0300)]
linux: add wait-on-address/futex functions

This only provides the Linux back-end. Those functions are not exported
since they are not universally available (and not meant to be used by
plugins at this point).

3 years agowin32: fix delay rounding error
Rémi Denis-Courmont [Fri, 27 May 2016 21:32:22 +0000 (00:32 +0300)]
win32: fix delay rounding error

Delay must be rounded up, not down.

3 years agowin32: fix mdate() crashing in test cases
Rémi Denis-Courmont [Fri, 27 May 2016 21:18:03 +0000 (00:18 +0300)]
win32: fix mdate() crashing in test cases

Test cases do not call vlc_threads_setup(). Some of them still need a
working clock. This fixes at least the timer test.

3 years agowin32: make thread killed flag atomic
Rémi Denis-Courmont [Fri, 27 May 2016 18:38:51 +0000 (21:38 +0300)]
win32: make thread killed flag atomic

Setting the flag in APC had the benefit of not needing atomicity, but
it meant the flag only got set at the next opportunity to run APC's.

Especially vlc_testcancel() is not an alertable function, so it would
typically be slower. If the thread did not go to alertable sleep, then
vlc_testcancel() would not work at all.

Since vlc_cancel() and vlc_testcancel() do not imply any memory
barriers, the loads and stores can be relaxed. That removes most if not
all of the overhead of the atomic operations.

3 years agomicrodns: fix ipv6 support
Thomas Guillem [Fri, 27 May 2016 13:48:44 +0000 (15:48 +0200)]
microdns: fix ipv6 support

psz_ip6 was invalid outside parse_entries()

3 years agocodec: videotoolbox: fix annexb parsing
Francois Cartegnie [Fri, 27 May 2016 09:40:20 +0000 (11:40 +0200)]
codec: videotoolbox: fix annexb parsing

3 years agomux: mp4: fix avcC
Francois Cartegnie [Fri, 27 May 2016 09:30:34 +0000 (11:30 +0200)]
mux: mp4: fix avcC