Philippe Normand
0f667d140d
wpevideosrc: Post progress messages on the bus
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8217 >
2025-01-09 07:49:51 +00:00
Philippe Normand
e908d22c44
wpevideosrc: Handle latency queries
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8217 >
2025-01-09 07:49:51 +00:00
Seungha Yang
f7e70e5261
d3d12mipmapping: Add mip-levels property
...
Generating full levels would result in waste of GPU resource
depending on rendering usecase. Adding a property to make it
controllable
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8255 >
2025-01-08 22:46:14 +00:00
Seungha Yang
ca82e717c6
d3d12mipmapping: Add YUV and 64bits output formats
...
Add support for YUV and 64bits output formats to avoid
colorspace conversion and bitdepth loss
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8255 >
2025-01-08 22:46:13 +00:00
Olivier Crête
33259e7ea4
analytics: Tensor dimensions are always row-major or col-major
...
Simplify by removing the extra fields, as this is what all
frameworks give us.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8250 >
2025-01-08 21:47:52 +00:00
Thibault Saunier
bb6bf7d23b
ges: pipeline: Implement context sharing logic
...
That is the logic from `playbin2`
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4005
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7883 >
2025-01-08 21:01:17 +00:00
Tim-Philipp Müller
0cb829c589
svtjpegxsenc: add support for interlaced video
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219 >
2025-01-08 19:48:31 +00:00
Tim-Philipp Müller
3dcc6f4807
video-info: add "field-order" field to serialised caps also for interlace-mode=fields
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219 >
2025-01-08 19:48:31 +00:00
Tim-Philipp Müller
a62e517f6d
videoencoder: copy over the field order for more interlace modes
...
.. when copying over video info things from the input state
to the output state.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219 >
2025-01-08 19:48:31 +00:00
Tim-Philipp Müller
661c31f0bf
svtjpegxsenc: factor out encoding of codestream into separate function
...
Prepare for interlacing support where an interlaced image
is coded as two codestreams each representing a field.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219 >
2025-01-08 19:48:31 +00:00
Tim-Philipp Müller
ef57213426
mpegtsmux: add support for interlaced JPEG XS
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219 >
2025-01-08 19:48:31 +00:00
Tim-Philipp Müller
306200e10e
svtjpegxsdec: add support for interlaced video
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219 >
2025-01-08 19:48:31 +00:00
Tim-Philipp Müller
71aacec532
svtjpegxsdec: drop frames that had decoding errors
...
Follow-up to !8163
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219 >
2025-01-08 19:48:30 +00:00
Tim-Philipp Müller
a589575bd8
svtjpegxsdec: factor out decoding of codestream into separate function
...
Prepare for interlacing support where an interlaced image
is coded as two codestreams each representing a field.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219 >
2025-01-08 19:48:30 +00:00
Tim-Philipp Müller
23ffffe57b
tsdemux: handle interlaced JPEG XS
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219 >
2025-01-08 19:48:30 +00:00
Stéphane Cerveau
570c086254
vkh265dec: update only vps/sps on demand and pass pps always
...
As PPS can change over the stream, the pps should be always
updated to avoid missing picture parameters sets.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8124 >
2025-01-08 18:50:33 +00:00
Stéphane Cerveau
73c4eb3001
vkh264dec: update only sps on demand and pass pps always
...
As PPS can change over the stream, the pps should be always
updated to avoid missing picture parameters sets.
See CABA3_TOSHIBA_E.264 in fluster resources.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8124 >
2025-01-08 18:50:33 +00:00
Mathieu Duponchelle
33da5f0d5d
appsink: fix initial pile-up of caps events
...
appsink was queuing the caps event both in its GstBaseSinkClass.set_caps()
and its GstBaseSinkClass.sink_event() implementation, but only signaling
new_event from `sink_event`.
This caused `new_event` callbacks to start lagging by one.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7749 >
2025-01-08 09:00:31 +00:00
Samuel Thibault
727424452a
meson: Fix build with gtk3 but not wayland
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8222 >
2025-01-08 07:53:36 +00:00
Mathieu Duponchelle
cc7c3183f4
docs/contribute: add section about fixing since tags
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7531 >
2025-01-07 20:05:19 +01:00
Alex Ashley
f3e9330575
dashdemux2: mpdparser: add test for ISO8601 durations that overflow
...
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/82
and https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2576
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8209 >
2025-01-07 14:49:26 +00:00
Piotr Brzeziński
8f5caeb86d
osxaudiosrc: Work around timestamps on iOS not starting from 0
...
On macOS, you always get your own 'timeline' for the AudioUnit session, so timestamps start from 0.
On iOS however, AudioUnit seems to give you a 'shared' timeline so timestamps start at a later, non-0 point in time.
Simply offsetting seems to do the trick.
This was causing osxaudiosrc to not output any sound on iOS.
Regressed in 2df9283d3f
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7856 >
2025-01-07 11:55:03 +00:00
Piotr Brzeziński
212290baf0
osxaudiosrc: Fix render callback removal when pausing/stopping
...
At least on iOS, the 'input' callback kept being called after going to PAUSED.
Specifying the right type (like in gst_core_audio_io_proc_start()) fixes that.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7856 >
2025-01-07 11:55:03 +00:00
Piotr Brzeziński
49489d35ae
osxaudio: Fix AudioOutputUnitStart() deadlock on iOS >=17
...
At some point in iOS 17, this call started waiting for the first render callback (io_proc) to finish.
In our case, that callback also takes the ringbuf object lock by calling gst_audio_ring_buffer_set_timestamp(),
which results in a deadlock.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7856 >
2025-01-07 11:55:02 +00:00
Piotr Brzeziński
307cfc2561
osxaudio: Automatically set up AVAudioSession on iOS
...
A correctly configured AVAudioSession is needed on iOS to:
- allow the application to capture microphone audio (in some cases)
- avoid playback being silenced in silent mode
Without this, initializing AudioUnit for capture can fail on iOS >=17 (from my testing).
Since AVAudioSession has a lot of settings, in most cases its setup should be handled by the user/app.
However, just to have a basic default scenario covered, let's configure the bare minimum ourselves,
and allow anyone to disable that behaviour by setting configure-session=false on src/sink.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7856 >
2025-01-07 11:55:02 +00:00
Ruben Gonzalez
47c29127b6
tracers: Fix issue in the BC layer added in refactor to simplify params handling
...
Issue added in refactor done in commit 5e18499372
, which includes a
logic to not break the backward compatibility. Issue found with Rust
pcap-writer tracer, fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/644
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8248 >
2025-01-06 20:29:00 +01:00
Dean Zhang (张安迪)
e000a1ec1f
v4l2videodec: release decode only frame in input list
...
For some frames with decode-only flag, the v4l2 decoder will not
put them in output list. The corresponding decode-only frames will
be still kept in input list, which may cause potential performance
issue when the input list is full. So release the decode-only frames
according to the decode-only flag after they are processed by decoder
driver.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8153 >
2025-01-06 16:27:53 +00:00
Sebastian Dröge
06a0ab7b33
matroskamux: Consider audio buffers as keyframes when writing out simpleblocks
...
Otherwise mpv complains and considers the file broken.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4142
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8225 >
2025-01-06 11:43:59 +00:00
Sebastian Dröge
32e79c1041
matroskamux: Fix audio-only stream conditions
...
The num_a_streams and related counters are used for pad numbers and don't give
the absolute number of streams in this run of the muxer.
Also, consider the output audio-only if there are more than 1 audio stream too.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4142
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8225 >
2025-01-06 11:43:59 +00:00
Christian Meissl
422fca76ca
qtdemux: fix accumulated base offset in segment seeks
...
analog to fix for matroska-demux
commit f3c126d07c
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8240 >
2025-01-06 09:44:00 +00:00
Guillaume Desmottes
94253529c4
glmixerbin: derivate the mixer name from the bin name
...
Make it easier to identify a specific instance in logs in complex
pipelines.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8183 >
2025-01-06 07:50:43 +00:00
Guillaume Desmottes
69cd1a2d60
glcontext: add trace log when scheduling function in GL thread
...
There is already a log when the function is executed. Adding one when
scheduled can be useful to know how long we are waiting.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8190 >
2025-01-06 06:56:50 +00:00
Sam James
775a2bd26f
codec2json: move option to right section
...
It has an external dependency (json-glib) so should be under
that heading.
Fixes: fd588a50e4
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8238 >
2025-01-04 20:30:07 +00:00
Sam James
fd54c57260
analyticsoverlay: move option to right section
...
It has an external dependency (pango/cairo) so should be under
that heading. Also, fix an inconsistency with the ':' style.
Fixes: 95464c8977
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8238 >
2025-01-04 19:53:00 +00:00
Tim-Philipp Müller
64970e721f
tcpclientsrc, tcpserversrc: don't try to get stats from NULL socket
...
Fixes criticals during gst-inspect.
Wasn't an issue before because the entire stats gathering
code path was inactive.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8211 >
2025-01-04 12:20:18 +00:00
Tim-Philipp Müller
b4bef7fd35
tcpclientsrc, tcpserversrc: fix tcp stats gathering
...
Fix-up after commit e56b78417
. Unclear how that could
ever have worked. Code only built because basically
everything was disabled due to the missing config.h
include.
- Include config.h so that HAVE_* defines are available.
- Fix missing variable declarations that somehow disappeared
when moving the stats gathering code block into a separate
function in a new file.
- Fix structure variable modified to match name in new function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8211 >
2025-01-04 12:15:03 +00:00
Daniel Morin
e272e229e8
python tests: Adapt analytics unit test
...
- Adapt test to batch size moved into dims field
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8191 >
2025-01-03 23:14:39 +00:00
Daniel Morin
0a343fa738
analytics: remove batch-size
...
- Batch-size will be the outer-most dimension. Presence of batch dimension can
be identified using `dims` and `id`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8191 >
2025-01-03 23:14:39 +00:00
Sebastian Dröge
2f3deb4009
message: Remove nullable annotation from gst_message_writable_details()
...
This function can never return NULL as the details are created for the message
if there are none yet.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8235 >
2025-01-03 13:21:28 +00:00
Sebastian Dröge
0aeba9275c
qtdemux: Add support for ISO/IEC 23003-5 raw PCM audio
...
And also support the ISO/IEC 14496-12 chnl channel layout box as required
by ISO/IEC 23003-5.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8171 >
2025-01-03 10:11:31 +00:00
Sebastian Dröge
fd91abfc9a
audio: Add top-surround-left and right channel positions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8171 >
2025-01-03 10:11:31 +00:00
Sebastian Dröge
9e3bb0a009
audio: Add new gst_audio_reorder_channels_with_reorder_map()
...
This allows reordering the samples with a pre-calculated reorder map instead of
calculating it again every time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8171 >
2025-01-03 10:11:31 +00:00
Sebastian Dröge
f39812dc8f
pad: Reset not-linked last flow return on reconfigure events
...
The pad might actually be linked now and we'd only find out by actually pushing
a buffer downstream again.
The last flow return is used by GstFlowCombiner to detect if all pads are not
linked, and not resetting this when re-linking creates a race condition when
switching between pads where all pads are temporarily considered not linked.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3836
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8224 >
2025-01-02 16:23:19 +00:00
Jochen Henneberg
68cdeeb882
qtdemux: Undef helper macros after use
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8127 >
2025-01-02 15:22:47 +00:00
Jochen Henneberg
d86f60ffdf
qtdemux: Validate matrix before doing simplified multiply
...
The matrix multiplication makes some assumption about the element
values to simplify the math with fixpoint values. If this is allowed
for the given matrices is now checked first.
Then the debug output for matrix and a comment have been fixed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8127 >
2025-01-02 15:22:47 +00:00
Jochen Henneberg
5c005733ea
qtdemux: Fixup for orientation matrix parsing
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8127 >
2025-01-02 15:22:47 +00:00
Jochen Henneberg
c4d0f4bbd9
qtdemux: Use mvhd transform matrix and support for flipping
...
The mvhd matrix is now combined with the tkhd matrix. The combined
matrix is then checked if it matches one of the standard values for
GST_TAG_IMAGE_ORIENTATION.
This check now includes matrices with flipping.
Fixes #4064
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8127 >
2025-01-02 15:22:47 +00:00
Sebastian Dröge
f0a8938133
decodebin3: Free main input even if it is not part of the list of inputs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8216 >
2025-01-02 14:30:02 +00:00
Seungha Yang
126d6f0815
d3d12screencapturesrc: Add support for HDR capture in DDA mode
...
Use IDXGIOutput5::DuplicateOutput1() if HDR is enabled.
Note that scRGB color space is not defined in GStreamer,
this element will output SDR tonemapped frame
with linear or reinhard filtering.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3834
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8227 >
2025-01-02 06:55:33 +09:00
Seungha Yang
2ff7b5a5ab
d3dshader: Add sampling pixel shader for scRGB SRV
...
Shaders required for HDR capturing
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8227 >
2025-01-02 05:57:38 +09:00