gstreamer/subprojects/gst-libav
Guillaume Desmottes 6d94b77ae8 libav: expose fake booleans properties as enums
Some ffmpeg options claims to be booleans but are actually 3-values enums
with -1 as default instead of 1 or 0. Handle those using a custom enum
so we keep the same defaults as ffmpeg and users can properly configure them
if they need to.

See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3035
for an actual example of this problem. The GStreamer element was
automatically enabling a non-default option, leading to strange behavior
in the AAC encoder.

Fix #3035

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5507>
2023-10-19 12:39:06 +00:00
..
docs libav: expose fake booleans properties as enums 2023-10-19 12:39:06 +00:00
ext/libav libav: expose fake booleans properties as enums 2023-10-19 12:39:06 +00:00
scripts gst-omx: Retire the whole package 2023-07-16 19:10:03 +00:00
tests meson: Always use forward slashes in defines with paths 2023-07-12 21:17:25 +00:00
.gitignore Move files from gst-libav into the "subprojects/gst-libav/" subdir 2021-09-24 16:15:08 -03:00
AUTHORS Move files from gst-libav into the "subprojects/gst-libav/" subdir 2021-09-24 16:15:08 -03:00
COPYING Move files from gst-libav into the "subprojects/gst-libav/" subdir 2021-09-24 16:15:08 -03:00
gst-libav.doap Release 1.22.0 2023-01-23 19:41:07 +00:00
meson.build Back to development 2023-01-23 23:04:53 +00:00
meson_options.txt Move files from gst-libav into the "subprojects/gst-libav/" subdir 2021-09-24 16:15:08 -03:00
NEWS Release 1.22.0 2023-01-23 19:41:07 +00:00
README.md Move files from gst-libav into the "subprojects/gst-libav/" subdir 2021-09-24 16:15:08 -03:00
RELEASE Release 1.22.0 2023-01-23 19:41:07 +00:00

gst-libav

This module contains a GStreamer plugin for using the encoders, decoders, muxers, and demuxers provided by FFmpeg. It is called gst-libav for historical reasons.

Plugin Dependencies and Licenses

GStreamer is developed under the terms of the LGPL-2.1 (see COPYING file for details), and that includes the code in this repository.

However, this repository depends on FFmpeg, which can be built in the following modes using various ./configure switches: LGPL-2.1, LGPL-3, GPL, or non-free.

This can mean, for example, that if you are distributing an application which has a non-GPL compatible license (like a closed-source application) with GStreamer, you have to make sure not to build FFmpeg with GPL code enabled.

Overall, when using plugins that link to GPL libraries, GStreamer is for all practical reasons under the GPL itself.

The above recommendations are not legal advice, and you are responsible for ensuring that you meet your licensing obligations.