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
Seungha Yang
d58aca531b
nvh265sldec: Always fill SPS/PPS related parameters
...
Address compare was not a valid approach since it works
only if SPS/PPS id are changed. Otherwise it will always point to
the same address of member variables of h265parser.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1941 >
2022-03-12 17:24:54 +00:00
Seungha Yang
35416105d8
h264decoder: Fix invalid memory access
...
gst_h264_dpb_needs_bump() can be called with null picture
in case of live
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1929 >
2022-03-11 11:02:48 +00:00
Tim-Philipp Müller
41c1d913df
sdpdemux: add media attributes to caps to fix ptp clock handling
...
Those are needed by rtpjitterbuffer to do the right thing, e.g.
a=ts-refclk:ptp=IEEE1588-2008:00-**-**-**-**-**-**-**:0
a=mediaclk:direct=1266592257
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1925 >
2022-03-10 23:44:06 +00:00
Edward Hervey
03522dcd95
mpegts: Handle glib < 2.58
...
By using a workaround to the lack of g_ptr_array_steal_index.
Fixes #1078
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1919 >
2022-03-10 18:34:59 +00:00
Edward Hervey
2445c31c15
tsbase: Handle more program updates
...
There could be a case where the new program has the same program number as the
previous one ... but is actually located on a PID previously used for elementary
stream. In that case the program is guaranteed to not be an update of the
previous program but a completely new one.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1919 >
2022-03-10 18:34:59 +00:00
Edward Hervey
ad74ba6100
mpegtsbase: Use an array to track programs
...
We need to be able to look for programs by their PID also. Using a hash table
was a bit sub-par (and overkill) for storing a range of programs.
This is needed because there could potentially be two programs with the same
program id but different PMT PID (while one is being deactivated the new one
would "exist").
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1919 >
2022-03-10 18:34:59 +00:00
Nirbheek Chauhan
2fd6e40a7f
rtpbasepayload: Remove dead twcc code
...
This feature was removed in 7a53fbad68
,
but this code was left behind.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1922 >
2022-03-10 16:20:26 +00:00
Sangchul Lee
3890ef40d8
rtpvp8depay: Fix crash when making 'GstRTPPacketLost' custom event
...
This patch fixes a seg.fault in gst_structure_new() with warnings as below.
GLib-GObject-WARNING **:
../gobject/gtype.c:4330: type id '0' is invalid
GLib-GObject-WARNING **:
can't peek value table for type '<invalid>' which is not currently referenced
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1920 >
2022-03-10 11:16:18 +00:00
Mathieu Duponchelle
19086d693e
gst-python: gstmodule.c: fix build with 3.11
...
https://docs.python.org/fr/3.10/whatsnew/3.10.html
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1910 >
2022-03-09 18:36:21 +00:00