Commit graph

2127 commits

Author SHA1 Message Date
Matthew Waters
e2bce0f3ec build: prefer using *.la references when creating our own libtool files
Otherwise we will reference the dependant libraries with -lfoo rather than
/path/to/libfoo.la which breaks with the Android-based .la parser which
simply passes through all -l libraries.

https://bugzilla.gnome.org/show_bug.cgi?id=786403
2018-03-06 15:08:32 +11:00
Tim-Philipp Müller
af8cc8ab89 Release 1.13.90 2018-03-03 22:44:21 +00:00
Tim-Philipp Müller
d95750da2f Update docs 2018-03-03 22:44:19 +00:00
Mathieu Duponchelle
447ac08578 meson: enable more warnings 2018-03-01 19:03:21 +01:00
Matthew Waters
a8b01a4559 explicitly disable v4l2_m2m codecs
They fail with android NDK r16
2018-02-20 18:19:22 +11:00
Tim-Philipp Müller
4db38efef5 Back to development 2018-02-15 19:44:26 +00:00
Tim-Philipp Müller
2eabdb63c8 Release 1.13.1 2018-02-15 19:00:19 +00:00
Tim-Philipp Müller
cd5e3f0f13 docs: update plugin docs 2018-02-15 17:14:36 +00:00
Edward Hervey
4d69122fb0 av*mux: Disable gif related "hacks"
This is properly handled by the previous commit now
2018-02-12 08:32:01 +01:00
Mathieu Duponchelle
d5b0305241 Enable gif format, and make it so avdemux_gif and avdec_gif can autoplug
https://bugzilla.gnome.org/show_bug.cgi?id=784684
2018-02-12 08:27:53 +01:00
Edward Hervey
3b8171ac37 libav: Update to n3.4.2 release 2018-02-12 07:38:13 +01:00
Edward Hervey
79bc255fa2 avvid*: Don't expose V4L2 mem-to-mem decoder and encoders
It's not going to work without special handling. Mask for now.
2018-02-10 15:18:11 +01:00
Edward Hervey
829b269e1e gst-libs: Switch to ffmpeg n3.4.1 2018-02-10 14:56:50 +01:00
Tim-Philipp Müller
6aa4c40ffd meson: make version numbers ints and fix int/string comparison
WARNING: Trying to compare values of different types (str, int).
The result of this is undefined and will become a hard error
in a future Meson release.
2018-02-08 19:18:21 +00:00
Tim-Philipp Müller
1e1ff4ece5 autotools: use -fno-strict-aliasing where supported
https://bugzilla.gnome.org/show_bug.cgi?id=769183
2018-02-05 08:47:18 +01:00
Tim-Philipp Müller
bcf47cf2c5 meson: use -fno-strict-aliasing where supported
https://bugzilla.gnome.org/show_bug.cgi?id=769183
2018-01-30 20:37:22 +00:00
Ting-Wei Lan
27d8c8c456 configure: Replace -Bsymbolic-functions with -Bsymbolic
The documentation of libav says -Bsymbolic may be needed when building a
shared library which links statically to libav.

Fixes linking error on FreeBSD:

gst-libav/gst-libs/ext/.libs/libavcodec.a(simple_idct10.o):
 relocation R_X86_64_PC32 against `ff_pw_1023' can not be used when making a
 shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value

https://bugzilla.gnome.org/show_bug.cgi?id=791783
2018-01-22 12:02:30 +00:00
U. Artie Eoff
7a951369c7 libav: use LIBAV_CPPFLAGS for -I include paths
Autotools automatically appends user CPPFLAGS after target
CPPFLAGS.  Also, it puts all CPPFLAGS before CFLAGS in final
generated gcc compile command.  The internal ffmpeg include
paths need to come before any other external include paths
to ensure we don't accidentally pickup external ffmpeg
headers first (i.e. from user CPPFLAGS include paths).  Thus,
move the internal LIBAV include paths to LIBAV_CPPFLAGS so
that they come before any user defined CPPFLAGS.

This allows ffmpeg and gst-ffmpeg to coexist on users system.

https://bugzilla.gnome.org/show_bug.cgi?id=789379
2018-01-13 12:18:54 +00:00
Ashish Kumar
a323802c5b avprotocol: fix leak in error code paths
https://bugzilla.gnome.org/show_bug.cgi?id=788481
2018-01-13 11:54:25 +00:00
Matthew Waters
c086dc4dcf Automatic update of common submodule
From e8c7a71 to 3fa2c9e
2017-12-14 14:53:10 +11:00
Matthew Waters
aff41f6389 Automatic update of common submodule
From 3f4aa96 to e8c7a71
2017-11-27 20:16:52 +11:00
Sebastian Dröge
c97d4985c9 libav: Update to ffmpeg n3.3.5 2017-10-31 08:54:52 +02:00
Jan Alexander Steffens (heftig)
a771795005 avdemux: Whitelist the demuxers required for GC/Wii/WiiU ADPCM streams
Required to play .brstm (GameCube/Wii) and .bfstm (Wii U) files. Needs
at least avdec_adpcm_thp too, but that one is already accessible.

https://bugzilla.gnome.org/show_bug.cgi?id=789139
2017-10-19 16:50:38 +02:00
Nicola Murino
f86dfde0a4 avdemux: reset to 0 negative pts
for us pts are unsigned so reset to 0 negative pts returned from libav.
This is better than outputs completly wrong timestamps

https://bugzilla.gnome.org/show_bug.cgi?id=787795
2017-10-05 21:40:55 -04:00
Sebastian Dröge
e6773f6932 libav: Update to ffmpeg n3.3.4 2017-09-18 15:45:32 +03:00
Mathieu Duponchelle
2bb0dc16d6 gstavcodecmap: Do not require a channel-mask
.. for mono or stereo input.

https://bugzilla.gnome.org/show_bug.cgi?id=786401
2017-08-17 14:49:12 +02:00
Tim-Philipp Müller
d5ac20299a Automatic update of common submodule
From 48a5d85 to 3f4aa96
2017-08-17 12:25:58 +01:00
Tim-Philipp Müller
28cc05ac1d meson: don't export symbols by default
Only plugin entry points should be exported.
2017-08-11 20:26:10 +01:00
Sebastian Dröge
5b22802b35 Revert "avviddec: Remove usage of deprecated EDGE APIs"
This reverts commit 4284d791bc.

It causes crashes on various h264 and DNXHD/VC3 streams, where the
decoders write to arbitrary memory far after what we've allocated.
2017-08-10 18:55:29 +03:00
Sebastian Dröge
b55c5a2437 libav: Update to ffmpeg n3.3.3 2017-08-10 17:22:46 +03:00
Satya Prakash Gupta
7c304c0c1e libswscale: Memory leak in gst_video_frame_map
https://bugzilla.gnome.org/show_bug.cgi?id=784741
2017-07-17 15:36:49 +03:00
Satya Prakash Gupta
98cf1a7e2d avdemux/mux: Memory leak and possible crash in avio_alloc_context
https://bugzilla.gnome.org/show_bug.cgi?id=784735
2017-07-17 11:09:48 +03:00
Nicolas Dufresne
4284d791bc avviddec: Remove usage of deprecated EDGE APIs
As a side effect, left/right green bars goes away when using
xvimagesink. I just think that xv cropping is broken, so this is
probably just hiding a bug.
2017-07-11 09:37:03 -04:00
Sebastian Dröge
3ad6c9958b avmux: Blacklist scc muxer
We have no codec mappings for it and it's a subtitle/closed caption
"muxer" anyway.
2017-07-10 10:33:33 +03:00
Tim-Philipp Müller
eb2f674abb meson: find python3 via python3 module
https://bugzilla.gnome.org/show_bug.cgi?id=783198
2017-07-07 11:59:41 +01:00
Tim-Philipp Müller
ab42a51ae2 meson: fix with-package-name option
https://bugzilla.gnome.org/show_bug.cgi?id=784082
2017-06-26 09:53:46 +01:00
Sebastian Dröge
691c527edb libav: Update to ffmpeg n3.3.2 2017-06-20 10:50:38 +03:00
Tim-Philipp Müller
89d9b7fa99 meson: add options to set package name and origin
https://bugzilla.gnome.org/show_bug.cgi?id=782172
2017-05-20 15:18:55 +01:00
Nicolas Dufresne
7b0a5ad309 plugin: Explicitly link to BZ2, LZMA and LZ
While all this information is in the .la files, libtool seems to get
confused with ordering in presence of static system libraries. This could
cause missing symbol error at link time. Adding these depenencies explicitly
workaround the issue.
2017-05-20 15:27:52 +02:00
Nicolas Dufresne
321d1c7a75 Don't fail if running "make clean" twice 2017-05-20 13:06:13 +02:00
Jan Schmidt
ac9fc8031e Pass $CC as AS, unless $AS is provided. Add gas-preprocessor
Add gas-preprocessor.pl as a git submodule, and put it in the
path so that it is available if libav wants it.

Switch back to providing $CC as $AS by default, but
respect an external $AS setting so that it can be
overridden in cerbero

https://bugzilla.gnome.org/show_bug.cgi?id=694416
2017-05-20 20:08:09 +10:00
Sebastian Dröge
8e2b41f3b0 libav: Update to ffmpeg n3.3.1 2017-05-17 10:42:29 +03:00
Nicolas Dufresne
a65562fe9c Remove plugin specific static build option
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
2017-05-16 14:43:11 -04:00
Sebastian Dröge
15a17f3f8d avviddec: Don't expose NVIDIA CUVID decoder
It's not working without further changes on our side, like all hardware
decoders in ffmpeg.
2017-05-16 18:55:36 +03:00
Nicolas Dufresne
1038ae2327 Generate .la for internal libav libraries
This should help libtool in getting the internal linking right.
Effectively, libtool can sometime get the link order wrong when
presented with a mix of .la and -l arguments. These .la file are
also required by the android build system and were previously
created by cerbero.
2017-05-12 12:34:09 -04:00
Nicolas Dufresne
de60c46e30 Use automake to install dependency libraries
The install line was using -t parameter which is not supported on OSX.
Instead, use automake DATA installation mechanism, this way we rely on
automake to generate portable scripts.
2017-05-11 13:31:50 -04:00
Nicolas Dufresne
0b48f0e3fd Use a portable method to link against internal FFMPEG
In the last iteration, we kept the original method to link the shared
plugin and edited the .a and .la files so satisfy what cerbero needed.
Unfortunately, that required adding .a file into the archive which is
not allowed with iOS ar command for universal builds.

This patch uses standard method to link a static library. One of the
benefit is that it removes some libtool warning about portability.
For the static case, we implement an install hook that installs
FFMPEG internal .a files in the plugin directory (so it does not get
confused with a possible system FFMPEG. This makes the static plugin
usable without depending on cerbero recipe.
2017-05-11 10:08:14 -04:00
Nicolas Dufresne
46691bd0ec static: Update libgstlibav.lai too
Libtool will produce libgstlibav.la and libgstlibav.lai (the installed
version). We need to edit at least the installed version for the final
linking of static application to work.
2017-05-10 12:10:54 -04:00
Nicolas Dufresne
a7d6eb2afa Simplify and fix the static linking
Some libtool will endup removing the shared build when running a static
build. That had unwanted side effect. Rather then fighting libtool to
get to build each static and shared seperatly, let libtool build with
the LIBAV_DEPS added to LIBADD (list of libav*.a) and finally remove the
extra .a from the archive and fix the .la to what cerbero will expect.
2017-05-10 10:03:45 -04:00
Nicolas Dufresne
dcc36f6e0a libav: Allow build both static dynamic plugins
When building plugins with internal FFMPEG, we use different link
flags depending if it is static or shared. As we want to build both
static and dynamic plugins at once, rewrite the rules so we can
pass the right flags.

https://bugzilla.gnome.org/show_bug.cgi?id=779344
2017-05-09 08:49:17 -04:00