Nicolas Dufresne
c63e56fe63
v4l2codecs: Fix tiled formats stride conversion
...
While adding arbitrary tile support, a round up operation was badly
converter. This caused the Y component of the stride to be 0. This
eventually lead to a crash in glupoad preceded by the following
assertion.
gst_gl_buffer_allocation_params_new: assertion 'alloc_size > 0' failed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5463 >
2023-10-11 16:48:50 +01:00
Seungha Yang
019430949c
decklink: Fix broken COM string conversion
...
WideCharToMultiByte return is the string length without null terminate
character if passed "cchWideChar" does not include the null terminate
character size. Instead of passing the exact string length, pass -1 so that
the API can understand the input string is null terminated already and
returned value from the API includes the character.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3023
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5446 >
2023-10-09 15:34:44 +01:00
James Oliver
51e6209d1c
nvh265encoder: fix bounds for auto-select GPU enumeration
...
Fixes the bounds-check for encoder auto-select GPU enumeration to be
between 0-7 instead of 0-6. This should allow 8-GPU machines to work
with nvautogpuh265enc for the last enumerated GPU.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5439 >
2023-10-05 12:20:17 +01:00
James Oliver
23aa3907f5
nvh264encoder: fix bounds for auto-select GPU enumeration
...
Fixes the bounds-check for encoder auto-select GPU enumeration to be
between 0-7 instead of 0-6. This should allow 8-GPU machines to work
with nvautogpuh264enc for the last enumerated GPU.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5439 >
2023-10-05 12:20:17 +01:00
Philippe Normand
4311de2be0
interaudiosink: Ensure adapters don't store buffers with audio meta
...
The interaudiosrc might take buffers of different sizes from the audio adapter,
so keeping metas consistency would be an issue. So the sink now strips the audio
metas away and the src adds them back (for non-interleaved layouts only) when
taking buffers from the adapter.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5416 >
2023-09-28 15:14:38 +02:00
Philippe Normand
acd4202bc0
interaudiosrc: Add audio meta to buffers containing non-interleaved samples
...
Without this a downstream audioconverter wouldn't be able to map the
GstAudioBuffer prior to conversion.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5416 >
2023-09-28 15:14:38 +02:00
Seungha Yang
c7f7c8e346
d3d11decoder: Fix crash on negotiate() when decoder is not configured
...
The negotiate() can be called by GstVideoDecoder baseclass on GAP event,
and decoder helper object might not be configured at the time
when negotiate() is called.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5401 >
2023-09-27 12:29:34 +02: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
Sebastian Dröge
1edd1c38dc
mxfdemux: Check number of channels for AES3 audio
...
Only up to 8 channels are allowed and using a higher number would cause
integer overflows when copying the data, and lead to out of bound
writes.
Also check that each buffer is at least 4 bytes long to avoid another
overflow.
Fixes ZDI-CAN-21661, CVE-2023-40475
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2897
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5365 >
2023-09-20 15:14:27 +01:00
Sebastian Dröge
f73fc41f2c
mxfdemux: Fix integer overflow causing out of bounds writes when handling invalid uncompressed video
...
Check ahead of time when parsing the track information whether
width, height and bpp are valid and usable without overflows.
Fixes ZDI-CAN-21660, CVE-2023-40474
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2896
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5365 >
2023-09-20 15:14:27 +01:00
Nicolas Dufresne
fddda16622
h265parser: Fix possible overflow using max_sub_layers_minus1
...
This fixes a possible overflow that can be triggered by an invalid value of
max_sub_layers_minus1 being set in the bitstream. The bitstream uses 3 bits,
but the allowed range is 0 to 6 only.
Fixes ZDI-CAN-21768, CVE-2023-40476
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2895
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5366 >
2023-09-20 11:19:06 +01:00
Hugues Fruchet
9394979d67
waylandsink: Fix cropping for video with non-square aspect ratio
...
Padding of unaligned content is still visible at right with some aspect-ratio.
Fix this by giving the original content resolution to wp_viewport_set_source()
instead of pixel aspect ratio scaled one.
Fixes !5259
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5360 >
2023-09-20 01:32:29 +01:00
Seungha Yang
0f18fe67be
h264decoder: Update latency dynamically
...
The actual number of reorder frames is unknown
unless frame reordering is disabled
(e.g., POC type 2 or constrained-* profiles).
Also derived maximum DPB size or max_num_reorder_frames in VUI
is not the upper bound of output delay.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2702
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5341 >
2023-09-19 09:55:47 +00:00
L. E. Segovia
ffa307e614
applemedia: Also fix inconsistent pixel format definition for NV12
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5203 >
2023-09-18 19:42:22 +00:00
L. E. Segovia
6cfb9b7c85
applemedia: Fix pixel format for I420
...
In Intel Macs, using full range 8-bit 4:2:0 YCbCr results in a failure on
initialization. I've validated this to be the correct pixel format with FFmpeg:
8653dcaf7d/libavutil/hwcontext_videotoolbox.c (L45)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5203 >
2023-09-18 19:42:22 +00:00
Víctor Manuel Jáquez Leal
6efc79f5b6
va: Fix in error logs functions mismatches
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5340 >
2023-09-16 17:57:33 +01:00
Matthew Waters
eef2348743
androidmedia/enc: handle codec-data before popping GstVideoCodecFrames
...
Issue is that when amc was producing a codec-data buffer, a
GstVideoCodecFrame was being popped off the internal queue. This meant
that the codec-data was being associated with the first input frame and
the second (first encoded buffer) output buffer with the second input
frame. At the end (assuming one input produces one output which seems
to hold in my testing and how the encoder is currently implemented)
there would be an input frame missing and would be pushed without any
timing information. This would lead to e.g. muxers rejecting the buffer
without PTS and failing to mux.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5335 >
2023-09-16 01:40:17 +00:00
Matthew Waters
790e480c7f
androidmedia/enc: add fixme log about partial frames
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5335 >
2023-09-16 01:40:17 +00:00
Seungha Yang
737057c27a
av1parser: Fix segmentation params update
...
Even if the segmentation feature value is not updated,
the parsed "segmentation_update_map" and "segmentation_temporal_update"
values should not be cleared as it's referenced during lower
level bitstream parsing. Also, don't use assert() in parser
unless it's clearly impossible condition.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5336 >
2023-09-16 01:37:26 +01:00
Jan Alexander Steffens (heftig)
3b46b162b7
rtmp2: Allow NULL flash version, omitting the field
...
rtmpsink omits it by default. Allow us to do the same.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5248 >
2023-09-12 18:13:06 +00:00
Thomas Schneider
ae56da8447
androidmedia: fix hevc codec profile registration
...
Fix the codec registration logic such that all supported
profiles are available instead of just the first in the
list.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5313 >
2023-09-12 17:27:44 +00:00
Akihiro Sagawa
edf37b216f
codecparsers: Fix MPEG-1 aspect ratio table
...
The values defined in ISO/IEC 11172-2 are different from those used so far.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5300 >
2023-09-07 21:41:06 +00:00
Nicolas Dufresne
7851f98886
waylandsink: Crop surfaces to their display width height
...
Setting the surface source rectangle has been omitted so far. As a side effect
surface created with padded width/height are being scaled down. Fix this using
the viewporter source rectangle configuration. This can later be enhanced
to support crop meta.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5298 >
2023-09-07 20:48:05 +00:00
Seungha Yang
1254dd49be
d3d11convert: Passthrough allocation query on same caps
...
Since d3d11convert and its variant elements does not enable basetransform's
passthrough, passthrough allocation query needs to be handled
manually in order to respect downstream element's min/max buffer
requirement.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5297 >
2023-09-07 16:36:25 +01:00
Seungha Yang
5f433d7ff2
nvencoder: Fix negotiation error when interlace-mode is unspecified
...
Use GST_PAD_SET_ACCEPT_INTERSECT() to accept caps without interlace-mode
field
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5240 >
2023-08-24 16:38:48 +01:00
Seungha Yang
adea0b45f7
win32ipc: Fix pipe handle leak
...
Named pipe handle must be closed if it's no longer needed
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2923
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5231 >
2023-08-23 18:57:44 +01:00
Seungha Yang
4740a91e00
h265parse: Allow partially broken hvcC data
...
Ignores parsing error on the last nalu of the array if the nalu type
is not VPS/SPS/PPS
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2905
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5220 >
2023-08-23 11:20:33 +00:00
Jan Schmidt
1347f71b6d
mdns: Fix a crash on context error
...
Make sure not to free the microdns provider context until the
device provider asks it to stop. Fixes a crash if there is
an error (such as MDNS port being busy) that makes the
mdns listener exit early.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5207 >
2023-08-20 17:30:11 +01:00
Guillaume Desmottes
c98cf346a9
rtmp2sink: fix crash if message conversion failed
...
The message pointer is not set so we can't display it in logs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5202 >
2023-08-18 14:04:14 +00:00
Seungha Yang
1d7f2c2b9a
hlssink2: Always use forward slash separator
...
g_build_filename() will insert back slash on Windows, and resulting
playlist will contain media segment path with back slash if
"playlist-root" property is specified
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5161 >
2023-08-08 10:49:15 +01:00
Jan Schmidt
d710d60c40
audiolatency: Fix event refcounting bug handling latency events
...
Fix a refcounting bug introduced in
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5146
If upstream returns FALSE when processing a latency event, it will
be unreffed an extra time
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5152 >
2023-08-06 09:52:16 +01:00
Jan Schmidt
58c48bab7e
audiolatency: Forward latency query and event upstream
...
Make sure the pipeline still configures the latency that it would configure
if audiolatency was not in the pipeline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5152 >
2023-08-06 09:51:19 +01:00
Ryan Pavlik
bf687544ba
androidmedia: Add more null checks (of env) to JNI utilities
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5142 >
2023-08-03 21:03:50 +00:00
Philippe Normand
1ea67bdfc5
transcodebin: Fixes for upstream selectable support
...
The upstream selectable query was not performed in all situations where we
handle the stream-start event. This could potentially lead to unlinked pads
between decodebin3 and encodebin later on.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5141 >
2023-08-03 15:06:54 +01:00
Ryan Pavlik
903e116cc5
androidmedia: Add more null checks to JNI utilities
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5136 >
2023-08-02 10:23:26 +01:00
Ryan Pavlik
11595175e5
androidmedia: Fix typo
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5136 >
2023-08-02 10:23:26 +01:00
Ryan Pavlik
8602154155
androidmedia: Clear err if we don't have an optional camera field/constant
...
Fixes startup on devices where those fields/constants are not found.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5136 >
2023-08-02 10:23:26 +01:00
Ryan Pavlik
2e08447537
webrtc: Fix docs for create-data-channel action signal
...
Initial line of the doc comment was incorrect, so the nicely written
docs were not being extracted.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5134 >
2023-08-02 00:07:56 +00: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
Víctor Manuel Jáquez Leal
90cfe4746e
jpegparse: Warn only malformed data in APP data.
...
It's only malformed data in APP when its length is less than 6 chars,
because it should have at least an id string. Otherwise, if the id string
is not handled, no warning is raised, only a debug message noticing it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5053 >
2023-07-18 12:30:57 +02:00
Víctor Manuel Jáquez Leal
122e7b7584
jpegparse: Parse AVI1 tag in app0.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5053 >
2023-07-18 12:30:57 +02:00
He Junyan
107553843c
va: jpegdecoder: Do not check SOS state when parsing DRI marker.
...
According to spec, the JPEG_MARKER_DRI(Restart interval definition)
marker can come before the SOS marker. So we should not check the SOS
state when parsing the DRI marker.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5053 >
2023-07-18 12:30:57 +02:00
Carlos Rafael Giani
ca868332f1
gl: Take into account viv-fb vs. viv_fb naming in meson scripts
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4959 >
2023-07-12 22:45:04 +10:00
Matthew Waters
661dcdaf30
gl: provide a pkg-config/gir file for the viv-fb backend
...
Required to be able to generate coherent bindings for window system
specific APIs due to limitations in gobject-introspection.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4959 >
2023-07-12 22:45:04 +10:00
Tim-Philipp Müller
bda8cf583f
taglist, plugins: fix compiler warnings with GLib >= 2.76
...
Fix compiler warnings about not using the return value when
freeing the GString segment with g_string_free(.., FALSE):
ignoring return value of ‘g_string_free_and_steal’ declared with attribute ‘warn_unused_result’
which we get with newer GLib versions. These were all harmless.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5015 >
2023-07-12 08:58:50 +00:00
Seungha Yang
62aa802d17
d3d11bufferpool: Fix heavy CPU usage in case of fixed-size pool
...
There's no reason to release GstMemory manually at all.
If we do release GstMemory, corresponding GstBuffer will be
discarded by GstBufferPool baseclass because the size is changed
to zero.
Actual cause of heavy CPU usage in case of fixed-size pool
(i.e., decoder output buffer pool) and if we remove GstMemory from
GstBuffer is that GstBufferPool baseclass is doing busy wait in acquire_buffer()
for some reason. That needs to be investigated though, discarding
and re-alloc every GstBuffer is not ideal already.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4943 >
2023-07-11 23:23:12 +00:00
Philippe Normand
c067269737
webrtcbin: Prevent critical warning when creating an additional data channel
...
The max_channels value wasn't clamped to 65534 in all situations.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5012 >
2023-07-11 20:39:59 +00:00
Philippe Normand
a75140ba87
webrtcstats: Properly report IceCandidate type
...
strcmp returns a positive value if s1 is greater than s2, while we actually
needed to check equality here.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4957 >
2023-07-03 09:17:01 +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
Sebastian Dröge
5f3cf0a7d7
dvdspu: Avoid integer overflow when checking if enough data is available
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4899 >
2023-06-20 10:07:14 +00:00
Sebastian Dröge
60226124ec
dvdspu: Make sure enough data is allocated for the available data
...
If the size read from the stream is smaller than the currently available
data then the size is bogus and the data should simply be discarded.
Fixes ZDI-CAN-20994
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2660
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4899 >
2023-06-20 10:07:14 +00:00
Andoni Morales Alastruey
6c238ee44b
vtenc: remove duplicated framerate and size variables
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4888 >
2023-06-19 11:17:36 +01:00
Andoni Morales Alastruey
01d999342f
vtenc: apply DTS offset to ensure DTS <= PTS
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4888 >
2023-06-19 11:17:36 +01:00
Nicolas Dufresne
49106eab5d
h265parse: Don't override upstream framerate
...
The framerate should only be replaced (and corrected for alternating field)
when it is parsed from the bitstream. Otherwise, the upstream framerate
from caps should be trusted and assumed correct.
Related to gst-plugins-bad!2020
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4352 >
2023-06-16 08:18:49 +00:00
Nicolas Dufresne
77cda4b6b8
h265parse: Rename parsed_framerate to framerate_from_caps
...
That meaning of parsed_framerate is ambigious, it is set whenever the
framerate has been parsed from caps, which can be confused with being
parsed from the bitstream. Rename this as framerate_from_caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4352 >
2023-06-16 08:18:49 +00:00
Mengkejiergeli Ba
43e4f3a727
h265parse: Fix to check returned value
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4352 >
2023-06-16 08:18:49 +00:00
Michael Olbrich
0fe375dc84
sdpdemux: ensure that only one srcpad is created per stream
...
If two senders use the same multicast IP and port then new_session_pad()
may try to add a srcpad to the same stream twice.
stream->srcpad is updated but gst_element_add_pad() fails the second
time. As a result stream->srcpad points to a deleted object and
access in gst_sdp_demux_stream_free() fails with a segfault.
Just ignore the second pad. Nothing useful can be done with it anyway.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4873 >
2023-06-16 01:53:12 +00:00
Marek Vasut
94f2a9cb2b
kmssink: Add ST STM32 LTDC auto-detection
...
Add STM32 LTDC controller into list of auto-detected modules.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4872 >
2023-06-16 00:54:40 +00:00
Marek Vasut
b52ab27a74
kmssink: Add NXP i.MX8M Plus LCDIFv3 auto-detection
...
Add i.MX8M Plus LCDIFv3 controller into list of auto-detected modules.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4872 >
2023-06-16 00:54:40 +00:00
He Junyan
a848621480
va: h265enc: map the mbbrc to correct enum value in get_property()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4870 >
2023-06-15 23:36:35 +00:00
He Junyan
a610c0c316
va: h264enc: map the mbbrc to correct enum value in get_property()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4870 >
2023-06-15 23:36:35 +00:00
François Laignel
3eb78e5280
srtpdec: fix Got data flow before segment event
...
A race condition can occur in `srtpdec` during the READY -> NULL transition:
an RTCP buffer can make its way to `gst_srtp_dec_chain` while the element is
partially stopped, resulting in the following critical warning:
> Got data flow before segment event
The problematic sequence is the following:
1. An RTCP buffer is being handled by the chain function for the
`rtcp_sinkpad`. Since, this is the first buffer, we try pushing the sticky
events to `rtcp_srcpad`.
2. At the same moment, the element is being transitioned from PAUSED to READY.
3. While checking and pushing the sticky events for `rtcp_srcpad`, we reach the
Segment event. For this, we try to get it from the "otherpad", in this case
`rtp_srcpad`. In the problematic case, `rtp_srcpad` has already been
deactivated so its sticky events have been cleared. We won't be pushing any
Segment event to `rtcp_srcpad`.
4. We return to the chain function for `rtcp_sinkpad` and try pushing the
buffer to `rtcp_srcpad` for which deactivation hasn't started yet, hence the
"Got data flow before segment event".
This commit:
- Adds a boolean return value to `gst_srtp_dec_push_early_events`: in case the
Segment event can't be retrieved, `gst_srtp_dec_chain` can return an error
instead of calling `gst_pad_push`.
- Replaces the obsolete `gst_pad_set_caps` with `gst_pad_push_event`. The
additional preconditions checked by previous function are guaranteed here
since we push a fixed Caps which was built in the same function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4860 >
2023-06-15 12:04:39 +00:00
François Laignel
9103fc3493
srtpdec: backport for fix assertion 'parent->numsinkpads <= 1' failed
...
Commit 96450f4c
uses the new function `gst_element_decorate_stream_id` which
was introduced by 39633967
in 1.23.
This commit backports 96450f4c
with a simplified version of
`gst_element_decorate_stream_id_internal` as a private srtpdec function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4860 >
2023-06-15 12:04:39 +00:00
Seungha Yang
68dfea6349
d3dvideosink: Fix navigation event leak
...
Fixing regression introduced in 6c2f6c3bd4
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4868 >
2023-06-15 10:39:32 +00:00
Tim-Philipp Müller
61bef370e0
asfmux: fix potentially unaligned write on 32-bit ARM
...
Fixes #2665
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4855 >
2023-06-14 09:12:15 +01:00
Sebastian Dröge
dd9e34b5e0
decklink: Implement Windows string conversion with common API between MinGW and MSVC
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4786 >
2023-06-07 05:46:12 +00:00
Sebastian Dröge
04460bff0d
decklink: Add some newlines in long defines
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4786 >
2023-06-07 05:46:12 +00:00
Maksym Khomenko
06587a61a1
decklink: Calculate string size before malloc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4786 >
2023-06-07 05:46:12 +00:00
Sebastian Dröge
6ee351a1ac
decklink: Use the macOS version of the SDK on macOS and not the Linux one
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4786 >
2023-06-07 05:46:12 +00:00
Sebastian Dröge
13104117fa
decklink: Free SDK strings after usage on Linux
...
While they're const char* they still need to be freed like on Windows
and macOS and would be leaked otherwise.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4786 >
2023-06-07 05:46:12 +00:00
Sebastian Dröge
52e3d54bde
decklink: Correctly handle SDK strings on macOS
...
They're CFStringRef* and not plain NUL-terminated char* C strings.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4786 >
2023-06-07 05:46:12 +00:00
Colin Kinloch
7faadfe882
waylandsink: Emit "map" signal boarder surface is ready
...
This allows gtkwaylandsink to queue a draw of its gtk widget at the
correct time, avoiding a race.
Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4754 >
2023-06-01 10:35:25 +01:00
Jan Alexander Steffens (heftig)
cf05285b61
fdkaacdec: Support up to 5 rear channels
...
The `switch (n_rear)` supports up to 5 rear channels, but our channel
set only had space for 3. Size the set properly to fix this.
This didn't actually cause any memory unsafety as `PUSH_CHAN` would stop
incrementing `n_rear` if the channel set is already full.
Thanks to @alatiera for noticing this.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4740 >
2023-05-30 16:31:22 +01:00
Seungha Yang
d93f0a51c2
d3d11videosink: Fix error on pause and play
...
The show_frame() can be called without prepare() call on paused to
playing state change. Thus the prepared buffer should not be cleared
on show_frame()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4714 >
2023-05-25 17:03:26 +01:00
Thibault Saunier
f984d775e8
testsrcbin: Remove spurious caps unref
...
Caps are cleared at the end of the function
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2575
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4685 >
2023-05-20 09:59:07 +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
Haihua Hu
e8b74ada7c
gstplay: fix critical log when enable playbin3
...
when play rtsp stream with playbin3 enabled, there are some critical logs:
g_object_get_is_valid_property: object class 'GstPlayBin3' has no property named 'n-video'
g_object_get_is_valid_property: object class 'GstPlayBin3' has no property named 'n-audio'
g_object_get_is_valid_property: object class 'GstPlayBin3' has no property named 'n-text'
self->collection could be NULL when READY->PAUSED if the pipeline
is live, then it will fallback to query playbin2's property,
we can call gst_play_streams_info_create_from_collection
directly, it will check self->collection internal.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4666 >
2023-05-18 13:18:05 +01:00
Elliot Chen
fc0ada9e63
gstplay: avoid getting property of playbin2 if subtitle_sid is null
...
There is a probability of getting "current-text" property
when play with playbin3, and this property is available
only in playbin2.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4661 >
2023-05-17 19:22:28 +00:00
Seungha Yang
d016bf1bed
d3d11convert: Fix for runtime property update
...
Every setup happens in set_caps() method but basetransform will not
call the set_caps() if in/out caps were not changed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4652 >
2023-05-17 15:43:56 +00:00
Aleksandr Slobodeniuk
d0268db7e4
d3d11convert: protect 'add-borders' with mutex
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4652 >
2023-05-17 15:43:56 +00:00
Carlos Rafael Giani
c932134637
avdtputil: Use int instead of int range for fixed bitpool values
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1698
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4655 >
2023-05-17 09:27:04 +00:00
Tim-Philipp Müller
556449a917
Revert "webrtc/nice: support consent-freshness RFC7675"
...
This reverts commit 0161687505
.
This causes problems when the connection is congested because
libnice uses a too agressive timeout contrary to the spec, so
it's easy for consent to lapse and streaming to stop if there's
packet loss.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4649 >
2023-05-17 07:53:16 +00:00
Johan Sternerup
d7647035cc
sctpenc: Fix potential shutdown deadlock
...
When transitioning from state PAUSED to READY, the sctpenc element
could previously be stuck in an endless loop trying to resend data
in case the underlying sctp stream was in the process of
resetting. usrsctp_sendv() would repeatedly return EAGAIN with the
result that 0 bytes were sent and then sctpenc would retry forever.
To bring sctpenc out of the resend loop we just need to inform the
sink pad that it is flushing, which is already done for the associated
data queue, but we also need to set the bools associated with the
sinkpads that are used as the loop criterion.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4636 >
2023-05-15 09:20:32 +00:00
Daniel Moberg
5add11ffbc
webrtc: do not tear down data channel before data is flushed
...
Current implementation can in some cases detect
that all data is sent but in reality it is not,
leading to a push to an unlinked pad.
This is a race between the probe used to track data sent and a
call to close.
This patch sends an EOS before starting the close procedure
and then waits for the EOS event to come through to the
src pad before commencing with tear down.
This ensures that any queued data before EOS is flushed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4633 >
2023-05-15 08:09:36 +01:00
Jan Schmidt
40cd8d5a96
mpegpsdemux: Rework gap sending
...
Take the gap logic from mpegtsdemux, and don't
send gap events on a stream that's outputting buffers with
no timestamps. Time isn't advancing, but the stream has
buffers - so it's not sparse.
Fixes #2374
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4623 >
2023-05-12 18:24:20 +01:00
Seungha Yang
81c1017e55
vavp8dec: Fix return type of decode_picture()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4614 >
2023-05-12 10:49:21 +01:00
Seungha Yang
69e41e4b09
vajpegdec: Hide gst_jpeg_decoder_get_type() symbol
...
It's not a public symbol yet
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4614 >
2023-05-12 10:49:21 +01:00
Seungha Yang
9c08b2f53a
vabaseenc: Fix return type of encode_frame vfunc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4614 >
2023-05-12 10:49:21 +01:00
Seungha Yang
8508ce0bc0
va: Fix struct empty initialization syntax
...
"struct Foo bar; bar = {};" is not a valid syntax. Also remove use
of __typeof__ which is GCC specific
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4614 >
2023-05-12 10:49:21 +01:00
Seungha Yang
850c57bad7
d3d11videosink: Don't clear prepared buffer on unlock_stop()
...
That can be called between prepare() and render() which results in
unexpected error flow return
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4596 >
2023-05-11 01:29:37 +01:00
Seungha Yang
43461432ec
h264decoder: Drop nonexisting picture silently without error
...
If end_picture() was not successful, we do drop corresponding
GstVideoCodecFrame and therefore gst_video_decoder_get_frame()
will return nullptr which is expected behavior.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4586 >
2023-05-09 23:19:39 +00:00
Philippe Normand
268ce06c78
webrtcdatachannel: Bind to parent webrtcbin using a weak reference
...
The previous approach of using a simple pointer could lead to a use-after-free
in case a data-channel was created and its parent webrtcbin was disposed soon
after.
Fixes #2103
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4580 >
2023-05-09 08:54:52 +01:00
Matthew Waters
0161687505
webrtc/nice: support consent-freshness RFC7675
...
As is supported by libwebrtc already. This allows ICE components to
transition to failed if consent to send from the peer is revoked or if
multiple consent packets are lost.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4575 >
2023-05-08 15:51:55 +01:00
Seungha Yang
e23645b5ad
d3d11memory: Don't clear wrapped texture memory
...
The external texture may hold already rendered scene and therefore
it should not be cleared in alloc method
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4558 >
2023-05-06 00:20:18 +00:00
Seungha Yang
009fa58df1
mfvideoenc: Allow only even resolution numbers
...
Some H/W vendors support odd resolution if D3D11 texture is used
or via IMF2DBuffer, but not all vendors support it.
Also software MFT does not allow odd resolution.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1165
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2537
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4548 >
2023-05-05 09:57:37 +01:00
Philippe Normand
0a23782aea
webrtcbin: Fix potential deadlock when closing before any data was sent
...
A blocking pad probe is added on new sink pads, it's usually removed after the
caps have been negotiated or the signaling state switched to stable, but if that
never happens and the pad is released we kept the pad probe active, leaving the
pad blocked, preventing clean disposal.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4533 >
2023-05-03 09:54:11 +00:00