Seungha Yang
f96d05bf52
avviddec: Unlock stream lock while waiting for decoded frame
...
FFmpeg might request buffer from other threads, it will result
in deadlock
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2558
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5683 >
2023-11-16 20:09:53 +00:00
Tim-Philipp Müller
b1067c023d
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5650 >
2023-11-13 14:57:09 +00:00
Tim-Philipp Müller
4d13eddc8b
Release 1.22.7
2023-11-13 11:04:22 +00:00
Tim-Philipp Müller
0cccb1c9a6
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5371 >
2023-09-20 19:41:00 +01:00
Tim-Philipp Müller
ddb4fbe431
Release 1.22.6
2023-09-20 18:10:57 +01:00
Tim-Philipp Müller
60120003c0
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5082 >
2023-07-20 16:57:47 +01:00
Tim-Philipp Müller
bf6ce1d64a
Release 1.22.5
2023-07-20 15:22:48 +01:00
Tim-Philipp Müller
adafbe4fad
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4907 >
2023-06-20 19:10:38 +01:00
Tim-Philipp Müller
064711d8b3
Release 1.22.4
2023-06-20 17:42:25 +01:00
Tim-Philipp Müller
9994bbbd4c
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4679 >
2023-05-19 12:36:19 +01:00
Tim-Philipp Müller
ecd471f5ea
Release 1.22.3
2023-05-19 09:23:19 +01:00
Sebastian Dröge
8209ae476f
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/4625 >
2023-05-13 12:55:40 +01:00
Tim-Philipp Müller
d838d8dd1b
Back to development
2023-04-12 00:31:17 +01:00
Tim-Philipp Müller
a8f569e801
Release 1.22.2
2023-04-11 17:29:28 +01:00
Tim-Philipp Müller
0e6fe51c34
avmux: fix element leak
...
Fixes #2473
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4385 >
2023-04-10 19:05:35 +00:00
Tim-Philipp Müller
55d1a6ba0d
avdeinterlace: fix element leak
...
Fixes #2473
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4385 >
2023-04-10 19:05:35 +00:00
Nicolas Dufresne
07ba258ead
avviddec: Drop decoder stream lock when calling send_packet
...
This is already done for every other calls to send_packet. The deadlock occures
since FFMPeg 6.0. The decoder tries to get a buffer from a thread during
the draining process, and blocks trying to get the video decoder stream lock
already heald by the drain function.
Fixes #2383
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4187 >
2023-03-16 11:17:36 +00:00
Tim-Philipp Müller
3acf83be50
Back to development
2023-03-04 16:13:04 +00:00
Tim-Philipp Müller
3ab8a0bc3e
Release 1.22.1
2023-03-04 13:42:32 +00:00
Sebastian Dröge
f1bc3e6d88
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/4078 >
2023-02-28 12:45:59 +00:00
U. Artie Eoff
cde31d23c0
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/3964 >
2023-02-15 03:53:36 +00:00
Sebastian Dröge
379c6505eb
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/3808 >
2023-01-26 15:47:55 +00:00
Sebastian Dröge
1769c5e177
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/3808 >
2023-01-26 15:47:55 +00:00
Tim-Philipp Müller
e87857a210
Back to development
2023-01-25 16:46:42 +00:00
Tim-Philipp Müller
f13c65d977
Release 1.22.0
2023-01-23 19:41:07 +00:00
Tim-Philipp Müller
a9ec35b1ca
Release 1.21.90
2023-01-13 19:08:48 +00:00
Sebastian Dröge
79e8d2c03e
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/3718 >
2023-01-13 17:18:38 +00:00
Guillaume Desmottes
f7e1505a5e
libav: avaudec: display flow return name instead of value
...
More convenient to read in logs. gstavviddec already does it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3700 >
2023-01-09 13:25:05 +01:00
Sebastian Dröge
50db59449e
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/3634 >
2023-01-03 16:46:14 +00:00
Sebastian Dröge
1cbb145c50
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/3610 >
2022-12-20 14:10:01 +02:00
Tim-Philipp Müller
1f65d7cc5c
Back to development
2022-12-05 02:29:08 +00:00
Tim-Philipp Müller
fd6a3948c6
Release 1.21.3
2022-12-05 01:28:21 +00:00
Tim-Philipp Müller
84e74ceb10
Remove ChangeLog files from git repository
...
This information is tracked fully in the git repository, so
no point having the ChangeLog duplicate it, and it interferes
with grepping the repository.
We are going to create the ChangeLogs on the fly when generating
tarballs going forward (with a limited history), since it's still
valuable for tarball consumers to be able to easily see a list of
recent changes.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/73
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3521 >
2022-12-04 18:16:25 +00:00
Tim-Philipp Müller
9eb081ea0a
meson: Generate ChangeLog files for release tarballs on dist
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3521 >
2022-12-04 18:16:25 +00:00
Sebastian Dröge
925715c734
av{aud,vid}dec: Report decoding errors to the base class
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1889 >
2022-12-01 13:40:53 +00:00
Philippe Normand
090cf943ed
avviddec: Report flow error when decoder refused packet
...
In cases where an invalid input packet is submitted to the decoder we emit a
warning but reporting the flow error upstream would also be useful. This came up
with a case were the application interacts directly with the decoder, using a
mechanism similar to GstHarness.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3463 >
2022-11-30 11:51:12 +00:00
Edward Hervey
c39400b52c
avviddec: Report a latency even without upstream framerate
...
There are cases where upstream will not provide a framerate, or it won't be
fixed. But if there is latency introduced by the decoder we do want to report
it.
Therefore use the framerate stored in the actual decoder, which will have a
default.
Fixes hangs when playing back such streams with decodebin3 (where the multiqueue
will not have been informed of that downstream latency and not grow accordingly)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3391 >
2022-11-16 10:42:18 +00:00
Edward Hervey
6582cd514a
avvidenc: Don't leak AVPacket on EOF
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-13 06:59:11 +01:00
Edward Hervey
47833c8b36
avcfg: Don't leak the support GArray when registering flag/enums
...
* Only create it if we are attempting to put values in it
* If we sucessfully registered the values, only free the GArray
* IF we didn't, also free the backing memory
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-13 06:59:11 +01:00
Edward Hervey
052f23a310
avvidenc: Don't leak filename
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-12 10:33:51 +01:00
Tim-Philipp Müller
db450689db
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3358 >
2022-11-08 02:08:08 +00:00
Tim-Philipp Müller
3e29ac35c4
Release 1.21.2
2022-11-07 23:54:03 +00:00
Tim-Philipp Müller
98d2f958a9
Update ChangeLogs for 1.21.2
2022-11-07 23:53:57 +00:00
Nicolas Dufresne
e283c99358
avutils: Add missing space in doc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3330 >
2022-11-05 15:12:08 +00:00
Nicolas Dufresne
7b70de580c
avviddec: Initialize std_compliance to default
...
This was missed in the initial patch.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3330 >
2022-11-05 15:12:08 +00:00
Edward Hervey
0213536f77
libav: avcfg: Avoid brittle comparision
...
Subtracting a gint from another (or a guint from another) has no guarantees that
it will result in a gint.
Therefore do the actual comparision instead.
Also use the *actual* type for comparing flags (the field value types are different)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Edward Hervey
cadc067bde
libav: avcfg: Don't leak duplicate enumvalue entries
...
If we discard the duplicates, we also need to free the allocated strings.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Nicolas Dufresne
5fe360dec4
doc: avviddec: Update plugin cache
...
This is to add std-compliance property and GstFFMpegVidDec base class.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3311 >
2022-11-02 19:23:14 +00:00
Nicolas Dufresne
99ec53073a
avviddec: Introduce a class for shared properties
...
Without a parent class,the documentation would need to be duplicated for
every CODECs. This patch adds an abstract class in between GstVideoDecoder
and the element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3311 >
2022-11-02 19:23:14 +00:00
Seungha Yang
af05abdb79
avviddec: Expose std-compliance option
...
Default compliance mode (i.e., FF_COMPLIANCE_NORMAL) might not
strictly follow specification. This property will allow user
to specifiy expected compliance mode.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3311 >
2022-11-02 19:23:14 +00:00