Commit graph

1525 commits

Author SHA1 Message Date
Sebastian Dröge
1d91616b3c splitmuxsink: Also increment fragment IDs when no filename is configured on the sink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8544>
2025-02-24 23:11:52 +00:00
Thibault Saunier
8c16be5901 adaptivedemux: Add 'backoff' logic for HTTP request
So that the user can configure waits between retries

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8128>
2025-02-24 16:57:23 +00:00
Thibault Saunier
6d0c0d5d29 adaptivedemux2: Expose a max-retries property
So the user can configure what is the maximum number of time HTTP requests can
be performed

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8128>
2025-02-24 16:57:23 +00:00
Thibault Saunier
ba4a260c07 souphttpsrc: Add the notion of "retry-backoff"
So that the user can force waits between retries

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8128>
2025-02-24 16:57:23 +00:00
Thibault Saunier
6652360d30 souphttpsrc: Retry on SERVICE_UNAVAILABLE and INTERNAL_SERVER_ERROR
Those might be temporary issue, for example s3 returns SERVICE_UNAVAILABLE high
load, but afterward a few tries the request will work, and it has been observed
that internal server error sometimes "fix themselves"  so it makes sense to
also retry requests, in case.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8128>
2025-02-24 16:57:23 +00:00
Thibault Saunier
99ad918ece adaptivedemux2: Increment retry counter to stop after MAX_ERROR_COUNT
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8128>
2025-02-24 16:57:23 +00:00
Thibault Saunier
1faa88b1ff dashdemux2: Do not set empty string 'track_id'
This is not needed and generates g_warning like:

```
  Trying to set empty string on taglist field 'container-specific-track-id'. Please file a bug.
```

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8128>
2025-02-24 16:57:23 +00:00
Elliot Chen
2548503898 scaletempo: scaletempo: clip the timestamp or duration of gap event if needed
For some cases, maybe the timestamp of gap event is smaller than
segment start value or larger than segment stop value in playback.
And the timestamp plus duration may exceed segment boundary. Need
check and clip the timestamp or duration before recalculating.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8517>
2025-02-24 12:09:04 +00:00
Tim-Philipp Müller
644a005ecb Back to development after 1.25.90 2025-02-23 23:52:57 +00:00
Tim-Philipp Müller
94a3e912ab Release 1.25.90 2025-02-23 23:44:10 +00:00
Tim-Philipp Müller
7bd882b94c gst-plugins-good: update translations 2025-02-23 23:44:02 +00:00
Julian Bouzas
25543de560 rtph264depay: Improve properties doc to be the same as rtph265depay
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8343>
2025-02-22 13:31:10 +00:00
Julian Bouzas
cc1556efab rtph264depay: Improve request keyframe logic
We cannot rely only on the DISCONT flag when deciding whether we need to
request a new key frame or not because it might be that the packet that just
came in with the DISCONT flag is actually the start of a keyframe.

This patch improves the logic to be the same as rtph265depay, by only requesting
a key frame if the packet with the DISCONT flag is not the first one of a FU; or
if its the first one, only request it when we could drop packets due to a
missing key frame.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8343>
2025-02-22 13:31:10 +00:00
Julian Bouzas
22b40d66ef docs: update plugins cache with new rtph265depay properties
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8343>
2025-02-22 13:31:10 +00:00
Julian Bouzas
4400caeaef rtph265depay: Add request-keyframe property
Similar to the H264 depayloader, this property will request a new keyframe
when packet loss is detected.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8343>
2025-02-22 13:31:10 +00:00
Julian Bouzas
ca08f4220a rtph265depay: Add wait-for-keyframe property
Similar to the H264 depayloader, this property will wait for the next keyframe
by dropping RTP packets if there is a missing packet.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8343>
2025-02-22 13:31:10 +00:00
Matthew Waters
b2a5b4f304 qt/6: mark GstGLDisplayEGLs that would be created as foreign
Otherwise, GStreamer may preemptively call eglTerminate() before Qt has
finished using the EGLDisplay.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8504>
2025-02-21 12:03:31 +00:00
Jan Schmidt
5542e525f5 test-onvif: Re-add mulawenc
Accidentally lost mulawenc from the rtppcmupay case
in the previous commit !8378

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8503>
2025-02-18 15:07:38 +00:00
Brad Hards
ec679507f6 qtdemux: look up uncompressed component type
This fix handles the case where the order of components in the cmpd box
does not correspond to the order used for a specific track. That
is the case where the uncC component_index values are something
other than 0, 1, 2, 3.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8483>
2025-02-17 16:23:37 +00:00
Sebastian Dröge
f6cc65a6bc splitmuxsink: Be less strict about queueing negative durations
In case of temporary backwards timestamps durations can become negative. Instead
of erroring out, simply clip the durations and warn.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8390>
2025-02-17 09:36:00 +00:00
Tim-Philipp Müller
7c3a468056 qtdemux: add mappings for Hap video codec
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3596

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7717>
2025-02-15 21:25:05 +00:00
François Laignel
874a59bff2 rtpjitterbuffer: add RFC7273 active status to stats
Checking whether rtpjitterbuffer actually timestamps the buffers according to
the RFC7273 clock definition and rtpjitterbuffer configuration required looking
at the DEBUG logs.

This commit adds an entry in the rtpjitterbuffer stats to indicate if
conditions are met for RFC7273 to be active.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7829>
2025-02-14 01:12:23 +00:00
Brad Hards
49d8921232 qtdemux: fix version 1 profile handling, add diagnostics
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8456>
2025-02-14 00:03:30 +00:00
Brad Hards
c7367addb5 qtdemux: support uncompressed mono with component interleave
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8464>
2025-02-13 08:17:17 +00:00
Jochen Henneberg
6d849f5ee1 v4l2: object: Make sure dmabuf_tmpl isn't used uninitialized
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8457>
2025-02-12 20:59:15 +00:00
Ognyan Tonchev
9faf555219 rtpmanager: skip RTPSources if last_rtime is not set yet
Fixes previous commit (which worked in GStreamer 1.22 but not in
1.24 and newer). Sorry for the noise, should have tested on
master before pusshing it :(

Fixes: #3918
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8455>
2025-02-12 19:56:35 +00:00
sergey radionov
d8a85e3793 v4l2: bufferpool: update buffer state after group release
This fixes the state that lead to a flood of "newly allocated buffer
%u is not free" warnings.

Fixes #1185 #3184 #4037

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8454>
2025-02-11 19:17:48 +00:00
sergey radionov
c79b256795 v4l2: allocator: added group pointer to "group-released" signal
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8454>
2025-02-11 19:17:48 +00:00
sergey radionov
5577174668 v4l2: allocator: G_TYPE defined for GstV4l2MemoryGroup
This is needed to pass the GstV4l2MemoryGroup structure through
a glib signal.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8454>
2025-02-11 19:17:48 +00:00
Carlos Bentzen
e2bd8809bf qtmux: add support for VVC/H.266 video
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8436>
2025-02-11 03:25:38 +00:00
Hou Qi
5feb80193e v4l2: Add BGR10A2_LE support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8154>
2025-02-11 02:18:30 +00:00
Carlos Bentzen
8cfbdd7cf6 matroskamux: add support for VVC/H.266 video
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8441>
2025-02-10 22:49:35 +00:00
Carlos Bentzen
1be3d7f37b matroskademux: add support for VVC/H.266 video
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8441>
2025-02-10 22:49:35 +00:00
Carlos Bentzen
deaa9260f3 matroska: add V_MPEGI/ISO/VVC id
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8441>
2025-02-10 22:49:35 +00:00
Alexander Slobodeniuk
7ae94a4bd0 autodetect: cleanup no-op check for "constructed" implementation
It's always implemented by GObject.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>
2025-02-10 17:49:29 +00:00
Alexander Slobodeniuk
610a6f3aaf videoflip: fix chaining up GObject's constructed virtual method
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416>
2025-02-10 17:49:29 +00:00
Carlos Bentzen
a5c6eea957 qtdemux: add support for VVC/H.266
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5088>
2025-02-10 09:20:22 +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
Nirbheek Chauhan
c2db03a323 soup: Ensure that libsoup RPATHs are added with Homebrew too
With the old method of adding build RPATHs, only the libsoup as
a subproject was supported. However, it's possible to use Homebrew for
libsoup too by adding libsoup as a dependency to the target (even
though we don't link to it).

Apple ld will not add a LC_LOAD_DYLIB entry for a library unless there
are symbols that need it because meson passes `-dead_strip_dylibs`, so
we can do this without issue.

As a bonus, this ensures the correct build RPATHs in all cases.

Additionally, we still need to explicitly add an LC_RPATH for the
installed case.

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

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8403>
2025-02-09 14:25:31 +00:00
dukesook
54830e7c0a qtdemux: Demux Uncompressed MP4
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7985>
2025-02-08 10:15:06 +00:00
Philippe Normand
a39f465692 rtpsession: Fix heap-use-after-free of twcc_packets structure
This is a regression introduced by 90d99c7b52.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8427>
2025-02-07 12:52:06 +00:00
Jan Schmidt
9adc7bd9f0 test-onvif example: Add support for AAC backchannel
Detect upstream backchannel codec and support AAC in MPEG4-GENERIC
encapsulation

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8378>
2025-02-06 12:31:59 +00:00
Nicolas Dufresne
e953693aff v4l2: object: Use libgstvideo DMA DRM mapping
Complete the mapping by pulling GST/DRM mapping from libgstvideo. This removes
the duplication.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8404>
2025-02-05 18:57:29 -05:00
Robert Mader
12d2a4e2a1 matroskademux: Implement rotation tag support
Similar to qtdemux.

Tested against other Gst elements and MPV. Note that the later
apparently does not show correct results for flipped values.
In particular the Yaw value seems to get ignored by many clients.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8319>
2025-02-05 13:26:08 +01:00
Robert Mader
a7c2899990 matroskamux: Implement rotation tag support
Similar to qtmux, but for mkv and webm containers.

Tested against other Gst elements and MPV. Note that the later
apparently does not show correct results for flipped values.
In particular the Yaw value seems to get ignored by many clients.

Can be tested with:

```
gst-launch-1.0 \
videotestsrc num-buffers=90 ! \
taginject tags="image-orientation=rotate-270" ! \
capsfilter caps=video/x-raw,width=640,height=480,max-framerate=30/1 ! \
videoconvert ! \
queue ! \
vp8enc ! \
queue ! \
webmmux ! \
filesink location=./test.webm
```

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8319>
2025-02-05 12:03:26 +00:00
Robert Mader
b2702b6f10 matroska: Add projection IDs
These will allow us to support rotate methods with matroska v4 and
the corresponding webm.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8319>
2025-02-05 12:03:26 +00:00
Tomas Granath
fa9b630fc8 matroskademux: Mark streams as EOS when outside the requested segment
Ensure that streams with no (more) data are marked as EOS when
advancing past the requested segment. Without this change the
EOS would be postponed to the end of the file in that case.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8395>
2025-02-03 09:06:28 +00:00
Ruben Gonzalez
df7a8c8c40 meson: use nls option to ENABLE_NLS
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7017>
2025-02-01 12:27:01 +00:00
Tim-Philipp Müller
bc83c07727 scripts: update update-orc-dist-files.py scripts for new gst-indent
And fix python indentation with autopep8

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192>
2025-01-31 19:14:43 -03:00