Jan Schmidt
c086c83ac4
rtspsrc: Prefer an empty SET_PARAMETER call for keep-alive
...
In RTSP 2.0, they started recommending that clients use an
empty SET_PARAMETER request as the preferred keep-alive mechanism
as all cameras must support that method. It also works
for RTSP 1.0, so use it as the preferred method unconditionally.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9577 >
2025-08-28 00:46:19 +00:00
Jan Schmidt
492a420fa9
rtspsrc: Send RTSP keepalives in TCP/interleaved modes
...
When rtspsrc is using an interleaved connection to the camera,
it will continously receive a stream of tunnelled RTP packets
from the server, so the rtspconnection doesn't return ETIMEOUT
and trigger the keepalive. Add a check on the RTSP timer
and send the keepalive whenever we haven't sent a message to
the server in some time.
Fixes problems with some cameras that don't see the RTCP traffic
as sufficient proof of liveness, when using TCP/HTTP tunnelled
modes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9577 >
2025-08-28 00:46:19 +00:00
Vivian LEE
c4439a5b55
adaptivedemux2: fix crash due to log
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4588
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9573 >
2025-08-19 07:20:13 +00:00
Adrian Perez de Castro
71619ec72b
oss: Check for element types when reconfiguring
...
Make gst_oss_device_reconfigure_element() check whether the passed element
type matches that of the device itself before attempting to apply the new
configuration.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9558 >
2025-08-14 23:54:33 +03:00
Jan Schmidt
cdf1338e6b
hlsdemux2: Fix parsing of byterange and init map directives
...
Don't reuse the same offset and size variables when reading
the byterange out of a MAP directive, as it can overwrite
values from a pending BYTERANGE directive for the next
fragment URI.
Fixes problems where the EXT-X-MAP directive has been written
into the playlist between an EXT-X-BYTERANGE and the fragment
URI it applies to.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9533 >
2025-08-12 02:47:46 +00:00
Nirbheek Chauhan
e8e12db5f4
debug: Category init should happen in class_init when possible
...
plugin_init() will not get called if element/feature registration
happens manually, such as when using linking only specific plugin
features with gstreamer-full. That is possible when plugins contain
static features.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9496 >
2025-08-08 11:38:50 +05:30
Qian Hu (胡骞)
a626f74872
v4l2: fix memory leak for dyn resolution change
...
if resolution changed, old input state will not unref before
new state overwrite self->input_state
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9479 >
2025-08-04 12:50:24 +00:00
Olivier Crête
f88e6781cd
AUTHORS: Remove outdated files
...
They only contained historical contributors, the modern version is
to look at the git logs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9476 >
2025-08-01 16:00:20 +00:00
Olivier Crête
668d54f8fb
MAINTAINERS: Update to reflect current maintainership
...
Instead of listing everyone, just point to GitLab
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9476 >
2025-08-01 16:00:20 +00:00
Olivier Crête
235258259d
REQUIREMENTS: Remove outdated doc
...
They contained information which was completely outdated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9476 >
2025-08-01 16:00:19 +00:00
Nicolas Dufresne
33d0170d6e
docs: Update documentation cache for new RGB 10bit support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9460 >
2025-07-31 21:34:35 +00:00
Hou Qi
7b61be6c43
v4l2videodec: Fix assertion failure when acquiring drm caps
...
This is to fix assertion failure "assertion 'drm_info->drm_fourcc != DRM_FORMAT_INVALID' failed"
when acquiring drm caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8533 >
2025-07-30 17:32:24 +09:00
Nirbheek Chauhan
87ed0c0e33
windows: Disable all audio device providers except wasapi2
...
We have too many device providers outputting duplicate device entries,
and it's not clear to people what they should be using. Let's only
keep wasapi2 around since it is PRIMARY + 1.
After the device switching work done on WASAPI2, there is no reason to
use directsound anymore.
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9326
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9438 >
2025-07-30 00:21:18 +00:00
Nirbheek Chauhan
7788186a30
meson: Pass sysprof=disabled to glib
...
sysprof cannot be built on Windows, and this causes the build to fail
on Windows.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9438 >
2025-07-30 00:21:18 +00:00
Nirbheek Chauhan
eef8ec6e47
meson: Pass python=false to libxml2
...
We don't need this in gstreamer anyway.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4510
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9438 >
2025-07-30 00:21:18 +00:00
Nirbheek Chauhan
19a2a158fa
soup: Disable range requests when talking to Python's http.server
...
Python's SimpleHTTP server doesn't add Accept-Ranges and also doesn't
support range requests: https://github.com/python/cpython/issues/86809
According to the spec, this means the server may or may not support
Range requests, but we know that SimpleHTTP server doesn't, so let's
disable it. If they fix it, they will hopefully add an Accept-Ranges
header.
See also: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8505#note_2994060
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9341 >
2025-07-09 13:53:57 +00:00
Haihua Hu
4e7df779df
v4l2videodec: Fix alternative output format support
...
Some decoder have the ability to output multiple formats.
This has been supported for a while but stopped working
after commit 77744c3d638. Restore this functionality
by replacing acquired_caps with the new caps.
Fixes #4528
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8674 >
2025-07-09 11:08:40 +00:00
Tim-Philipp Müller
24ee088cee
Back to development after 1.27.1
2025-07-08 20:00:07 +01:00
Tim-Philipp Müller
1fa56616fb
Release 1.27.1
2025-07-08 19:58:12 +01:00
Tim-Philipp Müller
336276be47
gst-plugins-good: update translations
2025-07-08 19:55:11 +01:00
Doug Nazar
63302342ff
splitmuxsrc: Fix a memory leak
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9151 >
2025-07-08 09:05:29 +00:00
Doug Nazar
88412c9ebf
tests: rtpbin_buffer_list: unref clock after usage
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9115 >
2025-07-07 13:01:34 +00:00
Enock Gomes Neto
cade54e2af
qtdemux: Fix incorrect FourCC used when iterating over sbgp atoms
...
In qtdemux_parse_traf(), the loop over sbgp atoms used FOURCC_sgpd instead
of FOURCC_sbgp when retrieving the next sibling node. This caused the loop
to either terminate early or attempt to parse sgpd atoms as sbgp, leading
to incorrect or incomplete seig group associations.
This fix ensures that all sbgp atoms are properly parsed in sequence.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4511
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9318 >
2025-07-01 12:40:33 -03:00
Doug Nazar
b490629528
rtph265pay: Fix valgrind warning about uninitialized usage
...
Skip NALs less than minimum size of 2.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9273 >
2025-06-30 12:19:19 +00:00
Robert Mader
7e2b383553
matroskademux: Send tags after seeking
...
Similar to what qtdemux does in `gst_qtdemux_stream_update_segment()`,
in which case we want to resend tags according to our position.
By setting the changed flag for all stream tags we ensure they will all
be (re-)send as we progrees.
This notably ensures that rotation tags are not lost when video players
finish playback and jump back to the beginning of a video.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8429 >
2025-06-30 08:49:21 +00:00
David Maseda Neira
188a9fa7a2
adaptivedemux2: Fixed reverse playback
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9298 >
2025-06-27 12:21:51 +00:00
Matthew Waters
87666a2d3b
rtph265pay: add profile-id, tier-flag, and level-id to output rtp caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9300 >
2025-06-27 07:36:47 +00:00
Doug Nazar
35bceff695
gstrtspsrc: Don't emit error during close if server is EOF
...
During a graceful close we try to notify the server that we're
finished. There is no reason to consider it an error if the
server has already closed the connection.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9278 >
2025-06-25 00:00:57 -04:00
Doug Nazar
805d532280
splitmuxsink: Only send closed message once per open fragment
...
We send a closed message on EOS. It's possible to receive multiple EOS
messages before opening the next fragment (from an element change state
for example).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9266 >
2025-06-23 12:29:06 +00:00
Qian Hu (胡骞)
bbae7dba0a
imagefreeze: fix not negotiate error when stop
...
when the chain is called between reset and pad deactive in base
change state, a "not negotiation" error is produced.
so, we add a judge for flushing and reset
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8916 >
2025-06-23 10:28:06 +00:00
Pratik Pachange
1f5dbbbd0b
v4l2object: Add support for colorimetry bt2100-pq and 1:4:5:3
...
Colorimetry bt2100-pq is a variant of colorspace V4L2_COLORSPACE_BT2020
where the transfer function is SMPTE 2084 which is used by HDR content.
Colorimetry 1:4:5:3 is a full-range variant of colorspace
V4L2_COLORSPACE_470_SYSTEM_BG
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9166 >
2025-06-19 14:29:54 +00:00
Jakub Adam
ddd6a708cb
dashdemux2: Fix seeking in a stream with gaps
...
When there are gaps between segments in the DASH manifest (e.g. it's a
recording of a live stream during which the camera was turned on and off
a couple times), seeking to a timestamp that belongs into a gap leads to
repeat_index calculation yielding a nonsensical negative number (because
ts < segment->start).
In such event set the playback to continue at the first repetition of
the segment that follows after the gap.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8620 >
2025-06-19 07:26:49 +00:00
Nicolas Dufresne
491b72aca3
v4l2: transform: Fix pool leak on error
...
Also remove un-needed nul checks.
Suggested-by: Elham nikooie
Fixes : #3097
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9221 >
2025-06-19 05:21:05 +00:00
Nicolas Dufresne
3c06444a90
v4l2: encoder: Fix possible internal pool leak
...
Also remove the unneeded null checks that have spread around.
Suggested-by: Elham nikooie
Fixes : #3097
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9221 >
2025-06-19 05:21:05 +00:00
Johan Sternerup
c530453413
twcc: Fix reference timestamp wrapping (again)
...
With
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7527
an attempt was made to fix the wrapping of the TWCC 24-bit reference
time. Unfortunately this fix was not correct due to a late change and
the lack of unit tests to catch it. This time unit tests are provided to
make sure we have a correct fix for all the edge cases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9051 >
2025-06-18 10:43:34 +00:00
Matthew Waters
f51d9fc128
rtph265depay: output profile, tier, level in output caps
...
These values are very easy to provide and some cases in rtph265pay require
these values to be set.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9223 >
2025-06-18 07:35:52 +00:00
Sebastian Dröge
b003b2b023
wavparse: Don't error out always when parsing acid chunks
...
Remove stray goto introduced in ba8fd35e72b645c5048813d1bcc58271fb72ab6c
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4495
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9230 >
2025-06-18 05:51:31 +00:00
Matthew Waters
7bbff29763
rtph265depay: CRA_NUT can also start an (open) GOP
...
https://datatracker.ietf.org/doc/html/rfc7798#section-3.1.1 says that a CRA_NUT
can start a GOP so add that to the list of nal types where VPS/SPS/PPS can be
inserted.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9217 >
2025-06-18 01:29:10 +00:00
Matthew Waters
9f4f426a89
rtph265depay: fix codec_data generation
...
When producing the profile_teir_level() struct, account for emulation
prevention bytes (0x0, 0x0, 0x3) in the source SPS. Also copy from the correct
starting point in the source SPS and don't put the NAL header into codec_data.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9205 >
2025-06-17 11:40:23 +00:00
César Alejandro Torrealba Vázquez
49e53cb09e
qtmux: Update chunk offsets when converting stco to co64 with faststart
...
When creating a faststart file, qtmux has to take into account that
any 32 bit stco atom may need to be converted into its 64 bit version
due to the offset that is added before the mdat data by the moov atom,
the extra atoms and the mdat header. If a stco atom is converted into
co64, the chunk offset of all stco and co64 atoms has to be increased,
which in turn may also cause that other stco atoms need to be converted
into co64, modifying the chunk offsets again.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9102 >
2025-06-17 07:02:47 +00:00
Sebastian Dröge
48cfd3a6e4
aacparse: Add test for correctly parsing the number of channels from codec_data
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9074 >
2025-06-17 04:12:15 +00:00
changyong.ahn
163e9e8df4
aacparse: Fix counting audio channels in program_config_element
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9074 >
2025-06-17 04:12:15 +00:00
changyong.ahn
300ff38178
gstaacparse: Fix counting audio channels in program_config_element
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9074 >
2025-06-17 04:12:15 +00:00
Piotr Brzeziński
fa44cfdaaa
imagefreeze: Handle EOS from send_event()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9191 >
2025-06-11 13:13:18 +02:00
Matthew Waters
9f055e1eeb
qml6gloverlay: support directly passing a QQuickItem for QML the render tree
...
This is provided in addition to the text description in the qml-scene.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9180 >
2025-06-11 11:55:51 +10:00
Víctor Manuel Jáquez Leal
82a71a7739
gstreamer-vaapi: remove subproject
...
It's almost superseded by va plugin in gst-plugins-bad.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9200 >
2025-06-10 17:32:46 +00:00
Doug Nazar
09a0a6a9d5
rtpjpeg: fix copying of quant data if it spans memory segments
...
rtpjpeg no longer joins all memory segments before encoding. Ensure
we copy the data from the correct segments.
Re-arrange test data so it's not correctly ordered and add test.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5533 >
2025-06-09 10:36:07 +00:00
Elliot Chen
0f7ee14a1d
adaptivedemux2: free cancellable when freeing transfer task
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8610 >
2025-06-07 12:17:27 +00:00
Pratik Pachange
0e78a6c5aa
v4l2object: Make extra-controls property mutable in playing state
...
Certain encoder user controls as well as codec controls can be
changed while the pipeline is in playing state.
e.g. Codec controls like video_bitrate, frame_ltr_index,
use_ltr_frames, etc. and user controls like horizontal_flip,
vertical_flip can be changed while the pipeline is running.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9168 >
2025-06-06 14:06:50 +00:00
Thibault Saunier
450f2343cf
doc: Add some explanation about the logic of when to post navigation message in code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9130 >
2025-06-03 15:59:12 +00:00