Marc-André Lureau
670b8653f5
gst-libav: add QOI codec mime mappings
...
image/qoi is the recommended MIME type:
https://github.com/phoboslab/qoi?tab=readme-ov-file#mime-type-file-extension
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8458 >
2025-02-14 11:35:52 +00:00
xizhen
0d98646dd5
avvidenc: Fix typo in log
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8450 >
2025-02-14 09:45:39 +00:00
Tim-Philipp Müller
bf5f642841
Back to development after 1.25.50
2025-02-09 17:47:32 +00:00
Tim-Philipp Müller
3e8f88d756
Release 1.25.50
2025-02-09 17:35:17 +00:00
Sebastian Dröge
97a6a8213c
avcodecmap: Use gst_value_list_append_and_take_value() in two places
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8379 >
2025-02-03 16:07:37 +00:00
Sebastian Dröge
6d772f6ba3
avcodecmap: Use actually supported channel counts for S302M
...
Only 2/4/6/8 channels are supported. Also this makes sure that the correct
sample rate is enforced (48kHz) in the template caps instead of allow any sample
rate and failing at runtime.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8379 >
2025-02-03 16:07:31 +00:00
Carlos Bentzen
4b0d555056
libav: add support for VVC/H.266 decoder
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7637 >
2025-02-02 08:53:33 +00:00
Carlos Bentzen
8b464cd282
libav: map GST_VIDEO_FORMAT_GRAY10_LE16 to AV_PIX_FMT_GRAY10LE
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8388 >
2025-01-31 14:17:05 +00:00
Tim-Philipp Müller
4bd7e194f6
gst-libav: tests: fix build with older glib versions
...
g_newa0() is only available since 2.72.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8333 >
2025-01-21 01:38:54 +00:00
Tim-Philipp Müller
f70e2f046c
avaudenc: add test for misaligned audio input buffers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8318 >
2025-01-20 08:58:01 +00:00
Tim-Philipp Müller
9b536630f1
avaudenc: fix crash in avenc_ac3 if input buffers are insufficiently aligned
...
Memcpy if needed to ensure sufficient alignment, as some
SIMD instructions might require more alignment than we provide
by default (e.g. vmovaps requires 32 bytes, but gstreamer uses
malloc alignment by default which is 16 bytes here on x86_64).
And in any case buffers might be trimmed, so the only alignment
we can expect is sample frame alignment which might be even
smaller than 16 bytes.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8318 >
2025-01-20 08:58:01 +00:00
Mathieu Duponchelle
7983ecff1c
docs: generate hotdoc configs for libraries with our helper script
...
With this patch, configure time is identical no matter whether doc is
enabled or not.
The configuration files also now contain explicitly-listed sources with
no wildcards.
For the four libraries where hotdoc needs to use clang to generate the
documentation (as opposed to the rest of the libraries where hotdoc uses
the gir), the script will call pkg-config to determine the appropriate
C flags.
This means a side effect of this patch is that pkg-config files are now
generated for the gstadaptivedemux and gstopencv libraries.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8312 >
2025-01-17 20:36:06 +01:00
Mathieu Duponchelle
17e53f8c95
meson: bump minimum version to 1.4 in every subprojects
...
36c01d0579
bumped to 1.4 for gst-devtools
and the root project, but we usually keep those in sync everywhere.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8312 >
2025-01-17 20:22:34 +01:00
Tim-Philipp Müller
a059536b58
Back to development after 1.25.1
2025-01-14 15:00:43 +00:00
Tim-Philipp Müller
ca9d85c3b7
Release 1.25.1
2025-01-14 14:57:58 +00:00
Sebastian Dröge
96a0c185dd
avcodecmap: Only use new channel positions when compiling against new enough ffmpeg
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4163
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8300 >
2025-01-14 08:04:01 +00:00
Mathieu Duponchelle
3de86b2b97
docs: port plugins to explicit sources
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8273 >
2025-01-13 19:17:13 +01:00
Edward Hervey
eca10c0461
libav: Add more warning flags
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:46 +00:00
Edward Hervey
959d58fd98
libav/codecmap: Clarify fallthrough usages
...
And minor rewrite to avoid `return; break;` patterns
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:46 +00:00
Thibault Saunier
8be9074b0f
doc: Handle gst_dep.get_variable('libexecdir') failure
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8178 >
2024-12-20 20:19:28 +00:00
Thibault Saunier
caa223baf4
doc: Allow updating the plugins cache for all modules even if hotdoc is not present
...
This was possible for some modules but not all, for no good reason.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8178 >
2024-12-20 20:19:28 +00:00
Sebastian Dröge
4b1954b490
avcodecmap: Add some more channel position mappings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8173 >
2024-12-18 11:22:12 +00:00
Thibault Saunier
4aa6b35639
avviddec: Renegotiate srcpad caps on framerate change
...
We avoid resetting the internal FFmpeg decoder on framerate changes,
but in turn this means we were not updating the framerate on the srcpad,
which was clearly incorrect. This change keeps the optimization but ensures
that we renegotiate downstream when framerate changes occur.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8118 >
2024-12-10 12:11:22 +00:00
Stéphane Cerveau
7d916c7377
libav: free protocol info in gst_ffmpeg_pipe_close
...
When the media is not seekable, we are calling gst_ffmpeg_pipe_close
which does free the info.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8070 >
2024-12-04 20:37:07 +00:00
Guillaume Desmottes
ac04d9b7b1
libav: avviddec: log the old resolution when updating the pool
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7913 >
2024-11-19 08:04:00 +00:00
Guillaume Desmottes
7d49740269
libav: viddec: provide details if meta has the wrong resolution
...
Will produce a more useful assert error message.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7913 >
2024-11-19 08:04:00 +00:00
Thibault Saunier
7010efc8ed
meson: Bump minimum version to 1.3
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4025
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7899 >
2024-11-16 03:02:27 +00:00
Sebastian Dröge
c6a6b75358
avcodecmap: Add support for M101 Matrox uncompressed SD video codec
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7823 >
2024-11-11 08:47:41 +00:00
Sebastian Dröge
78b5b798d0
avcodecmap: Use avcodec_get_supported_config() instead of struct fields
...
The struct fields are deprecated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7824 >
2024-11-05 11:34:33 +00:00
Sebastian Dröge
b501022ab8
avdemux: Combine upstream and local tags
...
Otherwise whatever caps appear last are going to override the others instead of
extending them.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7366 >
2024-11-05 07:33:25 +00:00
Sebastian Dröge
b86bf6d9c0
avdemux: Set correct taglist scope for global vs. stream tags
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7366 >
2024-11-05 07:33:25 +00:00
Tim-Philipp Müller
95eca6d919
meson: bail out earlier in docs subdir if docs are disabled
...
The gst_dep.get_variable('libexecdir') may fail in some scenarios
(e.g. building a module alone inside an uninstalled devenv) and
it shouldn't really be reached in the first place if docs are
disabled via options.
Also to avoid confusing meson messages when cross-compiling or
doing a static build.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7818 >
2024-11-04 19:14:10 +00:00
Edward Hervey
cb87d7b129
plugins_cache: Update for fedora 40 build
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455 >
2024-10-25 13:55:19 +00:00
Sebastian Dröge
90728a1166
avviddec: Unlock video decoder stream lock temporarily while finishing frames
...
Temporarily release the video decoder stream lock so that other
threads can continue decoding (e.g. call get_frame()) while data
is being pushed downstream.
At this point it is locked twice, we release one, and then the base class
releases the last one just before pushing the data.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7576 >
2024-09-29 12:55:10 +00:00
Sebastian Dröge
b7b24573ce
common: Use more efficient versions of GstCapsFeatures API where possible
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432 >
2024-09-26 19:26:18 +03:00
Thibault Saunier
a12a5f6a25
avvidec: Fix typo in error string
...
It was missing a space.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7483 >
2024-09-09 18:19:46 -03:00
Kevin Wang
ab0a985c46
ffmpeg: Add valid values of AVDiscard
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7364 >
2024-09-09 13:42:57 -04:00
Sebastian Dröge
7daa040d24
avdemux: Never return 0 from read function
...
Instead return AVERROR_EOF. The read function must never ever return 0 according
to the documentation, and in practice this leads to infinite loops.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3369
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7390 >
2024-08-21 11:05:11 +03:00
Sebastian Dröge
0db6ce0f11
avdemux: Fix deadlock when serialized events are received from upstream while opening
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3657
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7362 >
2024-08-16 09:55:11 +00:00
Jesper Jensen
825f52d38b
avprotocol: Return EOF when stream is out of data
...
According to the ffmpeg documentation[1] the read_packet function should never
return 0. ffmpegdata_peek returns 0 when the stream is EOF causing us to fail
detecting EOF and never close the pipeline, continually spinning on more data.
ffmpeg instead wants an AVERROR_EOF code for to signal EOF.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4999 >
2024-08-05 10:23:32 +00:00
Edward Hervey
f7337b7477
ffmpeg: Don't register elements for which we have no caps
...
We would previously register a whole bunch of encoder/decoder for which the caps
were ... "unknown/unknown".
Add a function to quickly check (without generating caps) whether a given
AVCodecID has a known mapping (which can include the {video|audio}/x-gst-av-*
ones) without generating the caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6237 >
2024-07-25 12:14:50 +00:00
Ruben Gonzalez
3e4c8f1b16
avmux: Fix crash when muxer doesn't get codecid
...
gst_ffmpeg_formatid_get_codecids from gst_ffmpegmux_base_init to gst_ffmpegmux_base_init
FFmpeg 7.0 included new muxer rcwt for Raw Captions with Time
(RCWT). Commit [1]. GStreamer couldn't get sink caps for muxer it.
Calling gst_ffmpeg_formatid_get_codecids in gst_ffmpegmux_register to
avoid create muxer without pad templates.
[1] https://github.com/FFmpeg/FFmpeg/commit/3525544e48
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7168 >
2024-07-23 18:42:22 +00:00
Seungha Yang
75d8dbc556
avauddec: Fix crash on stop()
...
GstFFMpegAudDec.context can be nullptr if decoder got closed
without opening new context. Note that we don't need to clear
AVCodecContext.extradata there since avcodec_free_context()
will do clear the data if needed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7180 >
2024-07-16 20:49:13 +09:00
Sebastian Dröge
a7bba83ded
typefind: Add typefinders for formats that were previously available via ffmpeg
...
Co-Authored-By: Matthew Waters <matthew@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6505 >
2024-07-08 14:31:39 +00:00
Sebastian Dröge
e52f0bbc03
avvidenc: Make sure to pass always increasing PTS to the encoder
...
All MPEG1/2/4-based encoders at least are ignoring input frames if
backwards PTS or PTS that are equal to the previous one are passed in.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6505 >
2024-07-08 14:31:39 +00:00
Sebastian Dröge
1953bc6122
avviddec: Only use 2 ticks per frame if decoding interlaced video
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6505 >
2024-07-08 14:31:39 +00:00
Sebastian Dröge
dc0aebbea0
avvidenc: Set the DTS to 0 if it is negative, not the PTS
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6505 >
2024-07-08 14:31:39 +00:00
Sebastian Dröge
ee518b9c7e
avvidenc: Only use 2 ticks per frame if encoding interlaced video
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3518
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6505 >
2024-07-08 14:31:39 +00:00
Sebastian Dröge
03465d0904
avmux: Reset input context to NULL after closing in the muxer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6505 >
2024-07-08 14:31:39 +00:00
Sebastian Dröge
2a3f791c90
avdemux: Fix leak of demuxer input context in error cases
...
Also simplify context lifetime management a bit.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6505 >
2024-07-08 14:31:39 +00:00