The CFLAGS, CXXFLAGS, LDFLAGS and other variables intended to be
overridden by the user should not directly be set by the package.
This change uses one of the approaches recommended by the Autoconf and
Automake manuals, which is to use custom variables to accumulate flags
in the configure script and add them to the make targets they apply
to. This has the benefit of not cluttering the flags used during the
Autoconf tests, which has proved problematic (see the previous commit
for a demonstration).
* configure.ac: Replace CFLAGS, CXXFLAGS, CPPFLAGS and LDFLAGS by
DAEMONCFLAGS, DAEMONCXXFLAGS, DAEMONCPPFLAGS and DAEMONLDFLAGS,
respectively.
Use these custom variables as the default values of AM_CFLAGS,
AM_CXXFLAGS, AM_CPPFLAGS and AM_LDFLAGS, respectively. Remove an
extraneous check on jsoncpp.
* bin/Makefile.am (ringcli_CXXFLAGS): Honor the the AM_CXXFLAGS variable.
globals.mk: Extend rather than override the AM_CPPFLAGS variable.
* src/Makefile.am (libring_la_LDFLAGS): Honor AM_LDFLAGS.
(libring_la_CFLAGS): Honor AM_CFLAGS.
(libring_la_CXXFLAGS): Honor AM_CXXFLAGS.
* src/client/Makefile.am (libclient_la_CXXFLAGS): Honor AM_CXXFLAGS.
* src/im/Makefile.am (libim_la_CXXFLAGS): Remove variable.
* src/jamidht/Makefile.am (libringacc_la_CXXFLAGS): Likewise.
* src/media/audio/Makefile.am (libaudio_la_CXXFLAGS): Honor
AM_CXXFLAGS.
(libaudio_la_LDFLAGS): Honor the AM_CXXFLAGS variable.
* src/media/audio/coreaudio/Makefile.am (libcoreaudiolayer_la_CXXFLAGS):
Likewise.
* src/media/video/Makefile.am (libvideo_la_CFLAGS): Honor the
AM_CFLAGS variable.
(libvideo_la_CXXFLAGS): Honor the AM_CXXFLAGS variable.
* src/media/video/v4l2/Makefile.am (AM_CXXFLAGS): Extend rather than
override.
* src/plugin/Makefile.am (libplugin_la_CXXFLAGS): Honor the
AM_CXXFLAGS variable.
* src/security/Makefile.am (libsecurity_la_CXXFLAGS): Likewise.
* src/sip/Makefile.am (libsiplink_la_CXXFLAGS): Likewise.
* src/upnp/Makefile.am (libupnpcontrol_la_CXXFLAGS): Remove variable.
* src/upnp/protocol/Makefile.am (libupnpprotocol_la_CXXFLAGS): Likewise.
* src/upnp/protocol/natpmp/Makefile.am (libnat_pmp_la_CXXFLAGS): Likewise.
* src/upnp/protocol/pupnp/Makefile.am (libpupnp_la_CXXFLAGS): Likewise.
* test/sip/Makefile.am (AM_CXXFLAGS, AM_LDFLAGS): Extend rather than override.
* test/unitTest/Makefile.am (AM_CXXFLAGS, AM_LDFLAGS): Likewise.
GitLab: #487
Change-Id: I18be9d812159f8156efb9f7849e7eac6d4c6b3ca
squash! configure.ac: Do not set user variables.
Change-Id: I1146ea15d6fb75fe53d3cbdd782e981c933e82a6
libavutil now covers the simple cases for creating and managing devices.
As Ring does not need to fine-tune these processes, most of the accel
code can be and has been removed.
Most hardware decoders output NV12, so skip extra conversions by
outputting NV12. Said pixel format is supported by everything that isn't
excessively old.
Change-Id: I10c440026fc3b289dbba7ecbca47e55c57147207
Reviewed-by: Anthony Léonard <anthony.leonard@savoirfairelinux.com>
Adds the VDPAU acceleration for GNU/Linux systems and
enable it by devault. Can be disabled using ./configure --disable-vdpau
Support for H.264, H.263 and MPEG4, as long as the hardware supports
them.
Requires libvdpau and ffmpeg 3.3 (contrib bump included by this patch)
[guillaume roguez: re-word ci msg to be more explicit]
Change-Id: I7479f4d7e3d51caf702be8c85284a4fca01605b3
Reviewed-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
Refactors the hardware acceleration mechanism by making AVCodecContext
a class member in HardwareAccel, wrapping extractData in a base
method to avoid duplicating boilerplate code, making the AccelID
enum and AccelInfo struct visible only to the makeHardwareAccel
function and adds more flexibility in the compilation of Ring's
hardware acceleration.
Change-Id: Ibfb4324e2f84b4d08bb5dd1e4b22873255aeb196
In GNU packages the '.mk' extension is commonly used for Makefile
fragments. Moreover it allows Emacs to choose 'makefile-mode'
automatically when opening it.
Change-Id: Ia35e5471b6852226027f975395cd21834783674b
Reviewed-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
Missing ffmpeg/libav build flags in v4l2 Makefile.
This fix the build of this last when deps are installed
on system (i.e. using contrib, where the path doesn't contain
the implementation name).
Change-Id: I966e501ddfdeba95a87ff89ee77faa4938ebe15d
Tuleap: #1058
Contains code common to all hardware accelerations to be implemented.
Enables the VAAPI acceleration for intel linux systems, with support
for H.264, H.263 and MPEG4.
To use VAAPI, you need libva, libva-x11 and libva-drm.
Hardware acceleration is enabled by default, and can be disabled with
"./configure --disable-accel".
Change-Id: Id0696465b785de0735bbce9750932ac38efe0713
Reviewed-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>