Marvin Scholz [Sat, 29 Oct 2016 12:57:30 +0000 (14:57 +0200)]
contrib: Fix wrong deployment target on macOS
This adds MACOSX_DEPLOYMENT_TARGET (which will be set to the value of
the MIN_OSX_VERSION variable) so contribs that only use xcodebuild
(like BGHUDKit) will use the correct deployment target.
Marvin Scholz [Sat, 29 Oct 2016 10:28:42 +0000 (12:28 +0200)]
contrib: Remove special case for Xcode 3
Xcode 3 is ancient and Xcode 4 is available for OS X 10.7 (the oldest
OS X version that VLC supports) so this special case can be removed.
Rémi Denis-Courmont [Sun, 30 Oct 2016 20:12:17 +0000 (22:12 +0200)]
linux: implement vlc_getaddrinfo_i11e()
Rémi Denis-Courmont [Sun, 30 Oct 2016 20:34:16 +0000 (22:34 +0200)]
posix: implement vlc_getaddrinfo_i11e()
Rémi Denis-Courmont [Sun, 30 Oct 2016 20:11:08 +0000 (22:11 +0200)]
net: add vlc_getaddrinfo_i11e() stub
The function should provide interrupt DNS resolution, so a thread can
abort a DNS query (e.g. if network is down or really slow).
The stub is not interruptible. This makes no difference to the existing
uninterruptible (mis)behaviour.
Francois Cartegnie [Fri, 28 Oct 2016 18:34:56 +0000 (20:34 +0200)]
demux: mp4: store chunk duration instead of last dts
Francois Cartegnie [Sat, 29 Oct 2016 14:52:48 +0000 (16:52 +0200)]
codec: cc: fix replaytv field ordering
guess from samples
Francois Cartegnie [Sat, 29 Oct 2016 14:50:40 +0000 (16:50 +0200)]
codec: cc: fix replay tv multiple packets per private data
according to samples, there always can be more than 8 bytes
Francois Cartegnie [Sat, 29 Oct 2016 14:21:56 +0000 (16:21 +0200)]
codec: cc: add comments
Francois Cartegnie [Sat, 29 Oct 2016 13:55:51 +0000 (15:55 +0200)]
demux: ts: improve ARIB probing
refs HigashiNoEden8CCs.ts
Francois Cartegnie [Sat, 29 Oct 2016 13:23:55 +0000 (15:23 +0200)]
demux: ts: read component_id instead of memcmp
Francois Cartegnie [Sat, 29 Oct 2016 13:18:33 +0000 (15:18 +0200)]
demux: ts: simplify component tag matching
Sebastian Ramacher [Sun, 30 Oct 2016 11:20:31 +0000 (12:20 +0100)]
configure: fix typo in ALTIVEC_CFLAGS assignment
This looks like a typo to me and should have been ALTIVEC_CFLAGS instead.
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Rémi Denis-Courmont [Sat, 29 Oct 2016 15:03:02 +0000 (18:03 +0300)]
input: remove write-only, unsafe and deprecated b_dead flag
Rémi Denis-Courmont [Sat, 29 Oct 2016 15:02:36 +0000 (18:02 +0300)]
configure: remove legacy nanosleep header check
Marvin Scholz [Sat, 29 Oct 2016 12:58:18 +0000 (14:58 +0200)]
contrib: Do not build microdns by default on macOS
libmicrodns does not work on macOS as bonjour is
used there, so it makes not much sense to build it
on macOS.
See https://github.com/videolabs/libmicrodns/issues/9
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Rémi Denis-Courmont [Fri, 28 Oct 2016 18:59:35 +0000 (21:59 +0300)]
test: fix linking (with --disable-shared)
Rémi Denis-Courmont [Fri, 28 Oct 2016 18:55:49 +0000 (21:55 +0300)]
fix warning
Filip Roséen [Thu, 13 Oct 2016 20:43:13 +0000 (22:43 +0200)]
demux/playlist/xspf: fix input-item uri creation
The previous implementation inaccurately treated "p_sys->psz_base" as
if it was referring to whatever directory (uri-wise) that contains the
playlist we are currently processing.
Given that this is not the case, it would not handle relative paths
correctly.
These changes make sure that we use ProcessMRL to properly handle the
paths found within the playlist (the function handles both absolute
and relative ones).
fixes #17506
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Filip Roséen [Fri, 28 Oct 2016 08:49:46 +0000 (10:49 +0200)]
test/url: add tests for invalid URLs
These added checks are there to make sure that common mistakes when
parsing the port-specification of an URL are avoided.
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Filip Roséen [Fri, 28 Oct 2016 08:49:45 +0000 (10:49 +0200)]
test/url: make it easier to check invalid URLs
The previous implementation, somewhat unconditionally, made
assumptions about the internal state of the result of `vlc_UrlParse`,
meaning that it was inherently difficult to check if invalid URLs was
correctly rejected.
These changes simply asserts that vlc_UrlParse failed if all of the
arguments (used to verify the result) are NULL or 0.
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Filip Roséen [Fri, 28 Oct 2016 08:49:44 +0000 (10:49 +0200)]
test/url: move test for empty port-specification
According to RFC3986, the port specifier does not have to contain
digits following the colon. This means that "http://example.com:" is a
valid URI, and that the relevant test should not be within the
"Invalid URIs"-group.
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Filip Roséen [Fri, 28 Oct 2016 12:46:10 +0000 (14:46 +0200)]
text/url: fix port handling in vlc_UrlParse
Differences compared to the previous implementation:
- accept URLs with empty port-specification (RFC3986, 3.2.3).
- reject port-specification with leading sign (RFC3986 only
allows *DIGIT).
refs #17555
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Thomas Guillem [Fri, 28 Oct 2016 12:47:13 +0000 (14:47 +0200)]
dts_header: refactor
Handle DTS magic sync code in only one place.
And rename b_dts_hd to b_substream. This boolean means that the dts frame is a
substream (extension of DTS-Core).
Thomas Guillem [Fri, 28 Oct 2016 10:04:59 +0000 (12:04 +0200)]
mpeg/es: dts: use VLC_DTS_HEADER_SIZE for probe size
Thomas Guillem [Fri, 28 Oct 2016 10:00:22 +0000 (12:00 +0200)]
mpeg/es: fix dts probe in WAV
pi_samples is needed to check if the sync is followed by an other sync when the
WAV file has 0 padding.
Thomas Guillem [Fri, 28 Oct 2016 09:15:08 +0000 (11:15 +0200)]
tospdif: no S/PDIF header for DTS inside WAV
If there is not enough room for it.
Thomas Guillem [Fri, 28 Oct 2016 08:51:01 +0000 (10:51 +0200)]
tospdif: fix buffer bundaries check
Rémi Denis-Courmont [Fri, 28 Oct 2016 14:59:38 +0000 (17:59 +0300)]
smf: fix division by zero
Rémi Denis-Courmont [Fri, 28 Oct 2016 14:11:55 +0000 (17:11 +0300)]
xa: fix divisions by zero
Filip Roséen [Fri, 28 Oct 2016 13:53:50 +0000 (15:53 +0200)]
lua/intf/cli: make info command more versatile
Prior to this patch, the "info"-command could only be used to query
information related to the currently playing entity. These changes
allow the user to get information about other entities in the
playlist, based on the playlist-id.
fixes #17549
Signed-off-by: Pierre Ynard <linkfanel@yahoo.fr>
Rémi Denis-Courmont [Fri, 28 Oct 2016 13:39:28 +0000 (16:39 +0300)]
smf: fix leak on invalid input
Rémi Denis-Courmont [Fri, 28 Oct 2016 13:15:55 +0000 (16:15 +0300)]
voc: fix division by zero
If buf[3] == 0xff, i_channels wraps to 0, and i_rate triggers SIGFPE.
Rémi Denis-Courmont [Fri, 28 Oct 2016 08:00:42 +0000 (11:00 +0300)]
modules: remove useless parameters for static builds and fix them
Rémi Denis-Courmont [Fri, 28 Oct 2016 07:55:19 +0000 (10:55 +0300)]
modules: add --no-plugins-scan option to turn off directory scanning
With that options, plugins are *only* loaded from the cache. This
reduces the run time of libvlc_new() (about 2.5x on my system).
But new plugins won´t be picked up until the cache is regenerated.
Filip Roséen [Fri, 28 Oct 2016 06:52:01 +0000 (08:52 +0200)]
modules/bank: prevent null-pointer dereference in AllocatePluginFile
Given that module_InitDynamic can fail and return a NULL pointer to
signal the error, we cannot unconditionally set data-members of the
referred to vlc_plugin_t.
These changes fixes the issue by introducing an explicit branch
related to initialization.
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Rémi Denis-Courmont [Thu, 27 Oct 2016 20:57:12 +0000 (23:57 +0300)]
udp: fix comments
Rémi Denis-Courmont [Thu, 27 Oct 2016 20:07:40 +0000 (23:07 +0300)]
modules: remove stray assertions
These no longer make sense.
Rémi Denis-Courmont [Thu, 27 Oct 2016 20:04:23 +0000 (23:04 +0300)]
Fix indentation
Rémi Denis-Courmont [Thu, 27 Oct 2016 20:03:46 +0000 (23:03 +0300)]
modules: move modules count to plugin and simplify
Rémi Denis-Courmont [Thu, 27 Oct 2016 19:57:40 +0000 (22:57 +0300)]
modules: fix potential NULL dereference
Rémi Denis-Courmont [Thu, 27 Oct 2016 19:35:57 +0000 (22:35 +0300)]
modules: remove module_t.submodule and simplify
Rémi Denis-Courmont [Thu, 27 Oct 2016 19:25:20 +0000 (22:25 +0300)]
cache: remove recursive function in save path
With the removal of CacheMerge() (in
ddf09a29), the relative order of
submodules within a plugin no longer has any significance. So there is
no need for this recursion trick anymore.
Rémi Denis-Courmont [Thu, 27 Oct 2016 19:44:48 +0000 (22:44 +0300)]
modules: fix flawed logic in module_config_get()
Rémi Denis-Courmont [Thu, 27 Oct 2016 18:58:01 +0000 (21:58 +0300)]
modules: inline CacheAdd() and run it only as needed
The per-directory plugins table is only used to save a new plugins
cache, in other words, in "cache reset" mode.
Rémi Denis-Courmont [Thu, 27 Oct 2016 18:38:58 +0000 (21:38 +0300)]
modules: drop stale cache entries
There can only be one plugin file with a given path, so if the name
matches but the size or time does not, we know the entry is stale and
useless.
Also print an error if it happens.
Rémi Denis-Courmont [Thu, 27 Oct 2016 18:30:44 +0000 (21:30 +0300)]
modules: allocate absolute path during cache loading
Rémi Denis-Courmont [Thu, 27 Oct 2016 18:22:07 +0000 (21:22 +0300)]
modules: remove some stray code
Rémi Denis-Courmont [Thu, 27 Oct 2016 18:41:25 +0000 (21:41 +0300)]
Android build fix
Tristan Matthews [Thu, 27 Oct 2016 16:47:11 +0000 (12:47 -0400)]
mpg123: fix uninitialized read in DecodeBlock
Caught with valgrind.
Rémi Denis-Courmont [Thu, 27 Oct 2016 16:59:06 +0000 (19:59 +0300)]
modules: load plugins for choice list on need basis
So far, they were loaded at start-up even if there was no request to
enumerate the choices.
Rémi Denis-Courmont [Thu, 27 Oct 2016 16:20:57 +0000 (19:20 +0300)]
plugin: robustify loading cached plugin
So far a cached plugin was loaded in memory, then the plugin
description was uselessly rebuilt from the loaded plugin, and then the
fuzzy "cache merge" was performed.
With this change, the cached plugin is loaded in memory, then the
plugin callbacks are matched by name. The description is not rebuilt
and the cache is not "merged".
Rémi Denis-Courmont [Thu, 27 Oct 2016 16:03:34 +0000 (19:03 +0300)]
module: store callback names rather than address
Storing a relocatable pointer in the plugins cache made little sense.
In practice, it was only usable for comparison with NULL.
Rémi Denis-Courmont [Thu, 27 Oct 2016 12:15:13 +0000 (15:15 +0300)]
plugin: match prototypes for callbacks as variable args
Cast was missing, leading to mismatch.
Rémi Denis-Courmont [Thu, 27 Oct 2016 12:01:36 +0000 (15:01 +0300)]
plugin: pass string identifier for callbacks
This would enable identifying unique callback functions within a plugin
even when the plugin is not loaded, and in particular within the
plugins cache file.
Rémi Denis-Courmont [Thu, 27 Oct 2016 15:44:53 +0000 (18:44 +0300)]
cache: factor common module saving
Tristan Matthews [Thu, 27 Oct 2016 05:19:30 +0000 (01:19 -0400)]
stream_filter: adf: require .adf extension
This should avoid some false positives.
Rémi Denis-Courmont [Thu, 27 Oct 2016 15:31:38 +0000 (18:31 +0300)]
url: return an error if the port is not a number (fixes #17555)
Rémi Denis-Courmont [Thu, 27 Oct 2016 15:31:29 +0000 (18:31 +0300)]
url: test invalid port numbers
Rémi Denis-Courmont [Thu, 27 Oct 2016 14:02:45 +0000 (17:02 +0300)]
cache: fix year 2038 problem and FILE_OFFSET_BITS dependency
Rémi Denis-Courmont [Thu, 27 Oct 2016 13:55:06 +0000 (16:55 +0300)]
cache: factor common module/submodule loading
Rémi Denis-Courmont [Thu, 27 Oct 2016 13:48:02 +0000 (16:48 +0300)]
cache: allow help string for submodules
This is the only remaining difference between modules and submodules.
I see no particular reasons not to support it; a submodule could
for instance provide a different URI scheme than the parent module.
Rémi Denis-Courmont [Thu, 27 Oct 2016 13:44:36 +0000 (16:44 +0300)]
cache: remove no-op
Rémi Denis-Courmont [Thu, 27 Oct 2016 13:05:39 +0000 (16:05 +0300)]
modules: remove OS/2 kludge
Steve Lhomme [Thu, 27 Oct 2016 06:28:10 +0000 (08:28 +0200)]
contrib: tiff: use version 4.0.6
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Steve Lhomme [Wed, 26 Oct 2016 15:40:43 +0000 (17:40 +0200)]
contrib: libxml2: don't disable debug in debug builds
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Steve Lhomme [Wed, 26 Oct 2016 15:40:04 +0000 (17:40 +0200)]
contrib: glew: use the system package if possible
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Steve Lhomme [Wed, 26 Oct 2016 15:40:03 +0000 (17:40 +0200)]
contrib: goom: use the system package if possible
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Rémi Denis-Courmont [Thu, 27 Oct 2016 11:18:30 +0000 (14:18 +0300)]
gettext: update to version 0.19.8
Steve Lhomme [Wed, 26 Oct 2016 15:36:52 +0000 (17:36 +0200)]
contrib: zvbi: depend on png for building
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Steve Lhomme [Wed, 26 Oct 2016 15:35:06 +0000 (17:35 +0200)]
contrib: soxr: use the proper cmake generator
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Steve Lhomme [Wed, 26 Oct 2016 15:35:05 +0000 (17:35 +0200)]
contribs: fix cmake target on Windows
On Windows cmake build for a Visual Studio target if it's installed, no matter
what the target we want to build. Reverting to MSys makefiles allow normal
autotools builds to be used
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Francois Cartegnie [Thu, 27 Oct 2016 11:06:57 +0000 (13:06 +0200)]
Revert "packetizer: mlp: flag discontinuity on timebase change"
This reverts commit
81703617662aa32a173d5758bf7327a8502c1541.
Francois Cartegnie [Thu, 27 Oct 2016 11:06:41 +0000 (13:06 +0200)]
Revert "packetizer: dts: notify discontinuities on timebase change"
This reverts commit
4e18fe02108f263442ba19e7bb3ff557c5376556.
Francois Cartegnie [Thu, 27 Oct 2016 11:06:25 +0000 (13:06 +0200)]
Revert "packetizer: a52: flag discontinuity on timebase change"
This reverts commit
5bff0f42104e21ff503d13b50b45660938af56f0.
Francois Cartegnie [Thu, 27 Oct 2016 11:06:13 +0000 (13:06 +0200)]
Revert "packetizer: mpeg4audio: flag discontinuity on timebase change"
This reverts commit
ef6dd48f8ef753c87d445ec6853baf0b61b573ca.
Francois Cartegnie [Thu, 27 Oct 2016 11:04:32 +0000 (13:04 +0200)]
Revert "packetizer: mpegaudio: flag discontinuity on timebase change"
This reverts commit
ce02dd5c0defc8f15b93f8b6c6b986cfaadfa50e.
Steve Lhomme [Wed, 26 Oct 2016 15:32:27 +0000 (17:32 +0200)]
contrib: use pkg from contribs before the user ones
If the user directories contain an older or otherwise inadequate
package version, contrib will rebuild a suitable version. If it is a
dependency of another contrib package, then pkg-config needs to look up
the contrib version before the user version.
This behaviour is already what happens for system packages in the
default pkg-config directories: they are processed after the
directories from the environment variable.
(Rewritten description)
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Rémi Denis-Courmont [Thu, 27 Oct 2016 10:11:27 +0000 (13:11 +0300)]
modules: make module_Map() lock-less on fast path
No more locking if the module requested is already loaded.
Rémi Denis-Courmont [Thu, 27 Oct 2016 07:45:13 +0000 (10:45 +0300)]
modules: move module handle and path to plugin structure
Rémi Denis-Courmont [Thu, 27 Oct 2016 07:18:10 +0000 (10:18 +0300)]
modules: move text domain to plugin
Separate text domains for modules in the same library would not make
much sense, and it was never supported.
Rémi Denis-Courmont [Thu, 27 Oct 2016 07:12:49 +0000 (10:12 +0300)]
modules: factor vlc_plugin_t creation
Rémi Denis-Courmont [Wed, 26 Oct 2016 21:10:53 +0000 (00:10 +0300)]
modules: move configuration items into vlc_plugin_t
Rémi Denis-Courmont [Wed, 26 Oct 2016 19:56:03 +0000 (22:56 +0300)]
cache: reorder submodules and configuration
This will be useful for later changes.
Rémi Denis-Courmont [Wed, 26 Oct 2016 19:49:45 +0000 (22:49 +0300)]
cache: recompute items and bool items counters
Recomputing the values is cheap and ensures that they are correct.
Incorrect values could trigger buffer overflows in the configuration
code.
Rémi Denis-Courmont [Wed, 26 Oct 2016 16:22:55 +0000 (19:22 +0300)]
modules: introduce vlc_plugin_t, remove module_cache_t
This introduces a dedicated compound type for module containers
(i.e. plug-in shared libraries or statically linked module
descriptors), or plug-in. A plug-in can contain any number of
modules. The type describes plug-ins regardless of whence they came
from, libvlccore ("main"), static linking, dynamic linking or the
plug-ins cache.
Previously, plug-ins from the cache were described by module_cache_t,
only during the loading phase, while module_t was (ab)used to describe
loaded or cached plug-ins. Ultimately, that allows moving properties of
plug-ins out of the module structure where they do not really belong,
since there can be multiple modules per plug-ins.
Rémi Denis-Courmont [Wed, 26 Oct 2016 13:37:31 +0000 (16:37 +0300)]
cache: reorder to avoid forward declarations
Francois Cartegnie [Mon, 24 Oct 2016 14:40:56 +0000 (16:40 +0200)]
mux: ts: reword stream selection
Francois Cartegnie [Wed, 26 Oct 2016 17:10:42 +0000 (19:10 +0200)]
packetizer: mpeg4video: fix unused vars warnings
Francois Cartegnie [Wed, 26 Oct 2016 13:52:51 +0000 (15:52 +0200)]
packetizer: mlp: flag discontinuity on timebase change
Francois Cartegnie [Wed, 26 Oct 2016 13:50:37 +0000 (15:50 +0200)]
packetizer: mlp: forward discontinuities
Francois Cartegnie [Wed, 26 Oct 2016 13:48:57 +0000 (15:48 +0200)]
packetizer: mlp: add draining and handle discontinuities
Francois Cartegnie [Wed, 26 Oct 2016 13:41:36 +0000 (15:41 +0200)]
packetizer: dts: implement draining and handle discontinuities
Francois Cartegnie [Wed, 26 Oct 2016 13:38:50 +0000 (15:38 +0200)]
packetizer: dts: notify discontinuities on timebase change
Francois Cartegnie [Wed, 26 Oct 2016 13:37:13 +0000 (15:37 +0200)]
packetizer: dts: forward discontinuities
Francois Cartegnie [Wed, 26 Oct 2016 12:50:49 +0000 (14:50 +0200)]
packetizer: a52: add draining and handle discontinuities
Francois Cartegnie [Wed, 26 Oct 2016 12:42:51 +0000 (14:42 +0200)]
packetizer: a52: flag discontinuity on timebase change
Francois Cartegnie [Wed, 26 Oct 2016 12:41:45 +0000 (14:41 +0200)]
packetizer: a52: forward discontinuities
Francois Cartegnie [Wed, 26 Oct 2016 12:01:17 +0000 (14:01 +0200)]
packetizer: mpeg4audio: implement draining and handle discontinuities
Francois Cartegnie [Tue, 25 Oct 2016 11:20:39 +0000 (13:20 +0200)]
packetizer: mpeg4audio: flag discontinuity on timebase change