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
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
Jan Schmidt
5e3864159b
playbin3: Reconfigure on streams-selected message.
...
Don't reconfigure outputs when the select-streams
event is sent from the app, as the selection may
not take effect for some time. Instead, wait
for the pipeline to confirm the new set of
selected streams when it sends the message.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2236 >
2022-04-19 13:25:25 +01:00
Jan Schmidt
7f377898f7
playsink: Fix reconfiguration after removing text_sink
...
If we previously had subtitles coming in, the video
may be chained through a text overlay block. Before,
the code would end up trying to link pads that were
already linked and video would not get reconnected
properly.
To fix that, make sure that the candidate
pads are actually unlinked first. If a textoverlay
is present and no longer needed, it will be cleaned
up later in the reconfiguration sequence.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2236 >
2022-04-19 13:25:25 +01:00
Tulio Beloqui
a5bf3fb89b
gstdevicemonitor: added cleanup of signal handlers and hidden providers list
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2221 >
2022-04-18 18:18:08 +01:00
Guillaume Desmottes
7aa763cab7
libav: fix frame leak on negotiation error
...
The function owns a reference on the frame. Drop it if negotiation
failed as we are already doing for the other error cases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2217 >
2022-04-18 10:50:35 +01:00
Guillaume Desmottes
86e46e6c83
decodebin3: fix collection leak
...
get_merged_collection() returns an owned stream collection and was
leaked in the else block.
Fix leak when running:
GST_TRACERS=leaks GST_DEBUG="GST_TRACER:7,leaks:6" gst-play-1.0 --use-playbin3 test.mkv
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2216 >
2022-04-18 09:44:18 +01:00
Fabrice Fontaine
60eca23bef
gst-python: fix build on systems without C++ compiler
...
Fix the following build failure on systems without C++ compiler:
The following exception(s) were encountered:
Running "/home/autobuild/autobuild/instance-0/output-1/host/bin/i686-buildroot-linux-gnu-g++ --version" gave "[Errno 2] No such file or directory: '/home/autobuild/autobuild/instance-0/output-1/host/bin/i686-buildroot-linux-gnu-g++'"
Fixes:
- http://autobuild.buildroot.org/results/eebf65036f79d21d347714d62afecd0108393308
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2214 >
2022-04-18 00:09:27 +01:00
Guillaume Desmottes
75c350283e
gstleaks: fix pthread_atfork return value check
...
pthread_atfork() returns 0 on success.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2210 >
2022-04-17 01:57:55 +01:00
hoonhee.lee
abf1bfdb9d
playbin3: fix missing lock when unknown stream type in pad-removed cb
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2209 >
2022-04-17 01:19:53 +01:00
Edward Hervey
b5b8f0ed22
decodebin3: Don't duplicate stream selections
...
Make sure that the requested stream selection isn't identical to the current
one. If that's the case, just carry on as usual.
This avoids multiple `streams-selected` posting ... when the selection didn't
change.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2208 >
2022-04-17 00:35:38 +01:00
Sebastian Dröge
f342618329
x264enc: Don't try to fixate ANY allowed caps
...
Instead fall back to the template caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2207 >
2022-04-16 23:46:39 +01:00
Sebastian Dröge
497b3da14d
rtpbasepayload: Don't write header extensions if there's no corresponding input buffer for the packet
...
The GstRTPHeaderExtension API requires the input buffer to exist.
This can happen if the output packet is generated e.g. from a caps or
tags event like in the case for rtpgstpay.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2205 >
2022-04-16 19:59:52 +01:00
Seungha Yang
3b5f1406f3
win32: Enable high-resolution timer for MinGW build
...
timeapi.h is missing in our MinGW toolchain. Include mmsystem.h
header instead, which defines struct and APIs in case of our MinGW
toolchain. Note that in case of native Windows10 SDK (MSVC build),
mmsystem.h will include timeapi.h
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2167 >
2022-04-16 10:00:04 +00:00
Tim-Philipp Müller
abd4846aaf
appsrc: fix annotations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2189 >
2022-04-16 09:00:13 +00:00
Edward Hervey
e4b9f6e6d8
tsdemux: Fix AC-4 detection
...
This regression was introduced by
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1102
and has been present since 1.18
* Stream Type 0x06 is defined in the base mpeg-ts specification as Private PES
Packets. Determining the content should be solely based on descriptors found
within the PMT.
* This was abused in that commit by defining a "bluray-only" stream type for AC4
: `ST_BD_AUDIO_AC4`
* This should be entirely handled in the regular private pes handling further
down in the code
Fixes #1154
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2176 >
2022-04-14 14:53:40 +00:00
Havard Graff
9a4804fd3f
qtdemux: fix leak of channel_mapping
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2184 >
2022-04-14 12:58:11 +01:00
Sebastian Dröge
d0306802b6
ptpclock: Fix wrong condition order from last commit
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2173 >
2022-04-13 16:37:21 +01:00
Marc Leeman
5c346c13db
gst-rtsp-server: minor spelling fixes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2172 >
2022-04-13 16:06:22 +01:00
Sebastian Dröge
35b68d6622
ptpclock: Allow at least 100ms delay between Sync/Follow_Up and Delay_Req/Delay_Resp messages
...
It doesn't matter for measurement purposes whether receiving them takes
a while and various PTP servers are not prioritizing to send them,
causing them to be dropped unnecessarily and preventing proper
synchronization with such servers.
This is especially a problem if the RTTs in the network are very low
compared to the additional delay imposed by the server.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2168 >
2022-04-12 23:20:31 +01:00
Sebastian Dröge
bf86940e60
Fix transfer
gobject-introspection annotation typos
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2163 >
2022-04-12 15:16:39 +01:00
Edward Hervey
e882282ffb
mxfdemux: Fix issue with re-syncing
...
In case of re-syncing (i.e. moving to another partition to avoid too much of an
interleave), there was previously no checks to figure out whether a given
partition was already fully handled (i.e. when coming across it again after a
previous resync).
In order to handle this at least for single-track partitions, check whether we
have reached the essence track duration, and if so skip the partition.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2162 >
2022-04-12 14:37:20 +01:00
Edward Hervey
98afe3bacd
mxfdemux: Don't double-increase track position
...
The essence track position should only be overriden if we sucesfully switched to
another position. In case of EOS we do not want to override it else we would
increase the track position *again* at the end of this function
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2162 >
2022-04-12 14:37:20 +01:00
Matthew Waters
cd577c78f7
subparse: don't try to index string with -1
...
If the len of the string turns out to be 0, str[len - 1] resolved to
str[-1] which is not a good idea.
Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=46543
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2148 >
2022-04-10 09:57:08 +01:00
Tristan Matthews
e9e4ac0ba9
rtpopusdepay: assume 2 channels if sprop-stereo is missing
...
Fixes #1064
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2139 >
2022-04-08 14:57:07 +01:00
Matthew Waters
746765dbc9
ogg: fix possible buffer overrun
...
If an ogg stream does not match our expectations of how the end of a
buffer may be structured, it was possible to read memory past the end of
the buffer parsed by libogg. Include a bounds check for this case and
stop parsing.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3930
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2138 >
2022-04-08 11:24:45 +00:00
Mathieu Duponchelle
f1eb2b16cf
rtpbasepayload: fix transfer annotation for push and push_list
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2137 >
2022-04-08 09:32:42 +01:00
hoonhee.lee
d7b84815cc
riff-media: fix memory leak after usage for g_strjoin
...
This leak is observed with valgrind.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2136 >
2022-04-08 08:49:37 +01:00
Bastian Krause
d1908049fa
gltransformation: let graphene alloc its structures memory aligned
...
With NEON instructions enabled, graphene expects the memory passed to it
16-byte-aligned. Otherwise unaligned memory access faults occur causing
SIGBUS signals.
graphene has alloc functions for its structures that take care of this,
so use them.
See also: https://github.com/ebassi/graphene/issues/215#issuecomment-794744829
Suggested-by: Sebastian Dröge <sebastian@centricular.com>
Signed-off-by: Bastian Krause <bst@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2128 >
2022-04-06 19:24:45 +01:00
Edward Hervey
34c9f41753
mxfvanc: Handle empty VANC packets
...
Some XDCAM recorders store empty packets for VANC, and don't even include the
2byte length.
Handle them in the same way as VANC packets with 0 packets.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2124 >
2022-04-06 11:52:58 +01:00
Fabrice Fontaine
c164c25d9a
gst-libav: fix build on systems without C++ compiler
...
Fix the following build failure on systems without C++ compiler:
The following exception(s) were encountered:
Running "/nvmedata/autobuild/instance-9/output-1/host/bin/or1k-buildroot-linux-musl-g++ --version" gave "[Errno 2] No such file or directory: '/nvmedata/autobuild/instance-9/output-1/host/bin/or1k-buildroot-linux-musl-g++'"
Fixes:
- http://autobuild.buildroot.org/results/8ac0ba5eaaf7571857b4d8cfabf1488d640dc59a
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2119 >
2022-04-05 23:23:13 +01:00
Nirbheek Chauhan
db3bc49bb2
appsrc: Clarify buffer ref semantics in signals
...
The documentation could be read to mean that the caller continuous to
'own' the buffer, and that there is some other mechanism to find out
when to unref it.
Clarify that "not taking ownership" here means "taking a reference",
and specify that you can unref it at any time after calling the
function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2118 >
2022-04-05 16:30:21 +01:00
Stéphane Cerveau
152b878a8b
gst-examples: add -xobjective-c for darwin
...
To avoid error when including #include <AppKit/AppKit.h>
the build should include the c args xobjective-c
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2116 >
2022-04-05 11:40:01 +01:00
Stéphane Cerveau
39b6e6816b
bad: examples: fix unused res warning
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2116 >
2022-04-05 11:39:02 +01:00
Zhao Zhili
28091342da
examples: fix build on macOS with gtk+-quartz-3.0
...
gdk_quartz_window_get_nsview is not declared in the header file now:
error: implicit declaration of function 'gdk_quartz_window_get_nsview'
is invalid in C99 [-Werror,-Wimplicit-function-declaration]
fixes #979
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2116 >
2022-04-05 11:38:53 +01:00
Tong Wu
05ee80f104
msdk: use mfxU32 instead of uint32_t
...
Msdk should use mfx variables defined in mfxdefs.h. Replace uint32_t
with mfxU32.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2113 >
2022-04-04 22:57:04 +01:00
Sebastian Dröge
b2fe6ac3e8
playbin/playbin3: Allow setting a NULL URI
...
The URI is already initialized to NULL at the beginning and GstPlayer
was assuming that it is possible to set to NULL at a later time too.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1124
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2105 >
2022-04-02 01:12:55 +01:00
Chun-wei Fan
ffea6475d4
openexr: Specify modules when finding OpenEXR.
...
Specify modules to look for OpenEXR when CMake is used, as we may have
CMake config files instead of pkg-config files that result from building
OpenEXR, which may be built with CMake which is typically the case on Visual
Studio builds.
In this case, Meson does seem to find the 'OpenEXR' package with CMake
after trying pkg-config, but does not consider it enough without the
'modules:' argument.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2035 >
2022-03-31 16:04:27 +00:00
Nirbheek Chauhan
69936ad852
meson: Add some messages when selecting libsoup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2082 >
2022-03-31 15:32:17 +01:00
Nirbheek Chauhan
45ce19dd2d
soup: Fix usage of symbols / defines that are gone in libsoup3
...
I am not sure about the SOUP_MESSAGE_OVERWRITE_CHUNKS change, but it
was definitely already broken when using libsoup-3.0 in a shared
build. souphttpsrc probably needs to be ported from SoupMessage to
SoupServerMessage when using libsoup-3.0.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1111
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2082 >
2022-03-31 15:32:17 +01:00
Nirbheek Chauhan
2813e30392
soup: Fix pre-processor macros in souploader for libsoup-3.0
...
Some of the preprocessor conditionals in the loader were very broken
with libsoup-3.0 + --default-library=static
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1111
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2082 >
2022-03-31 15:32:17 +01:00
Edward Hervey
0425d60190
pbutils: Fix wmv screen detection
...
strncmp vs !strncmp :)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2076 >
2022-03-30 23:24:55 +01:00
Edward Hervey
530272850d
avviddec: Remove vc1/wmv3 override
...
FFMPEG 5+ doesn't allow overriding the codec anymore (causes a segfault if you
attempt to do that). But the best part is ... that with the current caps
implementation in pad template and gst_ffmpeg_caps_to_codecid() we would never
replace it by anything different than the existing codec id.
Fixes #1054
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2074 >
2022-03-30 17:36:06 +01:00
Matthew Waters
c7351622ee
validate/media-info: silence unsed variable warning
...
Fixes:
../validate/gst/validate/gst-validate-media-info.c:714:28: error: variable 'total_sink_count' set but not used [-Werror,-Wunused-but-set-variable]
guint id, ncounters = 0, total_sink_count = 0;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2068 >
2022-03-30 00:52:53 +01:00
Matthew Waters
6a4089795d
rtsp-stream: remove unused variable:
...
Fixes:
../gst/rtsp-server/rtsp-stream.c:2670:9: error: variable 'n_messages' set but not used [-Werror,-Wunused-but-set-variable]
guint n_messages = 0;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2068 >
2022-03-30 00:52:53 +01:00
Matthew Waters
9f1becb19f
applemeida/texturecache: remove unused variable
...
Fixes:
../sys/applemedia/videotexturecache.m:71:20: error: variable 'features' set but not used [-Werror,-Wunused-but-set-variable]
GstCapsFeatures *features;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2068 >
2022-03-30 00:52:53 +01:00
Matthew Waters
91eb442389
applemedia/corevideobuffer: remove unused variable
...
Fixes:
../sys/applemedia/corevideobuffer.c:209:19: error: variable 'video_meta' set but not used [-Werror,-Wunused-but-set-variable]
GstVideoMeta *video_meta;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2068 >
2022-03-30 00:52:53 +01:00
Matthew Waters
ba8c6baae4
applemedia/iosgl: remove unused variable
...
Fixes:
../sys/applemedia/iosurfaceglmemory.c:219:41: error: variable 'texfmt' set but not used [-Werror,-Wunused-but-set-variable]
GLuint tex_id, tex_target, texifmt, texfmt;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2068 >
2022-03-30 00:52:53 +01:00
Matthew Waters
c546392caf
vtdec: remove unused variable
...
Fixes:
../sys/applemedia/vtdec.c:611:35: error: variable 'output_flags' set but not used [-Werror,-Wunused-but-set-variable]
VTDecodeFrameFlags input_flags, output_flags;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2068 >
2022-03-30 00:52:53 +01:00
Matthew Waters
293a41ea76
avsamplevideosink: remove unused variable
...
Fixes
../sys/applemedia/avsamplevideosink.m:80:20: error: variable 'gstelement_class' set but not used [-Werror,-Wunused-but-set-variable]
GstElementClass *gstelement_class;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2068 >
2022-03-30 00:52:53 +01:00
Matthew Waters
214a912232
avfassetsrc: fix unused-but-set warning
...
../sys/applemedia/avfassetsrc.m:1014:12: error: variable 'caps' set but not used [-Werror,-Wunused-but-set-variable]
GstCaps *caps;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2068 >
2022-03-30 00:52:53 +01:00
Matthew Waters
c7cea7651d
speed: fix unused-but-set warning
...
../gst/speed/gstspeed.c:523:39: error: variable 'base' set but not used [-Werror,-Wunused-but-set-variable]
gint64 start_value, stop_value, base;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2068 >
2022-03-30 00:52:53 +01:00
Matthew Waters
7d015ea03c
resindvd: silence unused-but-set warning
...
../ext/resindvd/gstpesfilter.c:117:11: error: variable 'STD_buffer_size_bound' set but not used [-Werror,-Wunused-but-set-variable]
guint16 STD_buffer_size_bound;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2068 >
2022-03-30 00:52:53 +01:00
Matthew Waters
85077bcfa7
mpegts: don't shadow res variable
...
Fixes unused-but-set warning:
../gst/mpegtsmux/gstbasetsmux.c:2115:43: error: variable 'res' set but not used [-Werror,-Wunused-but-set-variable]
gboolean all_headers, done = FALSE, res = FALSE;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2068 >
2022-03-30 00:52:53 +01:00
Matthew Waters
7eecee4aba
mpeg: fix unused-but-set warning
...
../gst-libs/gst/mpegts/gst-dvb-section.c:206:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
guint i = 0, allocated_events = 12;
^
../gst-libs/gst/mpegts/gst-dvb-section.c:365:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
guint i = 0, allocated_streams = 12;
^
../gst-libs/gst/mpegts/gst-dvb-section.c:543:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
guint i = 0, allocated_streams = 12;
^
../gst-libs/gst/mpegts/gst-dvb-section.c:885:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
guint i = 0, allocated_services = 8;
^
../gst-libs/gst/mpegts/gst-dvb-section.c:1316:9: error: variable 'i' set but not used [-Werror,-Wunused-but-set-variable]
guint i = 0, allocated_services = 8;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2068 >
2022-03-30 00:52:53 +01:00
Matthew Waters
1b1158feb2
osxcoreaudio: fix unused-but-set warning
...
../sys/osxaudio/gstosxcoreaudio.c:480:18: error: variable 'interleaved' set but not used [-Werror,-Wunused-but-set-variable]
gboolean sign, interleaved;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2068 >
2022-03-30 00:52:53 +01:00
Matthew Waters
8f78986e87
mpegdemux: silence unused-but-set werror
...
../gst/mpegdemux/gstpesfilter.c:117:11: error: variable 'STD_buffer_size_bound' set but not used [-Werror,-Wunused-but-set-variable]
guint16 STD_buffer_size_bound;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2067 >
2022-03-30 00:05:22 +01:00
Matthew Waters
ec666df016
examples/player/android: add missing dummy.cpp
...
allows libc++_shared.so to be placed in the application
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2065 >
2022-03-29 19:35:29 +01:00
Matthew Waters
b0628713de
deinterlace: silence unused-but-set werror from imported code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2062 >
2022-03-29 18:31:57 +01:00
Matthew Waters
641897ea70
examples/player/android: update for android changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2059 >
2022-03-29 15:19:18 +01:00
Matthew Waters
a9284b4351
osxvideosink: fix unused-but-set-variable warning
...
../sys/osxvideo/osxvideosink.m:859:11: error: variable 'data' set but not used [-Werror,-Wunused-but-set-variable]
guint8 *data, *readp, *writep;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2055 >
2022-03-29 13:27:51 +01:00
Corentin Damman
4630096440
rawvideoparse: set format from caps in gst_raw_video_parse_set_config_from_caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2054 >
2022-03-29 11:25:07 +01:00
Matthew Waters
24c456fbe2
glmixerbin: slightly better pad/element creation
...
Use the return value from gst_element_link_pads() and gst_bin_add()
Fixes:
../ext/gl/gstglmixerbin.c:305:12: error: variable 'res' set but not used [-Werror,-Wunused-but-set-variable]
gboolean res = TRUE;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2053 >
2022-03-29 10:31:45 +01:00
Sangchul Lee
1ba785b070
webrtcbin: Update documentation of 'get-stats' action signal
...
Some stats fields are updated according to the current implementation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2034 >
2022-03-26 02:13:08 +00:00
Matthew Waters
c41d29c902
rtpptdemux: fix leak of caps when ignoring a pt
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2033 >
2022-03-26 01:18:03 +00:00
Thibault Saunier
31248b1cb8
Fix license as GES is released under the LGPL2+ license
...
This was a mistake that some of the licensing notice in a few files was
referring to GPL3+ and it needs fixing
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2015 >
2022-03-24 10:37:52 +01:00
Nirbheek Chauhan
4163c1bd0b
webrtc_sendrecv.py: Link pads instead of elements
...
This was not a problem here because even if we end up accidentally
linking to the wrong pad, things will work out eventually as long as
one pad-added is emitted for each pad that is added.
But it will be a huge problem if someone copies this code and changes
something that requires different handling for different sorts of
pads. The resultant code will be racy. Let's not do this, it's a bad
example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2013 >
2022-03-24 00:46:42 +01:00
Stéphane Cerveau
5e89be5c84
wavparse: handle query in any parse state
...
In order to create the stream_id, we need to
pass the query to the default query handler.
If the parse state is different from GST_WAVPARSE_DATA
the query should be passed to the default query
handler.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2011 >
2022-03-23 15:00:13 +01:00
Benjamin Gaignard
3583a69a04
v4l2codecs: Fix memory leak
...
Free pending_requests array when releasing decoder to avoid memory leak
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2002 >
2022-03-21 22:07:03 +01:00
Nirbheek Chauhan
3f1f1700bc
webrtcbin: Warn when offer didn't intersect with transceiver caps
...
We were silently falling back to creating a recvonly offer if the caps
didn't intersect.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1995 >
2022-03-20 22:38:15 +00:00
Nirbheek Chauhan
3bc84aa7d5
webrtc-sendrecv: Fix create-answer caps negotiation
...
We need to parse the payload type map provided by the offer SDP and
set those values on the payloader, otherwise webrtcbin will create
a recvonly answer SDP and we won't send anything to the browser.
Fixed it for both C and Python sendrecv examples.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1995 >
2022-03-20 22:38:15 +00:00
Nirbheek Chauhan
c786551322
webrtc_sendrecv.py: Add picture-id-mode to rtpvp8pay
...
This doesn't just make TWCC stats perform better, it also fixes
stuttery video playback in Chrome.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1995 >
2022-03-20 22:38:15 +00:00
Nirbheek Chauhan
1fce36d033
webrtc_sendrecv.py: Print an error on unknown JSON message
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1995 >
2022-03-20 22:38:14 +00:00
Nirbheek Chauhan
ad0484245d
webrtc_sendrecv.py: Add missing copyright headers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1995 >
2022-03-20 22:38:14 +00:00
Nirbheek Chauhan
c814409ac1
webrtc_sendrecv.py: Implement all negotiation modes
...
Earlier, the example only supported one negotiation mode:
* Browser client is running, gstreamer starts a call and sends offer
Now these three modes are also supported:
* Browser client is running, gstreamer starts a call and sends an
offer request
* gstreamer connects and waits for browser client to start a call and
send an offer
* gstreamer connects and waits for browser client to start a call and
send an offer request
The following features are still missing:
* Data channel support
* TWCC support + stats logging
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1995 >
2022-03-20 22:38:14 +00:00
Nirbheek Chauhan
646a570dcb
webrtc_sendrecv.py: Make it executable
...
Why wasn't it already. Tired of typing 'python webrtc_sendrecv.py'.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1995 >
2022-03-20 22:38:14 +00:00
Nirbheek Chauhan
368d52dfbd
webrtc_sendrecv.py: Fix event loop usage for messages
...
Instead of creating a new loop, we should just be fetching the running
loop, then doing a blocking network call inside the callback, schedule
it on the event loop. This is what the C example does too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1995 >
2022-03-20 22:38:14 +00:00
Nirbheek Chauhan
b999257f67
webrtc_sendrecv.py: Use default arg for server URL
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1995 >
2022-03-20 22:38:14 +00:00
Matthew Waters
e987b6e82a
discoverer: chain up to parent finalize methods in all our types
...
Fixes a memory leak:
Direct leak of 32 byte(s) in 1 object(s) allocated from:
#0 0x5ac5cd in malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:129:3
#1 0x1007007 in g_malloc /work/glib-2.72.0/_builddir/../glib/gmem.c:125:13
#2 0xf82e82 in g_data_set_internal /work/glib-2.72.0/_builddir/../glib/gdataset.c:464:8
#3 0xf833f7 in g_datalist_id_set_data_full /work/glib-2.72.0/_builddir/../glib/gdataset.c:670:3
#4 0xef81be in g_object_notify_queue_freeze /work/glib-2.72.0/_builddir/../gobject/gobject.c:295:7
#5 0xef79c6 in g_object_unref /work/glib-2.72.0/_builddir/../gobject/gobject.c:3632:16
#6 0x5e58bf in LLVMFuzzerTestOneInput /src/gstreamer/ci/fuzzing/gst-discoverer.c:132:5
#7 0x4dd1a2 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:611:15
#8 0x4dc98a in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool, bool*) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:514:3
#9 0x4de6c4 in fuzzer::Fuzzer::ReadAndExecuteSeedCorpora(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile> >&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:809:5
#10 0x4dea29 in fuzzer::Fuzzer::Loop(std::__Fuzzer::vector<fuzzer::SizedFile, std::__Fuzzer::allocator<fuzzer::SizedFile> >&) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:857:3
#11 0x4ce4a0 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:912:6
#12 0x4f6f52 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10
#13 0x7f1c709980b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x240b2)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1996 >
2022-03-19 11:52:53 +00:00
Sangchul Lee
1cdba2837e
rtpjitterbuffer: Fix invalid memory access in rtp_jitter_buffer_pop()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1994 >
2022-03-19 11:24:15 +01:00
Nicolas Dufresne
fc8e3814ab
v4l2transform: Handle caps changes
...
As this element is single threaded, we only need to stop the objects to
allow changing the format again. Fixes assertion notably on shutdown and
on some other situation where the format may be set twice without
actually activating the element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1991 >
2022-03-18 20:55:29 +00:00
Nicolas Dufresne
45b949fb24
v4l2object: Avoid crash on early failure
...
This happens while an external error lead to an early shutdown.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1991 >
2022-03-18 20:55:29 +00:00
Hou Qi
c1e639bf08
v4l2videodec: set frame duration according to framerate
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1989 >
2022-03-18 20:13:56 +01:00
Philippe Normand
842c59a4b6
uri: Build doubly-linked list by prepending items
...
As outlined in the API documentation, g_list_append() iterates over the whole
list, which can quickly introduce performance issues when the list becomes very
big, such as for data URIs for instance.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1983 >
2022-03-18 14:59:47 +00:00
Philippe Normand
8ae3c584d0
typefind: Skip parsing of data URIs
...
Commit a46ab2ced2
introduced a regression,
breaking typefinding for media content muxed in mp4 container and serialized to
data URIs. For this case it doesn't make sense to look for a file extension, so
skip URI parsing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1983 >
2022-03-18 14:59:47 +00:00
Philippe Normand
a31307d37d
wpe: Reintroduce persistent WebContext
...
A WebContext leak was introduced in MR
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252 .
If we wanted one WebContext per WebView we should also unref the
WebKitWebContext when destroying the WebView.
This patch reintroduces the persistent WebContext, initially part of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1484 .
Fixes #1084
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1982 >
2022-03-18 12:40:18 +00:00
Sangchul Lee
618bbf80dc
webrtcbin: Check data channel transport for notifying 'ice-gathering-state'
...
Previously, it did not care about data channel's. It is fixed by adding
some conditions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1981 >
2022-03-18 11:31:37 +00:00
Nirbheek Chauhan
cb182062ad
rtpbuffer: The out args for rtp extension data are optional
...
The code checks that these are != NULL before dereferencing them.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1980 >
2022-03-18 10:22:57 +00:00
Nirbheek Chauhan
96e9e74c88
twcc: Add some logging to debug TWCC feedback
...
This should allow people to debug when TWCC feedback is not enabled
because they haven't set the extmap in the caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1979 >
2022-03-18 10:38:31 +01:00
Nirbheek Chauhan
308af145ed
twcc: Note that packet-loss-pct can count reordering as loss
...
This is difficult to encounter in ordinary networks, but is
encountered when using tc-netem to add random delays to packets, and
also when your UDP stream is bonded over multiple links with varying
characteristics.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1979 >
2022-03-18 10:38:31 +01:00
Jan Schmidt
5a074a11f9
playsink: Complete reconfiguration on pad release.
...
Requesting a new pad can start a reconfiguration cycle, where
playsink will block all input pads and wait for data on them
before doing internal reconfiguration. If a pad is released,
that reconfiguration might never trigger because it's now waiting
for a pad that doesn't exist any more.
In that case, complete the reconfiguration on pad release.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1940 >
2022-03-14 23:45:40 +00:00
Seungha Yang
8440e2a373
nvh264dec,nvh265dec: Fix broken key-unit trick and reverse playback
...
On GstVideoDecoder::{drain,flush}, we send null packet with
CUVID_PKT_ENDOFSTREAM flag to drain out decoder. Which will
reset CUVID parser as well.
To continue decoding after the drain, the next input buffer
should include sequence headers otherwise CUVID parser will
not report any decodeable frame.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1923 >
2022-03-14 17:52:33 +00:00
Tim-Philipp Müller
8f2ed1bca4
Back to development
2022-03-14 16:07:23 +00:00
Tim-Philipp Müller
4bbb293eac
Release 1.20.1
2022-03-14 11:33:40 +00:00
Tim-Philipp Müller
b888003273
Update ChangeLogs for 1.20.1
2022-03-14 11:33:25 +00:00
Nicolas Dufresne
4563989deb
doc: Fix doc comment for GstChildProxy
...
This removes warning like:
../subprojects/gstreamer/gst/gstchildproxy.h:57: Error: Gst: identifier not found on the first line:
* #GstChildProxyInterface::get_child_by_name:
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1951 >
2022-03-14 09:12:33 +00:00
Guillaume Desmottes
fde6521664
rtpsource: fix rtp_source_get_nack_deadlines doc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1950 >
2022-03-14 03:48:13 +00:00
Nicolas Dufresne
12f082f7cf
vp9parse: Fix auto-plugging of HW frame decoder
...
Decoders that required frame aligmment and didn't have an associated
alpha decoder were skipped. This is because the parser was constructing
caps based on the software alpha decoder, which specify super-frame
alignment.
Iterate over the caps to filter the one that have a matching codec-alpha, with
the semantic the no codec-alpha field means codec-alpha=false. Then if
everything was removed, callback to the original, so that the first non-alpha
decoder will be picked.
Fixes #820
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1949 >
2022-03-14 03:04:46 +00:00
Tim Mooney
fcfade3259
v4l2: include <sys/ioccom.h> on Illumos
...
Needed for _IOR/_IORW
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1947 >
2022-03-14 02:19:37 +00:00
Hou Qi
61820ed0dc
v4l2bufferpool: Fix race condition between qbuf and pool streamoff
...
There is a chance that pool->buffers[index] sets BUFFER_STATE_QUEUED, but
it has not been queued yet which makes pool->buffers[index] still NULL.
At this time, if pool_streamff release all buffers with BUFFER_STATE_QUEUED
state regardless of whether the buffer is NULL or not, it will cause segfault.
To fix this, also check buffer when streamoff release buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1948 >
2022-03-14 00:57:24 +00:00
Jan Alexander Steffens (heftig)
832367c58e
deinterlace: scalerbob: Reduce latency to 0
...
We only need the current field, just like `linear`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1944 >
2022-03-13 00:13:35 +00:00
Seungha Yang
4bd486b9b7
nvenc: Fix deadlock because of too strict buffer pool size
...
The pool size might need to be larger than encoding surface pool size.
Also, because we always copy input frame into internal CUDA memory,
there's no reason to restrict max size of buffer pool.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1942 >
2022-03-12 23:15:38 +00:00
Vivia Nikolaidou
7fac3c2c29
yadif: Fix CHECK macro for YUY2 format
...
Used to make comb artifacts for videotestsrc pattern=ball for YUY2
format only (not AYUV).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1943 >
2022-03-12 19:56:44 +00:00