1
mirror of https://code.videolan.org/videolan/vlc synced 2024-09-04 09:11:33 +02:00
Commit Graph

3569 Commits

Author SHA1 Message Date
Jean-Baptiste Kempf
9c3d668dab dav1d: require 0.5.0 for ITU T.35 2020-02-13 23:10:00 +01:00
Thomas Guillem
c21b536775 configure: fix --disable-branch-protection
"enable_brprot" was never set when --disable-branch-protection was passed, so
the test != "no" was always true.

Use the name "enable_branch_protection" instead that will be initialized by
autoconf.

PS: --disable-branch-protection seems to be needed to get symbols via gdb.
2020-01-31 10:33:31 +01:00
John Cox
59ddce955a mmal: deinterlace: don't use deinterlace if we don't have enough memory
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2020-01-27 11:29:52 +01:00
Felix Paul Kühne
ee0f8c6106 configure: fix compilation for tvOS
Both daemon and fork are declared for tvOS but are not available for use, so we need to explicitly ignore them.
2020-01-22 17:28:41 +01:00
John Cox
54d74eb21c mmal: initialize the VideoCore Shared Memory
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2020-01-20 08:16:19 +01:00
Hugo Beauzée-Luyssen
7244f4240e contrib: medialib: Bump version 2020-01-09 16:25:59 +01:00
Rémi Denis-Courmont
bab14fed97 configure: happy new year 2020-01-01 14:10:29 +02:00
Marvin Scholz
a258e1ef66 configure: simplify chromaprint dependency check 2019-12-09 16:52:43 +01:00
Rémi Denis-Courmont
2b24b500a6 configure: update AArch64 branch protection
Use the new compiler flag syntax. This fixes a warning per build.
This also enables use of BTI in C/C++ code.
2019-12-05 17:54:45 +02:00
KO Myung-Hun
c6256b7499 build: os2: enable X86ASM
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2019-11-29 20:13:59 +02:00
Marvin Scholz
856ddd8d1a macosx: Add -fno-stack-check to workaround Xcode 11 issue
Compiling with Xcode 11 automatically enables the -fstack-check feature
which causes stack checking error due to unaligned stack which seem
to not be true. Lots of projects are affected by this currently
so hopefully this will be fixed in an Xcode update.
2019-11-18 15:34:04 +01:00
Thomas Guillem
731510839d bluray: check for getmntent_r symbol
getmntent_r is not necessarily available when the mntent.h header is present
(cf.  Android).
2019-11-07 09:54:17 +01:00
Marvin Scholz
ec21a77678 configure: Add -DPIC to X86ASMDEFS for --with-pic
DOLT (provides doltlibtool and doltcompile to make compilation faster
by not always running full libtool) does not handle --with-pic at all,
so even when PIC is requested, it won't use it.

As a workaround manually add it to X86ASMDEFS.
2019-10-18 11:08:12 +02:00
Rémi Denis-Courmont
55a4936a6d configure: test for fstatat() rather than openat()
It does not make much difference in practice as they should always
come together, but fstatat() is what the code base uses conditionally.
2019-09-21 12:47:18 +03:00
Jai Luthra
44eec23c11 nvdec: Add NVDEC decoder
This is based on the GSoC project of Jai Luthra which final code can be
found here https://code.videolan.org/gsoc2019/darkapex/vlc/commits/nvdec_merge

The added patches on top of this proposal (cleaning, fixing, more codecs) can
be found here https://code.videolan.org/robUx4/vlc/tree/nvdec/10

By default we use Bob deinterlacing if the source is interlaced.

Do not use the VP9 decoder if the profile is unknown, it may need 10 bits
support and the hardware may not support it. This is the same way we support
VP9 in DXVA.

The decoder currently has a lower priority than libavcodec.

Co-authored-by: Jai Luthra <me@jailuthra.in>
Co-authored-by: Steve Lhomme <robux4@videolabs.io>

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2019-09-18 08:46:57 +02:00
Hugo Beauzée-Luyssen
87b7816cdb configure: Require libmodplug >= 0.8.9 2019-08-14 14:03:49 +02:00
Hugo Beauzée-Luyssen
51c8c0c89b configure: Require libebml >= 1.3.6 2019-08-08 12:22:14 +02:00
Thomas Guillem
f083979249 configure: require smb2 3.0.0
That support port specifications.
2019-08-06 12:08:34 +02:00
Rémi Denis-Courmont
cd80b6ab72 compat: restore posix_memalign()
aligned_alloc() is not portably suitable for over-alignments.
posix_memalign()/memalign() are still needed.

This essentially reverts commit 34cd965645.
2019-07-26 21:31:19 +03:00
Rémi Denis-Courmont
d81e7d64ac configure: fix library name case 2019-07-25 20:42:30 +03:00
Rémi Denis-Courmont
4f3c3b836d configure: "yes" is not a directory 2019-07-25 20:38:40 +03:00
Pierre Lamot
9d2bdf0b11 configure: fix qmlcachegen detection
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2019-07-16 10:01:47 +02:00
Rémi Denis-Courmont
b33b29cad3 configure: enable ARMv8.3 Pointer Authentication
If the compiler supports the the dedicated code generation command line
flag, use it to provide return/backward control flow integrity (CFI).

This provides protection against return-oriented programming attacks on
where supported. This has no effects if the processor and/or operating
system do not support the extension, except for adding no-ops in the
generated machine code.

So far the AArch64 assembler code in VLC is only made of leaf functions
which do not not store/load the link register value, so there are no
needs to use the Pointer Authentication instructions manually (at least
not for return-CFI).
2019-07-10 21:54:07 +03:00
Erwan Tulou
656fb07688 Revert "configure: disable skins2"
This reverts commit 376d2b5611.
2019-07-06 18:49:55 +02:00
Marvin Scholz
b7222277c0 configure: Remove tizen-audio option
There is no tizen_audio module anymore.
2019-07-01 15:58:58 +02:00
Marvin Scholz
b877596e59 configure: Remove check for Tizen SDK
HAVE_TIZEN_SDK is not used anywhere in the code anymore, so this
is not needed.
2019-06-20 14:17:08 +02:00
Steve Lhomme
cb3e3498d8 configure: add an option to generate PDB files when building
This will only be enabled when building windows targets and will only work when
compiling with Clang.
2019-05-21 14:35:42 +02:00
Thomas Guillem
376d2b5611 configure: disable skins2
It need to be ported to the new player, playlist and tree.
2019-05-10 09:43:21 +02:00
Rémi Denis-Courmont
25de1bd308 gnutls: require version 3.5.0+ 2019-04-14 15:53:17 +03:00
Rémi Denis-Courmont
d3a2ebf1a5 configure: socklen_t should be unsigned
Originally, POSIX made it unsigned. This was relaxed in newer releases,
but unsigned makes more sense anyway since it expressses a size.
2019-04-14 10:15:47 +03:00
Pierre Lamot
88efeca90c qt: use qmlcachegen to preprocess qml files
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
2019-04-10 14:13:01 +02:00
Pierre Lamot
c5bb74756e qt: add option to setup QML debugging probe
See http://doc.qt.io/qt-5/qtquick-debugging.html#starting-applications

Signed-off-by: Thomas Guillem <thomas@gllm.fr>
2019-04-10 14:11:43 +02:00
Pierre Lamot
ae422ac67e qt: update minimal required version to 5.11
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
2019-04-10 14:11:43 +02:00
Hugo Beauzée-Luyssen
5aafa3a376 codec: Remove wmafixed
It is not built by default, and there are some security concerns if it
would.
2019-04-04 10:31:17 +02:00
Hugo Beauzée-Luyssen
f799f9ced9 configure.ac: Bump required C++ version to 14 2019-04-04 10:31:17 +02:00
Steve Lhomme
16040ccb7a do not use tchar.h in VLC
We don't include tchar.h anymore, nor TCHAR, nor the *tcs* APIs. Using any of
these will fail to compile if tchar.h is not included. In MinGW it's never
included through other headers.

We don't need _UNICODE either which is specific to tchar.h.
2019-04-03 10:28:50 +02:00
Steve Lhomme
fa1bf247e0 configure: fix vcd + winstore test for some Linux build systems 2019-04-01 12:03:12 +02:00
Steve Lhomme
0fc8e67cfc vout: directdraw: remove this display module
For old windows version there's always the GDI fallback.
2019-03-29 16:01:29 +01:00
David Fuhrmann
80b149ddf9 configure.ac: Require at least srt 1.3.0
Recent commits use defines like SRT_LIVE_DEF_PLSIZE, which are
only available starting with that srt version.
2019-03-20 21:11:19 +01:00
Steve Lhomme
535b27b469 configure: disable vcd/cdda access for Winstore builds
DeviceIoControl and all the IOCTL_CDROM_xxx we use are not available
2019-03-20 11:09:47 +01:00
Steve Lhomme
a179f3645f configure: remove the PKG_CONFIG_PATH variable
It's already set by the PKG_PROG_PKG_CONFIG call below with a nicer order of
variables and more official documentation.
2019-03-19 11:55:00 +01:00
Steve Lhomme
d64901cdea configure: fix the PKG_CONFIG_PATH when building on mingw32 shells
The mingw32/mingw64 pkg-config doesn't handle UNIX pathes
2019-03-19 11:37:39 +01:00
Steve Lhomme
277b45efff configure: use WINSTORECOMPAT when building for Windows Store
We may use some forbidden APIs that are actually usable via WindowsStoreCompat

GetACP in the core, for example.
2019-03-19 11:37:38 +01:00
Konstantin Pavlov
d5ec278bde configure: restore FLAGS after avx check 2019-03-07 21:29:37 +03:00
Lyndon Brown
629978898c configure: add AVX(2) module
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2019-03-06 17:11:23 +01:00
Rémi Denis-Courmont
7ce46c2ff8 xcb/xvideo: remove XVideo module
Originally, XVideo was the HAL for video ("2D") overlay.
Nowadays, XVideo is but a backward compatibility wrapper around the 3D
hardware for use by legacy applications (notably GLAMOR provides XVideo
using OpenGL). VLC supports OpenGL well nowadays, so there is no point
in using XVideo.
2019-02-23 16:53:10 +02:00
Jean-Baptiste Kempf
3fce6dbf7d Relax a bit the dvdnav requirement 2019-02-20 19:47:44 +01:00
Jean-Baptiste Kempf
4b2c2a7bd0 Bump dvdnav version requirement to 6.0.0 2019-02-16 15:31:55 +01:00
Thomas Guillem
2e66abe96f configure: enable debug by default
It seems that lot of developers forget to enable this option. This option
enables assert and other debug codes (like the very useful thread/mutex debug
code) that should be mandatory when you dev on VLC.

This is quite a big change: all VLC maintainers should now add
"--disable-debug" when they release a stable version of VLC.
2019-02-08 08:20:40 +01:00
Hugo Beauzée-Luyssen
a4f4e40465 taglib: Require version 1.11 2019-02-07 15:59:02 +01:00
Hugo Beauzée-Luyssen
6934f5ced1 configure.ac: Don't attempt to use kde4-config on Android 2019-02-07 14:24:18 +01:00
Martin Storsjö
4285591989 configure: Don't set X86ASMFLAGS for windows on arm
This avoids enabling HAVE_X86ASM in these configurations, fixing
compilation.

Also set proper values for WINDOWS_ARCH in these configurations.
2019-02-07 12:48:06 +02:00
Martin Storsjö
8a695c31d3 configure: Add a missing $ for a variable expansion
This fixes the test for setting HAVE_X86ASM.
2019-02-07 12:48:06 +02:00
Janne Grunau
d306cad028 build: x86: add build support for nasm via x86inc.asm/x86util.asm
x86inc.asm copied from dav1d (8c5d34c85613) and x86util.asm from libav
(994c4bc10751). Libav's LGPL licensed x86util.asm is required for yadif.

This reverts "Remove unused support for .asm files"
commit 6c0f63cd68.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2019-02-05 10:12:06 +01:00
Steve Lhomme
1f86df44e3 configure: include glew.h before wglew.h
In recent wglew.h it relies on the DLL export mode defined in glew.h
2019-01-28 10:09:45 +01:00
Thomas Guillem
b3eaf5a239 compat: remove qsort_r 2019-01-22 18:55:32 +01:00
Thomas Guillem
2bc72d3fae configure: detect broken qsort_r 2019-01-22 18:55:29 +01:00
Hugo Beauzée-Luyssen
b568777797 configure.ac: Don't check for clock_nanosleep on win32
Now that we use winpthreads, configure finds clock_nanosleep there,
causing -pthread to be added to the libvlccore requirement, while we
don't use it for win32.
2019-01-16 08:33:33 +01:00
Janne Grunau
9dc7a22eca build: avoid annoying _FORTIFY_SOURCE warnings (fixes #17341)
fixed patch with the duplicate "#if defined ..." removed

Janne
---8<---
Some toolchains predefine _FORTIFY_SOURCE resulting in countless
_FORTIFY_SOURCE is redefined warnings. Using _FORTIFY_SOURCE without
compiler optimizations also generates warnings.
_FORTIFY_SOURCE is a reserved identifier in C99 ("All identifiers that
begin with an underscore and either an uppercase letter or another
underscore are always reserved for any use.") so the toolchain is
perfectly free to predefine it.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2019-01-03 19:46:15 +02:00
Jean-Baptiste Kempf
643a30d5f8 Welcome to 2019 2019-01-02 07:58:14 +01:00
Rémi Denis-Courmont
19c8c3a7e6 xcb/render: X11 RENDER display plugin
This brings the modern (well, at least current) X11 rendering protocol
for video output (refs #12348).

Compared to plain X11, it can handle scaling and orientation.
Compared to XVideo, it can handle orientation, and can crop correctly
(without bleeding), but it expects packed RGB rather than YCbCr.

Also RENDER would be able to handle SPU blending (and SPU scaling),
though this is left for future work, which neither X11 nor XVideo can.
2018-12-19 21:10:29 +02:00
Rémi Denis-Courmont
797c455918 aarch64: allow run-time NEON detection
(if NEON is disabled in the C compiler settings)
2018-12-17 20:04:46 +02:00
Hugo Beauzée-Luyssen
94ba3ab496 configure.ac: Detect aarch64 as a 64bits windows 2018-12-12 17:37:52 +01:00
Rémi Denis-Courmont
edf6ff7544 cpu: generic support for ARM SVE
This adds generic support for the AArch64 Scalable Vector Extension.
2018-12-11 22:54:28 +02:00
Rémi Denis-Courmont
fdc57213fc xcb: require MIT-SHM extension version 1.2 2018-12-09 20:43:18 +02:00
Rémi Denis-Courmont
3ebd72e039 xdg_shell: use xdg-decoration (unstable v1) protocol
...rather than KDE-specific stuff.
2018-12-02 20:25:05 +02:00
Rémi Denis-Courmont
5ffb9dfe0e compat: replace qsort_r() where missing
This should sort properly on Windows and any other platform without
qsort_r(). It does _not_ fix any potential issues on any platforms with
an incompatible qsort_r() prototype (such as FreeBSD < 13).
2018-11-20 17:59:15 +02:00
David Fuhrmann
cedb3335b4 qtsound: Remove module
It has been replaced by avaudiocapture module.
2018-11-18 14:21:43 +01:00
Rémi Denis-Courmont
dc47f00dc2 configure: actually enable Qt by default
...as the help text claims.
2018-11-17 19:16:50 +02:00
Adrien Maglo
059b9e563b codec: add a dav1d AV1 decoder module
It is using the picture callback API so there's is no copy on output of the decoder.

Co-authored-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Co-authored-by: Steve Lhomme <robux4@ycbcr.xyz>
2018-11-09 12:08:17 +01:00
Niklas Haas
1386b85049 vout: add new vulkan/libplacebo vout
This uses libplacebo's rendering helpers for all video output, on top of
the vulkan graphics API. Some notes:

- The existing fourcc/chroma helpers don't really line up with what the
  libplacebo API expects, or in some cases return values that just don't
  seem to make sense. I was advised against touching them for fear of
  breaking the rest of VLC - so we add our own helpers that give us the
  information in the format we need for libplacebo.

- Not all libplacebo options are mapped. There's no ability to create
  custom filter functions (which libplacebo/mpv support), and there's
  also no support for ICC profiles / 3DLUTs (which libplacebo supports)
  nor for the new color blindness simulation parameters in libplacebo
  v0.6. We also don't map the VLC brightness/hue/gamma/etc. options to
  the libplacebo structs - we could do it for free as part of the video
  decode matrix, rather than needing to insert a CPU filter for it.

- How to create the vulkan surface will depend on the platform (much
  like in opengl), so we move context, surface and device creation into
  a single module (`vulkan/surface.c`) which will be conditionally
  compiled depending on the platform in order to provide support for
  multiple surfaces side-by-side (e.g. x11 and wayland). This does mean
  that the context/device-related options end up being separate per
  platform, but OTOH this is not that bad since different platforms
  might want different e.g. swapchain modes (an example being wayland,
  which can make better use of mailbox rather than fifo).

- libplacebo doesn't have a "configure" step, instead all rendering
  parameters are fully dynamic. So we could call UpdateParams() in our
  module at any point in time when the config values change.
  Unfortunately, there's no easy way for us to find out when this is the
  case, so right now changing the vulkan module options requires a
  module reinit to take effect. In theory we could change this. (As an
  aside: calling var_Inherit* per frame does work to get us the changes
  in "realtime", as soon as the user clicks "save", but this may block
  for arbitrary amounts of time so I was advised against doing it)

Due to the new functions, structs and enum members used, the minimum
libplacebo version has been bumped up to v0.5.0. In theory we could also
try and support v0.4.0 with some #ifdefs, but v0.5.0 has been out for
several months now so it should be a safe requirement.
2018-11-07 15:45:26 +01:00
Thomas Guillem
5cf3e998e7 configure: require next bitstream release
The version needed for RIST is not yet released.
2018-11-06 10:19:45 +01:00
Thomas Guillem
abf93d8f78 configure: add check for the bitstream project 2018-11-05 18:25:35 +01:00
Thomas Guillem
c3d17825dc configure: add share folder for pkg-config search path
Headers only projects install generally their .pc into the share directory.
2018-11-05 18:25:24 +01:00
Victorien Le Couviour--Tuffet
cf9bd77c67 compat: add lfind
Fixes android build with NDK 17 as lfind is not always available.
2018-10-23 14:53:25 +02:00
Victorien Le Couviour--Tuffet
0481899b5d vlc_fixups: fix struct if_nameindex definition
Fixes android ndk17 build
2018-10-23 14:53:25 +02:00
Devin Heitmueller
9ff9cfa3c1 Decklink: Make input/output modules build on OSX
The Decklink SDK has platform-specific implementations for various
calls which return strings.  Add some portability macros to
properly handle those calls and then normalize the result down to
a C char * as we would typically see in VLC.

Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com>
2018-10-20 20:37:29 +02:00
Marvin Scholz
8383fb08a4 configure: Fix --enable-decklink behavior
When explicitly enabled, configure should fail when it can't find the
Decklink SDK.
2018-09-19 12:46:35 +02:00
Marvin Scholz
6e97ba0810 configure: Remove unnecessary whitespace in help string 2018-09-19 12:46:35 +02:00
Marvin Scholz
09b51b3660 configure: Fix some missing quotes 2018-09-19 12:46:35 +02:00
Marvin Scholz
0231f56463 configure: Remove unnecessary quotes around AS_HELP_STRING
This fixes some extraneous unwanted whitespace/linebreak in some
option descriptions (for example qt).
2018-09-19 12:46:35 +02:00
Marvin Scholz
bbdc5aa257 configure: Consistently quote first arg of AC_ARG_* 2018-09-19 12:46:35 +02:00
Marvin Scholz
a746c38e2d configure: Consistently use AS_HELP_STRING everywhere 2018-09-19 12:46:35 +02:00
Marvin Scholz
bd888e285f configure: Fix missing bracket 2018-09-19 12:46:35 +02:00
Francois Cartegnie
752df69bf9 sout: add SDI stream output
Decklink vout backport, so
this is the currently the only support
2018-09-05 10:35:32 +02:00
David Fuhrmann
0d181b4172 qtsound: Fix configure detection and build
QTKit header includes objc header files, therefore the configure
check must be done with an objc file. Also, fix build of qtsound
module.
2018-08-08 00:04:23 +02:00
Steve Lhomme
1b70ed02e7 configure: don't require a too old version of libavutil
Add a comment of which version of a required libavcodec corresponds to what libavutil
version. This way we don't need defines for versions we don't support anymore.
2018-08-06 14:14:58 +02:00
Hugo Beauzée-Luyssen
3a10c750df Add a new medialibrary module 2018-07-18 00:16:39 +02:00
Martin Storsjö
0a27328b5a configure: Make the new value of _WIN32_WINNT available to configure tests
Definitions from AH_TOP aren't included in the configure checks.

This was the original intent of e807c8e91.

This makes sure configure checks and actual compilation are run
with the same version defined.
2018-07-12 08:59:05 +03:00
Martin Storsjö
255e2ce279 configure: Don't force _WIN32_WINNT to 0x0601 if it is set to a higher version
Since e807c8e91, we're explicitly unconditionally defining _WIN32_WINNT,
regardless if it was set before or not.

If it was set before (e.g. on the command line), to a higher version,
we should honor that.

This is cruicial for WinRT building, where _WIN32_WINNT is set to Windows
8 or higher on the command line.
2018-07-11 23:40:51 +03:00
Jean-Baptiste Kempf
e20677966f Revert "Port to new libmpcdec API"
This reverts commit 87cb4e591a.
2018-07-11 19:32:20 +02:00
Jean-Baptiste Kempf
b007abf4c3 Remove RealRTSP plugin
Move to 21st century!
2018-07-11 18:50:49 +02:00
Marvin Scholz
6b91f5059a configure: Fix description of font family options
These options do not take the path but the name of the font.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2018-07-10 19:56:16 +03:00
Thomas Guillem
5775166f1b smb2: add libdsm netbios resolver
Because libsmb2 doesn't have any netbios name resolver.

Maybe, every VLC services discoveries should use the IP instead of the netbios
name for SMB shares.
2018-07-07 22:00:07 +02:00
Thomas Guillem
c6e7841663 access: add smb2 module
Using libsmb2 from Ronnie Sahlberg https://github.com/sahlberg/libsmb2
This is LGPL 2.1 fully async lib for accessing SMB2 and SMB3 shares.

This module use the async feature of the libsmb2 lib with the vlc interrupt
mechanism, therefore every network requests are cancellable almost immediately.

The 2.0.0 version is required since this version drop OpenSSL dependency and
allow to use Builtin NTLMSSP authentication instead of libkrb5.
2018-07-07 21:59:17 +02:00
Juha-Pekka Heikkila
adaec7b5a9 linux: kernel mode setting (KMS) vout plugin
Add new kernel mode setting video output plugin.
By default it tries to match vlc suggested video mode to anything
kms api offers. There are command line parameters to control
which video format to use for both vlc and for drm.

kms-vlc-chroma parameter to force VLC to use FourCC as output.
kms-drm-chroma parameter to overide DRM requested framebuffer type.

Signed-off-by: Thomas Guillem <thomas@gllm.fr>
2018-07-02 09:13:32 +02:00
Rémi Denis-Courmont
902dd36bbd configure: remove LIBPTHREAD
POSIX threads are always enabled implicitly.
2018-06-18 20:08:17 +03:00
Rémi Denis-Courmont
c6dafa8519 configure: remove legacy _REENTRANT / _THREAD_SAFE 2018-06-18 20:08:17 +03:00
Rémi Denis-Courmont
fc8208ec86 configure: always pass -pthread on Linux
This appears to be the official way to get POSIX threads. In practice,
it pre-defines _REENTRANT to 1 and pulls -lpthread.
(This works with both GCC and Clang.)
2018-06-18 20:08:17 +03:00
Rémi Denis-Courmont
a50366bc97 configure: use $host_cpu where applicable 2018-06-16 21:34:58 +03:00
Rémi Denis-Courmont
50b6429920 configure: fix linking on RISC-V ISA 2018-06-16 21:31:45 +03:00
Martin Storsjö
1162a9ffec Qt: Require Qt 5.9.0 as minimum version
Qt 5.9 is the current LTS branch, first released in May 2017.
2018-06-16 15:20:21 +03:00
Thomas Guillem
d19599c421 libass: fix fontconfig detection
Use have_fontconfig and FONTCONFIG_LIBS for link flags.
2018-06-15 08:48:47 +02:00
Rémi Denis-Courmont
2dc0f81246 Revert "configure: warn about unbound size VLA"
This reverts commit c3eaddc7d5.
Too many false positives.
2018-06-10 13:08:44 +03:00
Rémi Denis-Courmont
a15818e56e configure: simplify Wayland checks
All (useful) parts of wayland source are now treated as a single block
of dependencies (same as libxcb). All errors are printed at once.
2018-05-30 20:37:23 +03:00
Rémi Denis-Courmont
7984db8c03 configure: simplify XCB checks
All (useful) parts of libxcb source are mandatory because there is not
much point in splitting hairs. Xproto is mandatory as before.
All errors are printed at once.
2018-05-30 19:20:12 +03:00
Rémi Denis-Courmont
d06b1c458f xcb/window: implement XKeyboard using xkbcommon 2018-05-29 22:00:07 +03:00
Rémi Denis-Courmont
2c221ec773 xdg-shell: load the default cursor theme 2018-05-24 20:26:15 +03:00
Rémi Denis-Courmont
2ef29b66b9 xdg-shell: implement keyboard events 2018-05-24 08:59:45 +03:00
Rémi Denis-Courmont
c3c92ada31 configure: fix wayland-scanner version requirement 2018-05-21 20:14:59 +03:00
Rémi Denis-Courmont
27a0f4876d xdg-shell: update to stable protocol
This drops support for XDG shell unstable version 5,
i.e. the xdg_shell global.
2018-05-20 20:49:12 +03:00
Rémi Denis-Courmont
0cdeceb7b4 configure: add pointer arithmetic sanitization 2018-05-12 15:47:47 +03:00
Rémi Denis-Courmont
c3eaddc7d5 configure: warn about unbound size VLA 2018-05-12 15:43:56 +03:00
Rémi Denis-Courmont
7e93c6f8ee configure: warn about duplicated conditions and branches 2018-05-12 15:43:56 +03:00
Martin Storsjö
4319ab8d66 configure: Don't explicitly add -ladvapi32 to linker flags
This flag was originally not added because of crypto functions,
but together with -lssp in 460879.

Advapi32 is one of the libs that are automatically linked in by
the mingw compiler/linker driver.

Adding it manually here causes issues with linking libupnp_plugin.la
with lld. Libupnp contains md5 functions, and advapi32 also contains
functions with the same names. If -ladvapi32 is specified early in the
link command, before -lupnp, the conflicts arise. (The same conflicts
don't occur with binutils ld though, since it searches libraries
in a slightly different order than lld.)

The conflict can be avoided by fixing one inconsistency in mingw-w64
though, but then libupnp will use MD5 functions from advapi32.dll
(with an ABI not guaranteed to match the ones it expected) instead
of the ones bundled in libupnp.
2018-04-26 01:48:46 +03:00
Martin Storsjö
fa6ce2425b configure: Don't make the crypt/bcrypt libs dependent of libssp
These should still be added if ssp is disabled.
2018-04-26 01:47:16 +03:00
Steve Lhomme
5f9aa754cf configure: remove check for a header not used in the code
Even if it's not found have_v4l2 will be set to "yes" anyway.

"For each given system header file header-file in the blank-separated argument
list that exists, define HAVE_header-file (in all capitals). If action-if-found
is given, it is additional shell code to execute when one of the header files
is found."
2018-04-12 13:27:46 +02:00
Steve Lhomme
d22de99eb8 configure: remove minizip check not referenced anywhere 2018-04-12 13:24:38 +02:00
Martin Storsjö
0d0aef05c1 direct3d9: Disable OpenGL interop if OpenGL is unavailable
On Windows on ARM/ARM64, OpenGL isn't available. (For emulation
of i386 binaries, there is an opengl32.dll, but it's only the
fallback software renderer, nothing else. For ARM and ARM64, there
is no opengl32.dll.)
2018-04-10 22:55:08 +03:00
Marvin Scholz
66cdaaaf1f osx_notifications: remove Growl support, refactor
As per the discussion on the ML, Growl support is removed for VLC 4.0.

With this refactoring the module is ARC compatible too, simplifying
memory management.

https://mailman.videolan.org/pipermail/vlc-devel/2018-February/117924.html
2018-04-10 01:32:57 +02:00
Steve Lhomme
12aab7fe8e rand: use bcrypt instead of CryptographicBufferStatics for Winstore
It's available to winstore apps and on desktop since Vista.
The old API is deprecated.
2018-03-28 15:01:14 +02:00
Ilkka Ollakka
2529f3dabf configure: bump x264 version requirement and separated x26410b check
on x26410b case, check that x264 has high enough version present.

0.148 is by default in ubuntu 16.04 LTS and has been present since 2015.

ref #19581
2018-03-25 15:38:45 +03:00
Hugo Beauzée-Luyssen
db019b328e configure.ac: Allow stack protection to be disabled
Because some platforms might not support it
Default configuration is unchanged: an optimized build will still have
stack protection enabled.
--enable-ssp --disable-optimizations will have SSP disabled
2018-03-20 14:52:43 +01:00
Rémi Denis-Courmont
c6cdb9ec0f unc: split out Windows support from smb
Too many #ifdef's, not to mention different effective license.
2018-03-18 19:31:19 +02:00
Kamil Rytarowski
4136b3d027 configure: Fix shell portability issue
The == condition is a non-POSIX extension to shell.

It's not supported on NetBSD and it's a fatal error within the pkgsrc
framework, even if the condition might be unused.

Signed-off-by: Marvin Scholz <epirat07@gmail.com>
2018-03-18 03:12:06 +01:00
Hugo Beauzée-Luyssen
4f8dd8964a configure/package: Fix 7zip variable name 2018-03-16 13:14:48 +01:00
Marvin Scholz
b3b0dc2c7a configure: Find 7z 2018-03-16 12:31:52 +01:00
Marvin Scholz
ea1bd4b72e configure: Find makensis and check its version 2018-03-16 02:04:41 +01:00
Rémi Denis-Courmont
6ae2da5f04 configure: remove vlclibdir
See also e1bac00ddb.

This reverts commit 5698895948.
2018-03-07 18:48:47 +02:00
Rémi Denis-Courmont
e1bac00ddb Makefile: use pkgdatadir and remove vlcdatadir
The original idea was to use versioned directories akin to gstreamer,
but no distributions ever did that with VLC. vlcdatadir was always the
same as pkgdatadir.

This reverts half of commit 5698895948.
2018-03-06 20:55:50 +02:00
Martin Storsjö
797efbd407 configure: Check if C++ headers define locale_t
In environments that lack a full locale.h implementation, the C++
headers might implement some fallbacks with the same name
(on windows, libcxx does this).

In these cases, don't provide the normal fallbacks from vlc_fixups.h
when compiling in C++ mode, but include the C++ <locale> header instead.

If <locale> provides locale_t, include the header and define
HAVE_NEWLOCALE (which skips the vlc_fixups.h version of locale_t),
but keep the vlc_fixups.h fallback for uselocale. (One could
also add another configure test for whether <locale> provides
the uselocale function.)

(libcxx doesn't provide any fallback for the uselocale function
since it isn't easily implemented with the msvcrt _locale_t objects.
The libcxx fallback locale_t objects are applied via the setlocale
function, and passed to functions that take a _locale_t parameter.)
2018-02-28 22:11:14 +02:00
Hugo Beauzée-Luyssen
156ceb73e2 configure.ac: Allow automake to know if matroska is enabled or not 2018-02-28 17:52:49 +01:00
Martin Storsjö
e43da3c83e configure: Check if the support library for stack protectors is available
Clang does support the -fstack-protector-strong flag, but that
in itself doesn't mean that the required support library actually
exists.
2018-02-28 11:48:21 +02:00
Martin Storsjö
89707bdde3 configure: Try to add -Wno-incompatible-ms-struct if adding -mms-bitfields
This avoids warnings that are treated as errors by default when building
with clang - warnings like these:

In file included from modules/access/dcp/dcp.cpp:59:
In file included from contrib/x86_64-w64-mingw32/include/AS_DCP.h:88:
In file included from contrib/x86_64-w64-mingw32/include/KM_fileio.h:35:
contrib/x86_64-w64-mingw32/include/KM_util.h:48:11: error: ms_struct may not produce Microsoft-compatible layouts for classes with base classes or virtual functions [-Wincompatible-ms-struct]
    class IntPrinter : public std::string
2018-02-28 11:48:21 +02:00
Martin Storsjö
22fed9624f configure: Include windows.h before checking the _WIN32_WINNT version
The default value of _WIN32_WINNT isn't something that is built into
the compiler, but is defined by the toolchain headers.

Include windows.h after including ws2tcpip.h/winsock2.h, since those
headers should be included in that particular order.
2018-02-26 12:51:06 +02:00
Rémi Denis-Courmont
833d3e8f91 compat: remove no longer used ffsll()
We don't need two ways to count trailing zeroes.
2018-02-25 21:39:23 +02:00
Rémi Denis-Courmont
192c77e42d configure: test for newlocale() separate from uselocale()
As NetBSD only implements a barely sensical subset of the locale_t API.
2018-02-22 21:51:05 +02:00
Marvin Scholz
2aea8b85a2 configure: Simplify mingw flag checks 2018-02-21 21:27:26 +01:00
Martin Storsjö
4214cf058c configure: Treat host_cpu = armv* as plain arm
This matches a change in contrib in 99acb87cc9.
2018-02-21 21:58:11 +02:00
Rémi Denis-Courmont
d8cc13dd92 extras: remove vlc_tdestroy()
This is superseded by the compat tdestroy() replacement, which is also
available outside of libvlccore.
2018-02-20 21:42:43 +02:00
Rémi Denis-Courmont
320938b4bf compat: add tdestroy()
This adds a thread-safe tdestroy() replacement for systems without it
but with tfind(). This should fix linking failures on BSD.
2018-02-20 21:42:43 +02:00
Thomas Guillem
971b31d933 configure: requires libplacebo v0.2.1
v0.2.0 should not be used because of known issues, like
 - typo in gamut warning shader
 - mix(vecN, vecN, vecN) issue on GLSL 120
2018-02-14 16:02:55 +01:00
Rémi Denis-Courmont
055268706e posix: drop lstat() test
POSIX has required this since forever. Non-POSIX OS have their own
back-end already. (Incidentally, vlc_stat() is dead code.)
2018-02-12 19:41:14 +02:00
Rémi Denis-Courmont
9a972698d7 configure: pipe2 and accept4 are NOT Linux-specific
While both system calls originate on Linux, they are part of POSIX.next
and implemented by FreeBSD 10.0 and other OSes.
2018-02-12 19:00:11 +02:00
Rémi Denis-Courmont
0778e911b3 configure: enable multistatement-macros warning 2018-02-11 13:22:44 +02:00
Rémi Denis-Courmont
3023db527d linux: add support for memfd_create() 2018-02-09 22:16:35 +02:00
Thomas Guillem
90ab989e73 vout: remove omxil output 2018-02-02 16:02:19 +01:00
Thomas Guillem
7d141bf19f vout: remove aa output
Because caca is the future.
2018-02-02 14:59:50 +01:00
Thomas Guillem
869280963b vout: remove evas output
Not built and tested since a long time. The good way to go is to use the
openGLES2 vout.
2018-02-02 14:46:09 +01:00
Rémi Denis-Courmont
95a7c9acde configure: fix skins2 detection 2018-01-13 20:48:02 +02:00
Erwan Tulou
9f475faac6 skins2(x11): implement cursor management 2018-01-12 23:16:48 +01:00
KO Myung-Hun
ebcbb4d84e configure: check and define if_nametoindex() on OS/2
This fixes the following compilation breakge on OS/2.

-----
  CC       network/udp.lo
network/udp.c: In function 'net_SetMcastOut':
network/udp.c:259:17: error: implicit declaration of function 'if_nametoindex'; did you mean 'if_nameindex'? [-Werror=implicit-function-declaration]
     int scope = if_nametoindex (iface);
                 ^~~~~~~~~~~~~~
                 if_nameindex
-----

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
2018-01-08 10:23:59 +01:00
Niklas Haas
9e78bfb791 opengl: update libplacebo to v0.2.0
Some calls got an extra parameter which we don't care about.

Also bump up the minimum libplacebo version to v0.2.0. Note: This
commit doesn't update the contrib/ entry for libplacebo.

Signed-off-by: Thomas Guillem <thomas@gllm.fr>
2018-01-04 12:09:12 +01:00
Jean-Baptiste Kempf
51d6a66774 Welcome to 2018! 2018-01-01 22:49:34 +01:00
Hugo Beauzée-Luyssen
ec2f6b5faa configure: Specify a build ID when building with breakpad on windows 2017-12-23 17:02:45 +01:00
Hugo Beauzée-Luyssen
34d52c7081 Rework breakpad detection to enable it on windows as well 2017-12-23 17:02:45 +01:00
Natanael Copa
01fd9fe4c7 configure: test for getaddrinfo_a and libanl
Test for the existence of the GNU extension getaddrinf_a and libanl
instead of assuming that every Linux has it. Fall back to posix variant
if they are missing.

This fixes build with musl libc which does not implement this GNU
extension.

Fixes #19320

Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-12-22 20:07:45 +01:00
Sebastian Ramacher
829d6154b9 notify: use GTK+ 3
Signed-off-by: Sebastian Ramacher <sramacher@debian.org>
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2017-12-11 19:13:54 +02:00
Hugo Beauzée-Luyssen
c0bf5aeefc configure: Assume if_nametoindex to be present 2017-12-05 18:39:42 +01:00
Hugo Beauzée-Luyssen
834c0a0b87 Revert "configure: Fix if_nametoindex detection"
This reverts commit 34d979557e.
This only works for win64 since win32's stdcall will mangle the symbols
2017-12-05 15:53:59 +01:00
Hugo Beauzée-Luyssen
34d979557e configure: Fix if_nametoindex detection
This fixes win32 builds
2017-12-05 10:25:11 +01:00
Jean-Baptiste Kempf
78f79034db configure: update Mingw requirements 2017-12-04 01:24:13 +01:00
Jean-Baptiste Kempf
e807c8e91a Win32: force 0x601 for _WIN32_WINNT 2017-12-04 00:17:39 +01:00
Jean-Baptiste Kempf
6e8e1ef305 Use the 4.0.0-dev name for development of 4.0 2017-11-30 19:32:26 +01:00
Marvin Scholz
4262e27660 configure: Remove deprecated AM_PROG_CC_C_O
According to the documentation, AM_PROG_CC_C_O is obsolete and
AC_PROG_CC now does the check that this macro used to do, since
Automake 1.14.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2017-11-30 18:14:27 +02:00
Marvin Scholz
c9d802a63a configure: Remove obsolete OS X 10.7 workaround 2017-11-30 10:11:12 +01:00
Marvin Scholz
27bb516b0c codec/audiotoolbox_midi: Add AudioToolbox MIDI decoder 2017-11-30 02:56:41 +01:00
Jean-Baptiste Kempf
9d765e0937 Set mininal Windows version to Windows 7 2017-11-30 02:27:26 +01:00
Jean-Baptiste Kempf
1f2e534f30 Welcome to Otto Chriek, the vampire photographer, aka 4.0 2017-11-30 01:47:53 +01:00
Jean-Baptiste Kempf
94a9cb085b configure: put aom as auto now 2017-11-29 16:29:13 +01:00
Rémi Denis-Courmont
8ff4b51484 accesstweaks: compile as part of test suite
This avoids having to enable it explicitly in configure, while also not
installing it by default outside build trees. In the unlikely event
that you actually want to install the plugin, you can still do so but
manually (e.g. libtool install mode).
2017-11-28 19:18:32 +02:00
Justin Kim
9dce703279 contrib: Add srt 1.2.2
Secure Reliable Transport library supports nettle backend
since 1.2.1, and the current released version is 1.2.2 which
has a fix of wrong version string.
With the option, `--with-gnutls`, in SRT, VLC can be sure
that non-GPL compatible library won't be linked.

Signed-off-by: Justin Kim <justin.kim@collabora.com>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-11-27 23:29:00 +01:00
Steve Lhomme
ea902a9986 hw:d3d9: move all the filters into a single module
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-11-23 10:15:41 +01:00
Steve Lhomme
34a545f1f3 hw:d3d11: move all the filters into a single module
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-11-23 10:15:41 +01:00
Hugo Beauzée-Luyssen
66ad43d12f configure.ac: Don't link with -ladvapi32 when building for winstore
The functions we're trying to link with are already present in
libwinstorecompat
2017-11-22 14:32:04 +01:00
Rémi Denis-Courmont
69409cf591 configure: allow CSS even without Bison or Flex
Building CSS support from tarball works fine even without those tools.
2017-11-19 11:41:48 +02:00
Rémi Denis-Courmont
f2ba10497e Make Flex and Bison tests inconditional
By GNU/automake design, those tools have to be present when building
from VCS, even if the generated code is not actually compiled. This
fixes #19086.

Also this potentially allows more than one module to use them.
2017-11-19 11:41:48 +02:00
Rémi Denis-Courmont
a1c3e136c4 Drop broken C99 support 2017-11-14 18:28:02 +02:00
Jean-Baptiste Kempf
4608791530 configure: use stack-protector-strong in optimized mode
If it is available with your compiler (gcc 4.9)
2017-11-13 12:26:36 +01:00
Thomas Guillem
eacf9abdd3 test: build vlc-demux-* when libfuzzer is used 2017-11-12 14:40:29 +01:00
Hugo Beauzée-Luyssen
7167b23403 Revert "configure: fix link error with --with-sanitizer=address"
This reverts commit 2498a38320.
2017-11-11 17:02:03 +01:00
Hugo Beauzée-Luyssen
992659dd85 Revert "configure: Fix link when using --with-sanitizer=undefined"
This reverts commit 4567a49be8.
2017-11-11 17:01:54 +01:00
Thomas Guillem
2c2eb4d06c configure: add --with-libfuzzer
DIR is the dir path of the libFuzzer.a static library.

When used, it forces a static build without vlc binary and enable sanitize
coverage.

How to fetch and build libFuzzer.a from llvm.org:
$ git clone https://git.llvm.org/git/compiler-rt
$ cd compiler-rt/lib/fuzzer

for gcc:
$ CXX=g++ ./build.sh

for clang:
$ ./build.sh

This a partial merge of the work done by Shaleen during GSOC 2017. See
https://code.videolan.org/GSoC2017/shalzz/vlc.git
2017-11-11 15:45:40 +01:00
Hugo Beauzée-Luyssen
4567a49be8 configure: Fix link when using --with-sanitizer=undefined 2017-11-11 11:45:03 +01:00
Thomas Guillem
2498a38320 configure: fix link error with --with-sanitizer=address
Fixed by
http://git.savannah.gnu.org/cgit/libtool.git/commit/?id=a5c6466528c060cc4660ad0319c00740db0e42ba
but there is no libtool release yet.
2017-11-11 11:35:41 +01:00
Rémi Denis-Courmont
e85682585a configure: reenable -z,defs
Because people can clearly not be trusted to build without it.
2017-11-07 19:04:51 +02:00
Hugo Beauzée-Luyssen
c00fedc8a1 configure.ac: Fix CSS/bison check 2017-11-07 14:14:36 +01:00
Francois Cartegnie
649b3d02f5 codec: webvtt: add CSS lexer/grammar/parser 2017-11-07 12:37:06 +01:00
Marvin Scholz
10bad27b68 configure: Require URL when using Breakpad, disable by default
Change the `--enable-breakpad` flag to `--with-breakpad=URL`, that
means in order to enable the Breakpad crash reporter, the CrashDragon
server url needs to be given to that argument.

URL should be the base URL of the crash server, without a trailing `/`.
2017-11-06 17:52:59 +01:00
Niklas Haas
77d8be7e63 video_output: opengl: add basic support for libplacebo
This adds support for conversion between color spaces, in particular HDR
tone mapping and wide gamut -> standard gamut conversion.

Things that this commit does not (yet) address:

- It does not use libplacebo's scaling features. This is blocked by the
  fact that libplacebo does not currently support OpenGL (only Vulkan).

- It does not add support for BT.2020 YCbCr. This would be easy to
  implement in much the same way as the tone mapping support, by using
  pl_shader_decode_color, replacing the hard-coded matrices. This would
  also allow adding support for hue, saturation etc. controls.

- It does not hook up the pl_color_map_params options to the VLC GUI.
  This would have to be done to let users influence the subjective
  configuration options, as well as specify their display device's
  configuration.

All of the new code is optional, due to the lack of rigorous testing of
libplacebo (especially on other platforms) and the short timeframe
between this commit and the VLC 3.0 release. This may be changed later
on (possibly for VLC 4.0).

Signed-off-by: Thomas Guillem <thomas@gllm.fr>
2017-11-03 10:59:24 +01:00
Marvin Scholz
04e481344c configure: Remove call to private _AM_DEPENDENCIES
_AM_DEPENDENCIES is a private macro, according to the documentation it
should not be called directly. In this case, _AM_DEPENDENCIES is
already called by AC_PROG_OBJC anyway.
2017-10-23 15:54:16 +02:00
Pierre Lamot
1c221a77d9 qt: drop Qt 4 support, set minimal Qt version to 5.5
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-10-20 17:18:29 +02:00
Pierre Lamot
eaa55ce3a2 qt: restore compatibility for Qt 5.5
This is notably what Ubuntu LTS 16.04 has

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-10-20 17:17:53 +02:00
Pierre Lamot
25751de829 Qt: add support for QtSVG
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-10-12 23:58:12 +02:00
Julian Scheel
1857a476b3 mmal: Link to core, components, util explicitly
In older versions of the rpi-userland libmmal was linked against
libmmal_core/_components/_util, so they were linked implicitly. Newer
versions don't do that, so we have to link them explicitly.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-10-12 23:25:32 +02:00
Julian Scheel
3571a4d399 mmal: Include headers with -isystem
The vcos/mmal headers are vendor provided system headers.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-10-12 23:25:32 +02:00
Steve Lhomme
c2a659729e direct3d11: log the current display format
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-10-09 18:50:41 +02:00
Hugo Beauzée-Luyssen
29ac34f78a Fix gme build on windows 2017-10-09 13:41:52 +02:00
Rémi Denis-Courmont
7c04db8c27 configure: actually test needed libraries for gme (fixes #18902) 2017-10-08 22:36:31 +03:00
Rémi Denis-Courmont
5e48de5cd1 Revert "Link GME with CXXLD"
This reverts commit 3267797ea7.
2017-10-08 11:00:52 +03:00
Marvin Scholz
b37800b835 Revert "configure: Do not use -no-undefined with sanitizers on darwin"
This reverts commit 76118f5826.

It turns out this is actually an issue with libtool, cleaning the flags
when in link mode and removing the sanitizer flag.

It was fixed in libtool a5c6466528c060cc4660ad0319c00740db0e42ba
but there was no release since this fix.
2017-10-06 15:28:14 +02:00
Justin Kim
938fb514f5 stream_out: standard: add 'srt'
SRT is similar to UDP.

Signed-off-by: Justin Kim <justin.kim@collabora.com>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-10-05 18:58:22 +02:00
Justin Kim
67cbd82882 access_out:srt: introduce SRT ouput module
The access_output_srt module is a SRT client to send a stream.

Signed-off-by: Justin Kim <justin.kim@collabora.com>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-10-05 18:58:22 +02:00
Justin Kim
f38c0bc931 access: srt: introduce srt input module
Secure Reliable Transport (SRT) is a proprietary transport technology
that optimizes streaming performance across unpredictable networks.
This patch is an imlementation of input module which works as a SRT
client based on SRT Library[0].

[0] https://github.com/Haivision/srt/releases

Signed-off-by: Justin Kim <justin.kim@collabora.com>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-10-05 18:57:21 +02:00
Marvin Scholz
2f5b3542c7 configure: Use consistent test style 2017-10-05 11:39:13 +02:00
Marvin Scholz
76118f5826 configure: Do not use -no-undefined with sanitizers on darwin
Using sanitizer and no-undefined will cause linker errors on darwin due
to undefined symbols of the sanitizer.

This is adapted from a patch by Filip Roséen.
2017-10-05 11:39:03 +02:00
Rémi Denis-Courmont
60002d17b7 Makefile: reorder/gather rules by target 2017-09-20 21:08:08 +03:00
Hugo Beauzée-Luyssen
a049a1d7a3 Revert "configure: Prepend contrib -L arguments"
This reverts commit 166defa9b2.
2017-09-19 11:16:10 +02:00
Hugo Beauzée-Luyssen
166defa9b2 configure: Prepend contrib -L arguments
Appending them would cause the system libraries to be used over our
contrib versions
2017-09-18 10:26:59 +02:00
Hugo Beauzée-Luyssen
92bf46e0b3 configure: Prevent clang from accepting unknown compile flags 2017-09-06 12:04:56 +02:00
Rémi Denis-Courmont
29c7965d70 configure: remove unused ntohl in sys/param.h test 2017-08-28 18:25:20 +03:00
Shaleen Jain
2bc9957c61 configure: add a with-sanitizer switch
Add an option to compile with a set of the recommended flags for the various
santizers.

Multiple comma separated sanitizers can be specified.

This patch also disables no-undefined-symbols(-Wl,-z,defs) only when this
switch is used, to avoid link errors, mainly with asan.

Signed-off-by: Thomas Guillem <thomas@gllm.fr>
2017-08-28 13:32:40 +02:00
Shaleen Jain
57949e7a9b configure: refactor RDC_PROG_{CC, CXX}_FLAGS with AX_APPEND_COMPILE_FLAGS
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
2017-08-28 13:32:40 +02:00
Rémi Denis-Courmont
4b8a2755fe sdl: remove video output
The SDL video output has been forcefully disabled on MacOS X for 12
years. It has also been disabled in Windows builds for over 6 years.
Finally, it has been broken on X11 due to lack of windowing
integration, for several years, cannot be fixed without changes to
the SDL API, and is completely useless.
2017-08-06 21:26:07 +03:00
Rémi Denis-Courmont
8e1a0e8766 directfb: remove legacy video output
The DirectFB project has been dead for several years, and is ostensibly
not used. If you really need direct access to the Linux frame buffer,
there is still the raw LinuxFB module for the time being.
2017-08-06 21:26:04 +03:00
Mathieu Parent
d799967084 configure: Explain how to disable avcodec or alsa
Signed-off-by: Mathieu Parent <math.parent@gmail.com>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-08-04 09:51:30 +02:00
Rémi Denis-Courmont
44f318cbf2 Makefile: remove --disable-httpd
Unlike, say stream output, the HTTP server has no hooks anywhere within
the rest of the core: it is used exclusively through calls from modules
to the LibVLC run-time.

Thus, if no modules use it, the code will be eliminated by linker (in
static builds) or not paged in (in dynamic builds). There is not much
point in adding a build-time option to turn it off. It only creates
problems with keeping missing.c in sync.
2017-07-25 18:20:46 +03:00
Adrien Maglo
8cd7cc7648 spatialaudio: add an Ambisonics audio renderer
This module converts ambisonics channels to physical ones.

This module contains also a binauralizer submodule: It applies a head-related
transfer function to each physical channel in order to simulate a 3D sound with
a headphone.

Signed-off-by: Thomas Guillem <thomas@gllm.fr>
2017-07-19 18:46:05 +02:00
Steve Lhomme
d0d6460844 configure: enhance the D3D9/DxVA2 filters functions detection
Notably, check IDirectXVideoProcessorService_GetVideoProcessorDeviceGuids
presence.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-07-02 14:27:47 +02:00
Steve Lhomme
63394df4e7 direct3d9: add an adjust filter for d3d9 opaque formats
it's missing the gamma handling

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-07-01 18:27:49 +02:00
Steve Lhomme
9f8495bf4f direct3d11: add an adjust filter for d3d11 opaque formats
it's missing the gamma handling

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-07-01 18:27:49 +02:00
Steve Lhomme
b5c431b11e direct3d9: rename dxva2_deinterlace to direct3d9_deinterlace
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-07-01 18:27:49 +02:00
Rémi Denis-Courmont
a1de8ebe15 configure: add shadow=local warning 2017-06-29 23:33:04 +03:00
Steve Lhomme
e7d9db4ef2 vout:directd9: don't compile shaders if the headers are not available
It's not found in MS headers anymore, only the old DirectX SDK from 2010.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-06-29 14:12:02 +02:00
Rémi Denis-Courmont
34cd965645 compat: replace aligned_alloc() rather than posix_memalign() 2017-06-17 15:34:27 +03:00
Thomas Guillem
2a4c1305fe configure: add HAVE_VAAPI_X11 check 2017-06-16 16:48:00 +02:00
Thomas Guillem
2d33f67c2f configure: add HAVE_VAAPI check 2017-06-16 16:48:00 +02:00
Hugo Beauzée-Luyssen
d0e2ad922a vlc_fixup: Provide a thread_local macro 2017-06-15 16:20:31 +02:00
Thomas Guillem
373c8d8919 chroma: move cvpx_i420 to cxpx 2017-06-02 18:43:35 +02:00
David Fuhrmann
a3a3ebbe73 macosx: Remove Makefile recursion, change xib compilation
xib compilation is changed to be not triggered if macosx module
is not built.
2017-05-24 16:01:44 +02:00
Rémi Denis-Courmont
c50926d771 qt: do not build sources if Qt is disabled/absent 2017-05-14 23:01:47 +03:00
Rémi Denis-Courmont
4c6a272efd qt: remove Makefile recursion 2017-05-14 15:06:21 +03:00
Marvin Scholz
0da6809623 configure: Improve detection of ibtool
Previously there was no error handling if ibtool was not found
and xcrun was not used to find it, but the path that xcrun provides
should be preferred, as on some systems and earlier macOS versions
it might not be in the PATH.
2017-05-02 11:22:12 +02:00
Sean McGovern
9def796542 configure: require libpng to implement png_set_alpha_mode()
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2017-04-15 19:22:12 +03:00
Steve Lhomme
b5ed6127a5 vout: win32: add a Direct3D9 deinterlacer for opaque surfaces
Close #12855

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-04-13 16:08:41 +02:00
Steve Lhomme
b171a07203 vout: win32: add a Direct3D11 deinterlacer
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-04-13 14:56:51 +02:00
Dennis Hamester
246f1ab22e compat: Add custom implementation of recvmsg/sendmsg on NaCl
On Pepper 49, recvmsg and sendmsg are implemented as stubs, which always
return ENOTSUP. Proper implementations for these functions will become
available in later Pepper versions, which should make these compat
functions obsolete.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-03-31 14:53:32 +02:00
Dennis Hamester
3e2accc82d compat: Add pathconf dummy replacement for nacl
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-03-31 14:53:32 +02:00
Julian Scheel
adb9c18776 compat: Add sigwait dummy for NaCl
Implement a sigwait dummy for NaCl, which relies on:
- NaCl does never send SIGPIPE to to apps (see
https://codereview.chromium.org/288063004/)
- VLC uses sigwait exclusively to wait for SIGPIPE

If sigwait is asked to wait for anything else than SIGPIPE it will run
into an assertion failure, so that breakage would not be silent.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-03-28 15:54:00 +02:00
Julian Scheel
b4c4c5bee9 nacl: Add new system type
Add system type for Google Native Client.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-03-28 15:30:30 +02:00
Rémi Denis-Courmont
b122833091 fontconfig: require version 2.11 (fixes #3314) 2017-03-27 20:49:47 +03:00
Rémi Denis-Courmont
810704b602 configure: use pkg-config for fontconfig
It´s shipped a .pc file for about 15 years.
2017-03-27 20:48:00 +03:00
Dennis Hamester
02bf8ff28a android/thread: Remove monotonic clock checks
These checks are unnecessary since 6f3e18d534, because the calls to
pthread_condattr_setclock and pthread_cond_timedwait_monotonic_np have
been removed.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2017-03-23 18:53:25 +02:00
Jean-Baptiste Kempf
e57867acb0 configure: fix inverted logic about Growl 2017-03-22 20:00:54 +01:00
Hugo Beauzée-Luyssen
99db47431b winvlc: Try to load DLLs from system32 before any other folder 2017-03-10 18:40:44 +01:00
Steve Lhomme
d16bd4813a core: win32: do not load winmm.dll on startup, it's not a Known DLL
Modified-by: Jean-Baptiste Kempf <jb@videolan.org>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2017-03-10 13:47:48 +01:00
Rémi Denis-Courmont
e5aa35282c tls: disable the Nagle algorithm
Users of vlc_tls_t coalesce sends in user-space correctly. That being
the case, the Nagle algorithm just increases latency for no benefits.
2017-03-05 12:58:20 +02:00
Jean-Baptiste Kempf
4ceff8a015 Remove audioqueue plugin 2017-02-27 17:45:02 +01:00
Jean-Baptiste Kempf
dc14ecb4f2 Remove VDA plugin 2017-02-27 16:38:14 +01:00
Rémi Denis-Courmont
756d29b143 configure: remove ATTRIBUTE_ALIGNED_MAX test
This is no longer used.
2017-02-26 21:56:46 +02:00