youngsoo.lee
260a82e514
opencv: Fix build error on macOS
...
The build fails on macos with the following error:
/usr/local/Cellar/opencv/4.5.0_5/include/opencv4/opencv2/core/mat.hpp:2226:15: error: no template named 'initializer_list' in namespace 'std'
Mat_(std::initializer_list<_Tp> values);
fatal error: too many errors emitted, stopping now [-ferror-limit=]
35 warnings and 20 errors generated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2368 >
2021-06-30 14:03:22 +09:00
Ezequiel Garcia
3b42c1878d
v4l2codecs: vp8: Check kernel version
...
Print a warning if the kernel version is too old.
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2075 >
2021-06-29 21:01:29 +00:00
Ezequiel Garcia
d036b4aad4
v4l2codecs: vp8: Update to the new uAPI
...
Starting from Linux v5.13, the V4L2 stateless VP8 uAPI
is updated and stable.
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2075 >
2021-06-29 21:01:29 +00:00
Seungha Yang
c8ffd39dfe
nvcodec: Enhance CUDA runtime compiler library loading on Windows
...
The name of installed CUDA runtime compiler library is formed like
nvrtc64_{major-version}{minor-version}_0.dll on Windows
(which is differnt from documented in https://docs.nvidia.com/cuda/nvrtc/index.html )
And minor version might not be exactly same as that of CUDA.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2362 >
2021-06-29 17:40:37 +00:00
Seungha Yang
058f1e92b7
compositor: Add scaling policy to support PAR-aware scaling
...
Adding "sizing-policy" property for user to be able to specify
scaling policy (aspect-ratio for example).
At the moment, supported mode is only keep-aspect-ratio, but we might
be able to add more policies such as cropping, etc.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/696
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1156 >
2021-06-29 23:06:37 +09:00
Seungha Yang
2551b1d976
video: Deprecate gst_video_sink_center_rect()
...
... and add gst_video_center_rect() method as a replacement.
The method is useful for outside of videosink subclasses as well
but the old naming might be able to mislead people.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1156 >
2021-06-29 18:00:43 +09:00
Seungha Yang
44e3399bf8
d3d11: Add AV1 decoder
...
Introduce Direct3D11/DXVA AV1 decoder element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2365 >
2021-06-29 07:12:27 +00:00
Seungha Yang
c3b26de1f2
av1decoder: Store display resolution for duplicated picture
...
Target display resolution might be required by subclass implementation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2365 >
2021-06-29 07:12:27 +00:00
Seungha Yang
7a1effc499
av1decoder: Fix debug typo
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2365 >
2021-06-29 07:12:27 +00:00
Seungha Yang
6dbb9c705a
av1parser: Fix tile size calculation
...
Remaining size should exclude already read "tile size bits".
And see also "5.11.1. General tile group OBU syntax"
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2365 >
2021-06-29 07:12:27 +00:00
Olivier Crête
e548916d85
webrtc receivebin: Drop serialized queries before receive queue
...
If they're not dropped, they can be blocked in the queue even if it is
leaky in the case where there is a buffer being pushed downstream. Since
in webrtc, it's unlikely that there will be a special allocator to
receive RTP packets, there is almost no downside to just ignoring the
queries.
Also drop queries if they get caught in the pad probe after the queue.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2363 >
2021-06-29 00:42:20 -04:00
Olivier Crête
543fcb93a4
webrtc receivebin: Only set queue to leaky when the pad is blocked
...
When the pad is no longer blocked, remove the leakyness to make sure
everything gets into the jitterbuffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2363 >
2021-06-29 00:42:20 -04:00
Olivier Crête
a07e52528c
webrtc receivebin: Don't unblock pad until sender is unblocked
...
As ther OpenSSL session is created when the receiver goes into
playing, we have to wait for the ICE session to be connected before we
can start delivering packets to the DTLS element.
Fixes #1599
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2363 >
2021-06-29 00:42:20 -04:00
Jakub Adam
556ce36ce4
rtpbasepayload: don't write empty extension header
...
When some header extensions are present but none decides to write any
data to the currently processed RTP buffer, remove the extension data
section.
Resulting RTP buffer wasn't formatted correctly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1173 >
2021-06-28 19:28:41 +02:00
Jakub Adam
d294d7da36
rtpbuffer: Add gst_rtp_buffer_remove_extension_data()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1173 >
2021-06-28 19:28:41 +02:00
Jakub Adam
e2e9e321f6
rtpbasepayload: map RTP buffer READWRITE when setting headers
...
GstRTPHeaderExtension::write can map the RTP buffer for reading. If that
happens on a buffer that is already mapped WRITE-only by the payloader,
the payloader's mapping gets invalidated (GstRTPBuffer::map will point
to a different instance of GstMemory).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1173 >
2021-06-28 19:07:44 +02:00
Sebastian Dröge
ba294415d7
basesink: Post a latency message whenever we're ready to answer the query
...
Usually the latency message is only posted whenever latency of an
element changes but that might be too early as the sinks might not be
able to query the latency at that point yet.
Similarly adding a new sink should cause latency reconfiguration once
that new sink is able to report its latency.
This fixes latency configuration in pipelines where webrtcbin is the
only "sink", i.e. it is used in a sendonly session. Before, the latency
would always be configured to 0.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/843 >
2021-06-28 19:59:47 +03:00
Sebastian Dröge
0e559fc2f3
webrtcbin: Sync to the clock per stream and not per bundle
...
By using the clocksync inside the dtlssrtpenc, all streams inside a
bundled are synchronized together. This will cause problems if their
buffers are not already arriving synchronized: clocksync would wait for
a buffer on one stream and then buffers from the other stream(s) with
lower timestamps would all be sent out too late.
Placing the clocksync before the rtpbin and rtpfunnel synchronizes each
stream individually and they will be send out more smoothly as a result.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2355 >
2021-06-28 16:38:33 +00:00
Olivier Crête
ee0124cb36
webrtc: Remove the webrtc-priv.h header from public headers
...
And this time for real, also import it in a couple more places
inside the webrtc element to make it build.
Fixes #1607
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2359 >
2021-06-28 16:06:59 +00:00
Jakub Adam
2bd38697ed
docs: update plugins cache for vp9enc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/874 >
2021-06-28 16:05:46 +00:00
Jakub Adam
9f1b9fed06
vpx: add enum for adaptive quantization modes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/874 >
2021-06-28 16:05:46 +00:00
Jakub Adam
a5cccf13d4
vp9enc: expose frame-parallel-decoding property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/874 >
2021-06-28 16:05:46 +00:00
Jakub Adam
846ee58cac
vp9enc: expose aq-mode property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/874 >
2021-06-28 16:05:46 +00:00
Seungha Yang
e76218c1cb
multiudpsink: Fix broken SO_SNDBUF get/set on Windows
...
SO_SNDBUF has been undefined on Windows because of missing WinSock2.h
include. And don't use native socket functions (e.g., setsockopt())
if code is expected to be built on Windows. We don't link ws2_32.lib
for this plugin.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1016 >
2021-06-28 15:32:51 +00:00
He Junyan
a2d5223473
va: change AV1 GstVideoAlignment setting to left-top corner.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298 >
2021-06-28 15:16:39 +00:00
He Junyan
abf6c51e83
va: h264dec: Set the GstVideoAlignment correctly.
...
We should set GstVideoAlignment based on the sequence's crop information.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298 >
2021-06-28 15:16:39 +00:00
He Junyan
027726d6c8
va: h265dec: Set the GstVideoAlignment correctly.
...
We should set GstVideoAlignment based on the conformance window info.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298 >
2021-06-28 15:16:39 +00:00
He Junyan
49cd009778
va: pool: Add VideoCropMeta to the buffer if crop_top/left > 0.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298 >
2021-06-28 15:16:39 +00:00
He Junyan
85c56c1f07
va: basedec: Copy the frames into other_pool if needed.
...
If decoder's crop_top/left value > 0 and the downstream does not
support the VideoCropMeta, we need to manually copy the frames
into the other_pool and output it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298 >
2021-06-28 15:16:39 +00:00
He Junyan
55302c9705
va: basedec: Setup the other_pool to copy output if crop_left/top.
...
If the decoder has crop_top/left value > 0(e.g. the conformance
window in the H265). Which means that the real output picture
locates in the middle of the decoded buffer. If the downstream can
support VideoCropMeta, a VideoCropMeta is added to notify the
real picture's coordinate and size. But if not, we need to copy
it manually and the other_pool is needed. We always assume that
decoded picture starts from top-left corner, and so there is no
need to do this if crop_bottom/right value > 0.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298 >
2021-06-28 15:16:39 +00:00
He Junyan
c03350e234
va: No need to set the alignment for VideoMeta
...
The base va decoder's video_align is just used for calculation the
real decoded buffer's width and height. It does not have meaning
for the VideoMeta, because it does not align to the real picture
in the output buffer. We will use VideoCropMeta to replace it later.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298 >
2021-06-28 15:16:39 +00:00
He Junyan
98cf9ce6f5
va: Delete the useless align expand in va_pool_set_config().
...
The base va decoder's video_align is just used for calculation the
real decoded buffer's width and height. While the gst_video_info_align
just calculate the offset and stride based on the video_align. But
all the offsets and strides are overwritten in gst_va_dmabuf_allocator_try
or gst_va_allocator_try, which make that calculation useless.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298 >
2021-06-28 15:16:39 +00:00
Olivier Crête
b4caa6cbdd
rtphdrext: Make all fields private
...
The presence of a method and a field with the same name confuses the C#
binding generator. As there are accessor functions for all the fields,
let's just make them private.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1218 >
2021-06-28 18:07:56 +03:00
Sebastian Dröge
03d3e0fe73
webrtc: Re-add WebRTC object docs to the public headers
...
So they end up in the generated documentation and the Since markers
appear in the .gir files too.
Also remove wrong "Since: 1.16" markers for some objects that were
available since 1.14.0 already.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1609
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2366 >
2021-06-28 14:45:37 +00:00
Olivier Crête
0adc6ccc01
gst: don't use volatile to mean atomic
...
volatile is not sufficient to provide atomic guarantees and real atomics
should be used instead. GCC 11 has started warning about using volatile
with atomic operations.
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719
Discovered in gst-plugins-good#868
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1219 >
2021-06-26 12:50:58 -04:00
Jan Schmidt
8c04f4bdae
video-converter: Set up matrix tables only once.
...
When configuring a multi-thread converter, only allocate the
shared colour conversion matrices once for the first thread,
to avoid allocating multiple times and leaking memory.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1216 >
2021-06-26 04:00:08 +00:00
Jan Alexander Steffens (heftig)
ef324fa068
video-converter: Set up gamma tables only once
...
When the video converter is using multiple threads, the gamma tables
were created multiple times, leaking the tables set up for the previous
thread.
Only calculate the tables once.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1140 >
2021-06-25 13:55:39 +00:00
Jan Alexander Steffens (heftig)
b835356d6c
audio-converter: Free config when gst_audio_converter_new fails
...
The config got leaked when parameter validation fails.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1140 >
2021-06-25 13:55:39 +00:00
Sebastian Dröge
096a7f1ac0
webrtcbin: Set transceiver kind and codec preferences immediately when creating it
...
Otherwise the on-new-transceiver signal will always be emitted with kind
set to UNKNOWN and no codec preferences although both are often known at
this point already.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2360 >
2021-06-25 14:35:43 +03:00
Seungha Yang
f8dc833975
glprototypes: Add GST_GL_API_OPENGL to available version of sync
...
Make sync APIs usable if supported, even when GST_GL_API_OPENGL3 is
not selected
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1215 >
2021-06-25 10:30:35 +00:00
Sebastian Dröge
dcc49f846b
webrtcbin: Add a test for setting codec preferences as part of "on-new-transceiver" when setting the remote offer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2310 >
2021-06-25 09:45:24 +00:00
Sebastian Dröge
348d4229e7
webrtc: Use fail_unless_equals_string() for string assertions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2310 >
2021-06-25 09:45:24 +00:00
Sebastian Dröge
7ee8f4539e
webrtcbin: Store newly created transceivers when creating an answer also in the seen transceivers list
...
Otherwise it might be used a second time for another media afterwards.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2310 >
2021-06-25 09:45:24 +00:00
Sebastian Dröge
4efdb40f43
webrtcbin: When creating a new transceiver as part of creating the answer also take its codec preferences into account
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2310 >
2021-06-25 09:45:24 +00:00
Sebastian Dröge
b7951fb897
webrtcbin: Fix a couple of caps leaks of the offer caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2310 >
2021-06-25 09:45:24 +00:00
Philippe Normand
0f492a39c9
webrtcbin: Stop transceivers update after first SDP error on data channel
...
When invalid SDP is supplied, _update_data_channel_from_sdp_media() sets the
GError, so it is invalid to continue any further SDP processing, we have to exit
early when the first error is raised.
This change is similar to the one applied in
064428cb34
.
See also #1595
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2356 >
2021-06-25 05:12:37 +00:00
Olivier Crête
38e906de5d
rtpmanager: Access GstRTPHdrExt fields through accessor
...
This way, the implementation can be private.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1017 >
2021-06-24 14:57:14 -04:00
Olivier Crête
71052f0321
webrtcbin test: Fix race in new test
...
Pull a buffer from a sink to make sure that the caps are already
set before trying to update them.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2348 >
2021-06-24 09:41:09 +00:00
Sebastian Dröge
81bd8913b5
basesrc: Print segments with GST_SEGMENT_FORMAT and not GST_PTR_FORMAT
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/842 >
2021-06-24 07:01:38 +00:00
Per Förlin
30f88aa7c8
gstrtspconnection: Add IPv6 support for tunneled mode
...
An IPv6 address must be specified within [] brackets.
Add brackets for IPv6 address used for tunneled mode,
for non-tunneled this is already supported.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1145 >
2021-06-24 06:10:19 +00:00