Seungha Yang
288f6e4dba
d3d11decoder: Copy HDR10 related caps field manually
...
If negotiate() is called from the set_format() chain, sinkpad may not
hold caps yet, so baseclass cannot copy it over to srcpad caps.
Copy them manually.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2376 >
2022-05-05 18:33:37 +01:00
Jakub Adam
fe2a940898
d3d11screencapture: Set viewport when drawing mouse cursor
...
If there weren't any moved/dirty regions in the captured frame, the
viewport of the ID3D11DeviceContext would be left at whatever previous
value it had, which could lead to the cursor being drawn in a wrong
position and/or in an incorrect size.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2371 >
2022-05-05 09:48:05 +01:00
Matthew Waters
ea5983c82b
wavparse: ensure that any pending segment is sent before an EOS event is sent
...
Specifically fixes seqnum handling when an aggregator-based element
(audiomixer et al) is downstream and a seek is performed that
immediately causes an EOS from wavparse.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2369 >
2022-05-05 01:29:07 +01:00
Edward Hervey
5f474c3743
parsebin: Don't modify inexistant GstStream
...
When handling exposing un-handled streams, we can only replace the GstStream for
those we are creating ourselves (i.e. the fallback collection).
Fixes assertions when the demuxer creates those streams
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2368 >
2022-05-05 00:40:27 +01:00
Edward Hervey
fb9a116fc5
playbin3: Don't use unknown types for default selection
...
When creating a fallback default selection from a collection, don't attempt to
use unknown stream types
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2368 >
2022-05-05 00:40:27 +01:00
Corentin Damman
8fc20ad657
cuda-converter: fix nvrtc compilation on non-English locale systems
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2367 >
2022-05-04 23:29:52 +01:00
Olivier Crête
425dc07ad9
subprojects: Update libnice to 0.1.19
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2360 >
2022-05-04 14:04:09 +01:00
Sebastian Dröge
83e3cc950e
audioconvert: If no channel-mask can be fixated then use a NONE channel layout
...
Otherwise this is generating caps without a channel-mask, which is
invalid for >1 channels and will always fail negotiation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2359 >
2022-05-04 13:20:31 +01:00
Xavier Claessens
a1bfd113ca
Meson: Fix deprecation warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2358 >
2022-05-04 11:40:35 +01:00
Ruben Gonzalez
6464039946
gst_plugin_load_file: force plugin reload if diff filename
...
If a file includes a new version of a plugin that exits in the
registry, the output of gst-inspect is incorrect. The output has the
correct version but incorrect filename, and element description.
This seems to have also fixed some documentation issues.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2357 >
2022-05-04 11:05:11 +01:00
Tim-Philipp Müller
8769bec70c
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2347 >
2022-05-03 00:55:58 +01:00
Tim-Philipp Müller
8dbfc89a85
Release 1.20.2
2022-05-02 23:29:29 +01:00
Tim-Philipp Müller
0e1c37fb8f
Update ChangeLogs for 1.20.2
2022-05-02 23:29:19 +01:00
Tim-Philipp Müller
5785322768
filesink: fix handling of non-existing paths with musl
...
Fixes #1194
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2345 >
2022-05-02 19:16:04 +01:00
Seungha Yang
1e55e07cb8
d3d11videosink: Fix for unhandled mouse double click events
...
Only window created with CS_DBLCLKS style can receive those mouse
double click events, so we need to use the style for internal/external
windows can get double click events.
Also, passthrough mouse events to parent window in the same message pumping
threads instead of manually forwarding each mouse event.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1172
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2286 >
2022-05-01 15:33:58 +00:00
Seungha Yang
0d65762411
d3d11window: Use ANSI version WIN32 API explicitly
...
We were using ANSI version APIs implicitly because UNICODE is not
defined by ourselves. But potentially it can be broken if user
defines UNICODE.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2286 >
2022-05-01 15:33:58 +00:00
Tim-Philipp Müller
a4dfcd74e4
registry: skip Rust dep builddirs when searching for plugins recursively
...
These artefacts confuse the plugin scanner and may cause noisy warnings
(and slow down things).
Fixes https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/68
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2338 >
2022-04-30 23:52:17 +01:00
Sebastian Dröge
f2c0d0edf4
interlace: Also handle a missing "interlace-mode" field as progressive
...
Otherwise caps negotiation will fail in situations that are supposed
to work, like:
"video/x-raw,framerate=(fraction)60/1" ! interlace field-pattern=0 ! "video/x-raw,framerate=(fraction)30/1"
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2337 >
2022-04-30 00:57:23 +01:00
Sebastian Dröge
30afe21cd1
interlace: Add some more debug output to the getcaps function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2337 >
2022-04-30 00:57:22 +01:00
Edward Hervey
cd64a16a99
mpegts: Handle "empty" PMT gracefully
...
Some streams have 2 PMT sections in a single TS packet. The first one is "valid"
but doesn't contain/define any streams. That causes an unrecoverable issue when
we try to activate the 2nd (valid) PMT.
Instead of doing that, pre-emptively refuse to process PMT without any streams
present within. We still do post that section on the bus to inform applications.
Fixes #1181
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2327 >
2022-04-28 14:27:31 +00:00
Philippe Normand
bfd0475e59
videodecoder: release stream lock after handling gap events
...
The stream lock is taken before handling gap events but was not released in all
possible runtime situations. This issue was introduced in:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1274
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2326 >
2022-04-28 13:57:10 +00:00
Matthew Waters
105b0772c1
subparse: don't deref a potentially NULL variable
...
If the html SAMI data is malformed, then retrieving the attribute name
may fail. We then cannot retrieve the attribute value.
Fixes: https://oss-fuzz.com/testcase-detail/4700130671984640
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2325 >
2022-04-28 13:26:48 +00:00
Seungha Yang
d953d4de90
nvvp9sldec: Increase DPB size to cover render delay
...
This should've included in the previous MR
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/987
already, but missed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2324 >
2022-04-28 12:55:48 +00:00
Edward Hervey
c950ba14a3
parsebin: Expose streams of unknown type
...
This actually respects the existing `expose-all-streams` property by exposing
them and having them present in the stream collection (as streams of type
unknown).
Fixes #1179
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2323 >
2022-04-28 12:21:37 +00:00
dongil.park
087ebb9f4d
wavparse: Unset DISCONT buffer flag for divided into multiple buffers in push mode
...
In push mode (streaming), if the received chunk buffer size from _chain is bigger
than output buffer size, the flags of the divided-buffers are propagated to the
DISCONT flag from first received chunk buffer. This unexpected buffers contained DISCONT
flags are abnormally transformed when changing the sampling rate by audioresample element.
So unset unnecessary DISCONT flag before pad_push().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2322 >
2022-04-28 11:45:10 +00:00
Mathieu Duponchelle
6b6ea3c1a6
rtpbasepayload: always store input buffer meta before negotiation
...
The decision to store the input buffer depends on whether extensions
are to be added to the output buffer, I assume as an optimization.
This creates an issue for subclasses that call negotiate(), where
header_exts is actually populated, from their handle_buffer()
implementation: at chain time, no header extension has been negotiated
yet, which means that we don't add extensions to the first batch of
buffers that comes out.
Keep track of whether negotiate has been called (this is different
from the negotiated field) and always store the input buffer until
then. This fixes the issue while largely preserving the optimization.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2321 >
2022-04-28 10:58:37 +00:00
Guillaume Desmottes
69b205613f
videorate: fix assertion when pushing last and only buffer without duration
...
Fixing this pipeline:
gst-launch-1.0 filesrc location=sample.png ! pngdec ! videorate ! fakesink
- videorate receives a single buffer with pts = 0, duration = invalid;
- then it receives eos triggering this buffer to be pushed downstream;
- the pushing code was assuming that a duration was set, which is
impossible as we received a single buffer and no output framerate was
set either. So the best we can do is to push the buffer without
duration.
Fix #1177
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2320 >
2022-04-28 11:16:40 +01:00
He Junyan
b8462b0624
va: dec: Use gst_buffer_pool_config_set_va_alignment() to set alignment.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2301 >
2022-04-26 14:44:45 +01:00
He Junyan
62fcd93a93
va: pool: Replace all tabs with spaces in header file.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2301 >
2022-04-26 14:44:33 +01:00
He Junyan
e834627396
va: pool: Delete the GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT.
...
The va pool is used for GPU side surface/image, its alignment should
not be changed arbitrarily by others. So we decide not to expose the
GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT flag anymore.
Instead, user can call gst_buffer_pool_config_set_va_alignment() to
set its surface/image alignment.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2301 >
2022-04-26 14:42:12 +01:00
He Junyan
f35bd6c8bb
va: pool: Add set_va_alignment() API.
...
We want to use gst_buffer_pool_config_set_va_alignment() to replace
gst_buffer_pool_config_get_video_alignment(). The later one is specific
for GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT option.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2301 >
2022-04-26 14:41:59 +01:00
He Junyan
74918ab9ea
av1parse: Fix a latent memory leak in colorimetry setting.
...
Also delete the useless "have_cinfo" judgement.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2297 >
2022-04-26 11:05:05 +01:00
He Junyan
f39a473f42
av1parse: Correct the meaning of color_range flag.
...
According to spec:
color range equal to 0 shall be referred to as the studio swing
representation and color range equal to 1 shall be referred to as
the full swing representation.
The current status is just the opposite.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2297 >
2022-04-26 11:05:05 +01:00
Sebastian Dröge
27d15a5c0b
Revert "videorate: Update the base time on segment updates"
...
This reverts commit 75b4809ebc
.
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2255 >
2022-04-23 13:11:56 +00:00
Sebastian Dröge
18cce87096
Revert "videorate: Add test for segment update"
...
This reverts commit a76f38b2c7
.
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2255 >
2022-04-23 13:11:56 +00:00
Sebastian Dröge
f643c2fe4b
Revert "videorate: Only "close" the segment if it is discontinous"
...
This reverts commit 6f7922b4db
.
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2255 >
2022-04-23 13:11:56 +00:00
Sebastian Dröge
30272e2c86
Revert "videorate: Drop incoming buffers that are outside of the segment"
...
This reverts commit 24fd80344d
.
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2255 >
2022-04-23 13:11:56 +00:00
Sebastian Dröge
78e22ac1ff
Revert "videorate: Add unit test for closing a segment and opening a separate one"
...
This reverts commit 98f2a84a28
.
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2186
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2255 >
2022-04-23 13:11:56 +00:00
Mathieu Duponchelle
bf620723c1
rtpredenc: quieten warning about ignoring header extensions
...
Turn it into a FIXME, and only log once
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2281 >
2022-04-23 13:27:55 +01:00
Stéphane Cerveau
0d4621d208
rvsg: fix cairo include
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2280 >
2022-04-23 11:03:35 +01:00
Pierre Bourré
c8850b17ae
rtspclientsink: fix possible shutdown deadlock collect_streams()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2278 >
2022-04-22 20:22:04 +01:00
Hou Qi
0ea41bac13
v4l2videodec: copy colorimetry values to output_state caps
...
This is to avoid transcoding negotiation fail between v4l2h265dec
and v4l2h264enc caused by colorimetry mismatch.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2220 >
2022-04-21 11:09:26 +00:00
Sangchul Lee
c88a68c411
webrtcbin: Avoid access of freed memory
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2258 >
2022-04-21 10:34:31 +00:00
Tim-Philipp Müller
a1100bf559
vaapi: fix up package-origin in meson_options.txt
...
Follow-up to !2243
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2260 >
2022-04-21 10:54:50 +01:00
Camilo Celis Guzman
18a66bd887
meson_options: declare glib and gobject checks at top level
...
This makes it easier to specify this features for all subprojects.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2243 >
2022-04-20 10:03:16 +00:00
Wonchul Lee
7d862e0f5e
dashsink: Unlock when failed to get content
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2246 >
2022-04-20 09:20:35 +01:00
Camilo Celis Guzman
3eb5d66938
gstav1parse: fixup various possible logical errors
...
Found via an analyzed build for Clang. Specifically we had:
gstav1parse.c[1850,11] in gst_av1_parse_detect_stream_format: Logic error: The left operand of '==' is a garbage value
gstav1parse.c[1606,11] in gst_av1_parse_handle_to_small_and_equal_align: Logic error: The left operand of '==' is a garbage value
Also a couple of false-positives:
gstav1parse.c[1398,24] in gst_av1_parse_handle_one_obu: Logic error: Branch condition evaluates to a garbage value
gstav1parse.c[1440,37] in gst_av1_parse_handle_one_obu: Logic error: The left operand of '-' is a garbage value
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2240 >
2022-04-19 17:33:49 +01:00
Nirbheek Chauhan
f67d875936
meson: Add -Wl,-rpath,${libdir} on macOS
...
We made the gstreamer installation prefix relocatable by picking up
plugins relative to the location of libgstreamer-1.0.dylib, similar to
how it's done for Windows:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1627
This had a lot of side-effects:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1051
https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/363
https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/371
https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/362
A partial fix for the cerbero side of these was:
https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/807
However, this relied on the consumers knowing that they need to add
`LC_RPATH` entries to the libdir of the prefix. This is done
automatically by build systems like Meson, but not by others, such as
Autotools, CMake, Cargo, XCode, etc. For those, we need to add the
RPATH entries to the gstreamer-1.0.pc file.
This also has the side-effect of fixing the loading of gstreamer rust
plugins on macOS:
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1159
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1149
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2237 >
2022-04-19 13:23:02 +00:00
Jan Schmidt
cf61b8aa3b
playbin3: Remove stale code
...
Remove now-unused get_stream_type_for_event() function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2236 >
2022-04-19 13:28:38 +01:00
Jan Schmidt
45a709cf43
playbin3: Hold playbin lock on pad-added
...
Take the playbin lock when accessing the combiner
to add a new pad to link to. Fixes races against
streams-selected messages triggering reconfiguration.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2236 >
2022-04-19 13:25:25 +01:00