Commit graph

24 commits

Author SHA1 Message Date
Sebastian Dröge
935c21a9a9 avcfg: Override type of bitrate property from int64 to int
See https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/41#note_142808

The switch to the new ffmpeg property system changed the type of the
bitrate property from int to int64, which potentially breaks many
existing applications at runtime as properties are usually set via
g_object_set().

As such, override the type to int until GStreamer 2.0.
2019-04-09 16:56:20 +03:00
Seungha Yang
a2c88ec9da avcfg: Fix AVOptionRanges leak
It must be freed with av_opt_freep_ranges as documented.
2019-01-13 00:47:07 +09:00
Nirbheek Chauhan
21a18e22e1 avcfg: Ensure that ternary operator always evaluates to int64
When building with MSVC, if the 3rd operator is a double, the entire
expression always promoted double, and is then cast to int64.

When TRUE, this evaluates to (gint64) (gdouble) (INT64_MAX)
which overflows to INT64_MIN on MSVC, but not on C99 compilers.

This causes us to fail the g_return_if_fail inside g_param_spec_int64
when built with MSVC.
2018-10-16 04:29:37 +05:30
Edward Hervey
143aa80cdf avcfg: Simplify code
The existence of 'opt' is checked, the remainder of the code can therefore
rely on it being valid.

CID #1439537
2018-09-21 11:30:58 +02:00
Edward Hervey
a3c72b2148 avcfg: Properly initalize GValue
.. to the expected property value type.
2018-07-16 08:44:45 +02:00
Mathieu Duponchelle
ad1f3a914b avcfg: actually remove call to g_object_getv
(Sorry about that)
2018-07-13 18:03:27 +02:00
Mathieu Duponchelle
70d9f923dc avcfg: use g_object_get_property, not g_object_getv
I simply confused those two, we didn't need g_object_getv
here anyway.
2018-07-13 17:21:25 +02:00
Mathieu Duponchelle
c34dd9bb1a avcfg: ignore some generic properties
We expose profile, level and colorimetry / colorspaces through
caps.

https://bugzilla.gnome.org/show_bug.cgi?id=792900
2018-07-13 00:53:28 +02:00
Mathieu Duponchelle
9c0dd8ef60 avcfg: add skip support to overrides system
https://bugzilla.gnome.org/show_bug.cgi?id=792900
2018-07-13 00:53:28 +02:00
Mathieu Duponchelle
59b9e66542 avaudenc: install options generically
https://bugzilla.gnome.org/show_bug.cgi?id=792900
2018-07-13 00:53:27 +02:00
Mathieu Duponchelle
1e4529ced2 Refactor avcfg / avvidenc
We were previously installing hardcoded properties for all
video encoders, refactor to instead use FFmpeg's AVOption API.

avvidenc still exposes a few properties related to the pass
mechanism: while the AVOption API allows specifying both passes
as flags at the same time, this is not practical in GStreamer's
context, where passes need to be run separately using a stats file.

https://bugzilla.gnome.org/show_bug.cgi?id=792900
2018-07-13 00:53:26 +02:00
Nicolas Dufresne
aa724e2f14 Use AV_ namespace for all CODEC_ macro
The remaining use of CODEC_ are codec flags that has been moved into the
new codec private properties or have been deperated. Will be fixed in
later patches.

https://bugzilla.gnome.org/show_bug.cgi?id=792900
2018-07-13 00:53:26 +02:00
Sebastian Dröge
2027188c34 avcfg: Use av_strdup() instead of g_strdup() for strings owned by ffmpeg
It has its own allocator that depending on the configuration is incompatible
with GLib's and just causes a segmentation fault. Like on Windows.

https://bugzilla.gnome.org/show_bug.cgi?id=760266
2016-04-25 18:39:54 +03:00
Edward Hervey
e3cf542215 avcfg: rc-min-rate and rc-max-rate are now 64bit integers
Switch the gobject properties and internal handling to support that
2016-02-16 16:43:23 +01:00
Andreas Cadhalpun
6235a04ef3 libav: Remove usage of deprecated API
https://bugzilla.gnome.org/show_bug.cgi?id=757498
2016-01-16 16:47:40 +02:00
Sebastian Dröge
9efc92a3a1 libav: Minor changes to build properly with v11alpha1 2014-08-12 16:17:38 +03:00
Vincent Penquerc'h
ca1b5d8576 gst-libav: fix context leaks
A AVCodecContext needs cleaning up before being freed.
Go through all of the allocations/setups to ensure none of them
can leak a context or its contents.
2014-01-15 09:02:33 +00:00
Sebastian Dröge
fc57f7fb1b avcfg: Update config parameters a bit to fix compilation
This needs a major rework and should use the new configuration
interface where useful.
2014-01-03 16:28:02 +01:00
Tim-Philipp Müller
068be939cb CODEC_ID_* -> AV_CODEC_ID_* 2013-05-06 23:56:22 +01:00
Sebastian Dröge
022ab84288 av: Fix some memory leaks and misuse of libav API 2012-12-17 16:35:36 +01:00
Sebastian Dröge
f5c112990f av: Port remaining simple bits 2012-12-04 18:36:56 +01:00
Luca Barbato
5f03a7d869 av: update to use AVOption variants. 2012-12-04 18:36:30 +01:00
Tim-Philipp Müller
d0ef33d463 Fix FSF address 2012-11-04 00:22:16 +00:00
Edward Hervey
90a8b3fb9f ext: ffmpeg/gstffmpeg*.[ch] => libav/gstav*.[ch] 2012-09-10 17:53:54 +02:00
Renamed from ext/ffmpeg/gstffmpegcfg.c (Browse further)