gstreamer/subprojects/gst-libav
Edward Hervey 64cac1ed99 avvidec: Fix dropping wrong "ghost" frames
This fixes the code regarding dropping "ghost frames", that is to say input
frames which ended up not producing any decoded frame.

The iteration itself makes sense.. but it was stopping at the "input" frame and
not the decoded frame we just got back.

When dealing with I-frame codecs, ffmpeg will decode frames in separate frames,
so there is no guarantee that they are decoding in order.

Fixes playback issues with such codecs

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6842>
2024-05-14 13:52:52 +02:00
..
docs avcodecmap: Increase max AAC channels to 16 2024-03-14 16:35:21 +00:00
ext/libav avvidec: Fix dropping wrong "ghost" frames 2024-05-14 13:52:52 +02:00
scripts gst-omx: Retire the whole package 2023-07-16 19:10:03 +00:00
tests avaudenc: Add simple 16 channel encoding test 2024-03-15 12:30:04 +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.24.0 2024-03-04 23:59:25 +00:00
meson.build Back to development 2024-03-05 12:58:57 +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.24.0 2024-03-04 23:59:25 +00:00
README.md Move files from gst-libav into the "subprojects/gst-libav/" subdir 2021-09-24 16:15:08 -03:00
RELEASE Back to development 2024-03-05 12:58:57 +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.