Commit Graph

10 Commits

Author SHA1 Message Date
b297c89c1b build: Use non-recursive Automake.
Change-Id: I8d5eaf4c90cb425e8f96eaac25e727b6a6aae24f
2021-09-13 09:43:33 -04:00
bfe7a84454 configure.ac: Do not set user variables.
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
2021-03-28 16:04:36 -04:00
780a9d5762 build: cleanup
Remove unused build options, flags and defines

Change-Id: I0c25511ade66025427ca0411cf34cfdd73a4bd1f
2019-07-19 14:12:20 -04:00
ea8c592136 accel: refactor to fit new hwaccel api
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>
2017-12-28 17:21:12 -04:00
45faaa25d6 video: add vdpau acceleration support
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>
2017-05-17 19:41:10 -04:00
4b5f8b5981 hardware acceleration refactoring
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
2016-11-30 17:16:50 -05:00
148b58f267 build: Rename 'globals.mak' to 'globals.mk'.
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>
2016-11-07 16:48:55 -05:00
bd90c3657c build: fix v4l2 build with system installed ffmpeg
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
2016-10-07 12:30:42 -04:00
921146f553 video: hardware acceleration
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>
2016-09-23 16:36:52 -04:00
8507024c70 daemon: move up daemon into top directory
Refs #68986

Change-Id: Ia95b140e4f4d6625d1df12d52a40414482b2e773
2015-03-20 15:56:31 -04:00