Commit graph

58 commits

Author SHA1 Message Date
Tim-Philipp Müller
1a603d9295 Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5108>
2023-07-26 18:46:46 +01:00
Tim-Philipp Müller
e2107f0a0f Release 1.20.7 2023-07-26 16:18:38 +01:00
Tim-Philipp Müller
c56541433b Update ChangeLogs for 1.20.7 2023-07-26 16:18:25 +01:00
Sebastian Dröge
09cc614bb1 avviddec: Temporarily unlock stream lock while flushing buffers
This can call into the decoder again from other threads and try to take
the stream lock from there, which would cause a deadlock.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2558

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4831>
2023-06-11 16:47:53 +00:00
Sebastian Dröge
6b16b41889 ffmpeg: avauddec/avviddec: Free packet side data after usage
As we don't use proper refcounting with AVPacket we have to manage this
ourselves.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2006

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4079>
2023-02-28 13:51:12 +00:00
Tim-Philipp Müller
4599796488 Back to development 2023-02-24 00:23:26 +00:00
Tim-Philipp Müller
b7d3037cca Release 1.20.6 2023-02-23 18:23:11 +00:00
Tim-Philipp Müller
1c37d0ddec Update ChangeLogs for 1.20.6 2023-02-23 18:22:59 +00:00
Sebastian Dröge
e42752f42e avviddec: Disable AV1 decoder
We have various elements for AV1 decoding, the ffmpeg one only works if
hardware support is available and seems to require special signalling.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4019>
2023-02-21 18:33:18 +00:00
U. Artie Eoff
6d55206e77 avviddec: change AV_CODEC_CAP_AUTO_THREADS->AV_CODEC_CAP_OTHER_THREADS
This fixes a compile error with recent upstream FFmpeg.

The AV_CODEC_CAP_AUTO_THREADS was deprecated and renamed to
AV_CODEC_CAP_OTHER_THREADS in FFmpeg upstream commit
7d09579190de (lavc 58.132.100).

The AV_CODEC_CAP_AUTO_THREADS was finally removed in FFmpeg upstream
commit 10c9a0874cb3 (lavc 59.63.100).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3965>
2023-02-15 01:15:45 +00:00
Sebastian Dröge
a70935782e avvidenc: Don't take ffmpeg timestamps verbatim but only use them to calculate DTS
The ffmpeg timestamps are inaccurate and only in framerate granularity.
To avoid generating inaccurate output timestamps, especially with
variable framerate streams, only use the ffmpeg timestamps for
calculating the DTS.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1544
again.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3791>
2023-01-26 01:28:23 +00:00
Sebastian Dröge
ceecd4717d Revert "avvidenc: Set timebase in the ffmpeg context to nanoseconds and set framerate"
This reverts commit 50db59449e.

This broke the MPEG-1 video encoder as it requires the framerate to be
used for the timebase.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1734

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3791>
2023-01-26 01:28:23 +00:00
Sebastian Dröge
2c503a8d7d avvidenc: Offset PTS to zero to fix bitrate control
Otherwise ffmpeg's rate control algorithm will not work correctly as
it is based on the absolute PTS values.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/91

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3727>
2023-01-13 20:28:09 +00:00
Sebastian Dröge
49dccf42b6 avvidenc: Set timebase in the ffmpeg context to nanoseconds and set framerate
As we now actually use the timestamps from ffmpeg for timestamping the
output we would lose a lot of accuracy if the framerate is used.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1544

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3679>
2023-01-04 17:19:37 +00:00
Tim-Philipp Müller
4a99827d4c Back to development 2022-12-20 00:39:36 +00:00
Tim-Philipp Müller
f7806a854a Release 1.20.5 2022-12-19 23:34:46 +00:00
Tim-Philipp Müller
554efedd44 Update ChangeLogs for 1.20.5 2022-12-19 23:34:34 +00:00
Nicolas Dufresne
c29bfbe448 avdec_h265: Fix endless renegoation with alternate interlacing
The picture parameter picture->top_field_first is reused in this mode
to signal the TOP fields. As a side effect, it will change every frame
and current code assumed that if this changes then a renegotiation is
needed. Fixed this by ignoring that change whenever we are decoding one field
only.

Fixes #1523

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3289>
2022-10-27 18:02:54 +01:00
Nicolas Dufresne
7071c4ec2f avviddec: Avoid flushing on framerate changes
A framerate change does not require flushing the decoder and causes
issues with some specific fragmented files if the two fragments have
different framerate.

Fixes #1522

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3280>
2022-10-27 01:32:05 +01:00
Tim-Philipp Müller
825746d121 Back to development 2022-10-12 18:40:25 +01:00
Tim-Philipp Müller
642730bd67 Release 1.20.4 2022-10-12 16:39:51 +01:00
Tim-Philipp Müller
7275d3d136 Update ChangeLogs for 1.20.4 2022-10-12 16:39:40 +01:00
Mathieu Duponchelle
397c4c3392 avauddec: address regression with WMA files ..
By outputting lead-in samples that FFmpeg now would like us to ignore,
and discarding trailing samples that it would now like us to output.

See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1474

Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1348
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3125>
2022-10-07 16:31:09 +00:00
Tim-Philipp Müller
67245861a2 avauddec: fix unnecessary reconfiguration if the audio layout isn't specified
It would constantly want to renegotiate (and spam the debug log) even
though the channel layout hasn't actually changed. We use the same
fallback in gst_ffmpegauddec_negotiate() already.

This happens with WMA files for example.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3105>
2022-10-01 11:39:00 +01:00
Seungha Yang
1ae1faeb2d libav: Fix for APNG encoder property registration
The AVClass name of Animated PNG in FFmpeg 5.x is "(A)PNG"
and it will be converted to "-a-png" through
g_ascii_strdown() and g_strcanon(). But GLib disallow leading '-'
character for a GType name. Strip leading '-' to workaround it.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2733>
2022-07-08 15:41:09 +01:00
Tim-Philipp Müller
49336862ef coding style: allow declarations after statement
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2702>
2022-07-01 20:18:33 +01:00
Tim-Philipp Müller
a602275e8d Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2619>
2022-06-16 00:59:00 +01:00
Tim-Philipp Müller
ccf22e315c Release 1.20.3 2022-06-15 23:36:22 +01:00
Tim-Philipp Müller
a80e65217e Update ChangeLogs for 1.20.3 2022-06-15 23:36:10 +01:00
Tim-Philipp Müller
8769bec70c Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2347>
2022-05-03 00:55:58 +01:00
Tim-Philipp Müller
8dbfc89a85 Release 1.20.2 2022-05-02 23:29:29 +01:00
Tim-Philipp Müller
0e1c37fb8f Update ChangeLogs for 1.20.2 2022-05-02 23:29:19 +01:00
Guillaume Desmottes
7aa763cab7 libav: fix frame leak on negotiation error
The function owns a reference on the frame. Drop it if negotiation
failed as we are already doing for the other error cases.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2217>
2022-04-18 10:50:35 +01:00
Fabrice Fontaine
c164c25d9a gst-libav: fix build on systems without C++ compiler
Fix the following build failure on systems without C++ compiler:

The following exception(s) were encountered:
Running "/nvmedata/autobuild/instance-9/output-1/host/bin/or1k-buildroot-linux-musl-g++ --version" gave "[Errno 2] No such file or directory: '/nvmedata/autobuild/instance-9/output-1/host/bin/or1k-buildroot-linux-musl-g++'"

Fixes:
 - http://autobuild.buildroot.org/results/8ac0ba5eaaf7571857b4d8cfabf1488d640dc59a

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2119>
2022-04-05 23:23:13 +01:00
Edward Hervey
530272850d avviddec: Remove vc1/wmv3 override
FFMPEG 5+ doesn't allow overriding the codec anymore (causes a segfault if you
attempt to do that). But the best part is ... that with the current caps
implementation in pad template and gst_ffmpeg_caps_to_codecid() we would never
replace it by anything different than the existing codec id.

Fixes #1054

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2074>
2022-03-30 17:36:06 +01:00
Tim-Philipp Müller
8f2ed1bca4 Back to development 2022-03-14 16:07:23 +00:00
Tim-Philipp Müller
4bbb293eac Release 1.20.1 2022-03-14 11:33:40 +00:00
Tim-Philipp Müller
b888003273 Update ChangeLogs for 1.20.1 2022-03-14 11:33:25 +00:00
Tim-Philipp Müller
eaf7e78f01 Back to development 2022-02-07 16:22:25 +00:00
Tim-Philipp Müller
f0b045a69b Release 1.20.0 2022-02-03 20:03:15 +00:00
Tim-Philipp Müller
463bafdd23 Update ChangeLogs for 1.20.0 2022-02-03 19:53:18 +00:00
Mathieu Duponchelle
6ea4455d56 docs: gst-libav: update cache and symbol index for FFmpeg 4.4
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1597>
2022-02-01 14:11:45 +00:00
Tim-Philipp Müller
31b5243e1d Release 1.19.90 2022-01-28 14:28:42 +00:00
Tim-Philipp Müller
12fe353a31 Update ChangeLogs for 1.19.90 2022-01-28 14:28:28 +00:00
Xi Ruoyao
6ea56e7fd3 gst-libav: fix build with ffmpeg-5.0.0
Latest ffmpeg has removed avcodec_get_context_defaults(), and its
documentation says a new AVCodecContext should be allocated for this
purpose.  The pointer returned by avcodec_find_decoder() is now
const-qualified so we also need to adjust for it.  And, AVCOL_RANGE_MPEG
is now rejected with strict_std_compliance > FF_COMPLIANCE_UNOFFICIAL.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1531>
2022-01-17 18:11:32 +08:00
Nirbheek Chauhan
1be6d6ccf5 meson: Add explicit check: kwarg to all run_command() calls
This is required since Meson 0.61.0, and causes a warning to be
emitted otherwise:

2c079d855e
https://github.com/mesonbuild/meson/issues/9300

This exposed a bunch of places where we had broken run_command()
calls, unnecessary run_command() calls, and places where check: true
should be used.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
2022-01-09 18:12:47 +05:30
Tim-Philipp Müller
a7b376011b Back to development 2021-11-03 19:31:23 +00:00
Tim-Philipp Müller
f513c289b0 Release 1.19.3 2021-11-03 15:43:43 +00:00
Tim-Philipp Müller
d51b091cd9 Update ChangeLogs for 1.19.3 2021-11-03 15:43:32 +00:00
Tim-Philipp Müller
f034ec3e14 meson: require matching GStreamer dep versions for unstable development releases
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/929

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1244>
2021-10-28 23:29:27 +00:00