Thibault Saunier
f2efd3b133
validate:launcher: Fix potential invalid index access
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1113 >
2021-10-12 16:59:16 +00:00
Thibault Saunier
b084abad79
validate:launcher: Fix adding logs to xunit
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1113 >
2021-10-12 16:59:16 +00:00
Tim-Philipp Müller
078f7874fd
gst-play: pick up minus and plus also from navigation events
...
Makes it easier to test playback rate changes with the video
window being in focus.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/928 >
2021-10-12 11:19:22 +00:00
Nirbheek Chauhan
e24e366952
libsoup: Bump to 2.74 to fix gssapi build failure on macOS
...
See: https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/255
We also need to disable sysprof by default because it only builds on
native Linux. If someone really wants it, they can enable the option
on the command-line by passing -Dlibsoup:sysprof=enabled
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1114 >
2021-10-12 12:22:31 +05:30
Mengkejiergeli Ba
40d559adcf
msdkenc: fix vp9enc initialization fail
...
MediaSDK does not support to handle extbuff with id
MFX_EXTBUFF_VIDEO_SIGNAL_INFO for mjpegenc and vp9enc. Hence, need to
exclude mjpeg and vp9 when passing color properties to MediaSDK during
msdkenc initialization.
Fix issue: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/764
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1101 >
2021-10-12 03:45:41 +00:00
Seungha Yang
1bf237e767
examples: d3d11: Add a desktop capture example
...
... with d3d11 desktop capture device provider
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1103 >
2021-10-11 15:21:26 +00:00
Seungha Yang
4b85704b88
d3d11: Add device provider for d3d11desktopdupsrc
...
... and add support for multi-GPU/multi-monitor
By using newly added "monitor-handle" property, user can specify a
monitor to be captured via HMONITOR handle.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1673
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1103 >
2021-10-11 15:21:26 +00:00
Stéphane Cerveau
2200a3dbcd
ttml: fix log init
...
The log system should be init before calling a log
Fix regression after:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2038
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1112 >
2021-10-11 15:23:08 +02:00
Stéphane Cerveau
01fa95d34a
move-mrs-script: add url option
...
You can give as option:
--url
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/960 >
2021-10-10 19:50:10 +00:00
Stéphane Cerveau
442672cfdd
move-mrs-script: add a list only options
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/960 >
2021-10-10 19:50:10 +00:00
Víctor Manuel Jáquez Leal
1cfae69bc9
tests: va: Add VA buffer copy tests.
...
It should only work for raw buffers, but fails on dmabuf since it
should have a drm modifier.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023 >
2021-10-10 17:03:29 +00:00
Víctor Manuel Jáquez Leal
35575e7b11
va: allocator: dmabuf: Use GstVaSurfaceCopy, if possible.
...
If dmabuf-based buffer to copy contains only one memory, and there are
memories available in the allocator's pool, it's possible a fast
memory copy using GstVaSurfaceCopy, regardless the drm modifier.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023 >
2021-10-10 17:03:29 +00:00
Víctor Manuel Jáquez Leal
cf751d54a9
va: allocator: Use GstVaSurfaceCopy.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023 >
2021-10-10 17:03:29 +00:00
Víctor Manuel Jáquez Leal
ffa2522fc0
va: Add GstVaSurfaceCopy class.
...
This new class is a helper for fast/tricky copy of surfaces. First it
tries to copy using the function vaCopy in libva 1.12. If it fails, or
it's not available, a GstVaFilter is tried to be instantiated with the
allocator's parameters, and if succeed, it's used for copying the
source surface.
This is required for dmabuf surfaces with drm modifier.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023 >
2021-10-10 17:03:29 +00:00
Víctor Manuel Jáquez Leal
f1e2eb4f1e
va: filter: Enable to pass VASurfaceID in GstVaSample.
...
Initially GstVaSample processed its GstBuffer member to get the
VASurfaceID. But it might cases where we already have the VASurfaceID
to process by the filter.
This patch enables the possibility to pass the surfaces rather than
the buffers. In order to validate the surfaces a function to check
surfaces were added.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023 >
2021-10-10 17:03:29 +00:00
Víctor Manuel Jáquez Leal
14156f8270
va: Split VA memory handling in different files.
...
Take out the VA memory wrappers from gstvallocator.c to an external
file exposing the functions.
This is going to be needed for the copy helper object.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023 >
2021-10-10 17:03:29 +00:00
Víctor Manuel Jáquez Leal
1be43e76cc
va: allocator: Add missing header file.
...
Added stdint.h because uintptr_t is used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023 >
2021-10-10 17:03:29 +00:00
Víctor Manuel Jáquez Leal
2947bd6ef1
va: display: Add gst_va_display_has_vpp()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023 >
2021-10-10 17:03:29 +00:00
Benjamin Gaignard
7e9e17ebbe
v4l2codecs: Align v4l2-controls header with kernel 5.15-rc3
...
Update v4l2-controls to be aligned with kernel 5.15-rc3.
Fix VP8 decoder to use the correct field name.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1081 >
2021-10-10 15:50:57 +00:00
Jordan Petridis
c26d840f65
ci: remove outdated rule for gstreamer-full-minimal
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1065 >
2021-10-10 15:01:37 +00:00
Jordan Petridis
cfe2bf8239
ci: update rules that pointed to gst-ci subproject
...
The files are now moved into ci/ at the root of the repo.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1065 >
2021-10-10 15:01:37 +00:00
Jan Schmidt
71c3141672
uridecodebin3/urisourcebin: Reusability fixes
...
Improvements to uridecodebin3 and urisourcebin so that they are
reusable across a PAUSED->READY->PAUSED transition.
Disconnect and release decodebin3 request pads when urisourcebin
removes src pads.
In urisourcebin, make sure to remove src pads that are exposed
directly (raw pads and static typefind srcpads) when
cleaning up.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/768
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1100 >
2021-10-10 11:55:19 +00:00
Jan Schmidt
e06ac494b8
playbin3: Always register 'playbin3' element.
...
If the USE_PLAYBIN3=1 env var is set, we want to replace
playbin with playbin3, but separate to that, we always
want to register the 'playbin3' element so that applications
which explicitly use playbin3 work regardless of the env var.
This fixes `USE_PLAYBIN3=1 gst-validate-launcher`, for example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1102 >
2021-10-10 07:28:17 +00:00
Seungha Yang
0d96e43c91
mediafoundation: mfvideoenc: Use DXGI adapter LUID
...
Make use of new DXGI adapter LUID based device context sharing.
Note that we were using DXGI adapter LUID to open MFT already.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1098 >
2021-10-10 03:23:58 +09:00
Seungha Yang
5707e487cf
d3d11: d3d11decoder: Use DXGI adapter LUID
...
... instead of index of DXGI adapter.
The order of IDXGIAdapter1 enumerated via IDXGIFactory1::EnumAdapters1
can be varying even there's no rebooting in case that GPU preference order
is updated by user (for example, it can be done by using NVIDIA Control Panel
in case of multi-GPU laptop system) and eGPU is another possible case.
So, for an element which requires fixed target GPU requirement,
index based device enumeration is unreliable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1098 >
2021-10-10 03:23:58 +09:00
Seungha Yang
98b82ef286
d3d11: d3d11utils: Add support for DXGI Adapter LUID based D3D11 device context sharing
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1098 >
2021-10-10 03:23:58 +09:00
Seungha Yang
5ac7a21ef0
d3d11: d3d11device: Add gst_d3d11_device_new_{for_adapter_luid,wrapped}
...
* gst_d3d11_device_new_for_adapter_luid()
Used for creating D3D11 device for a DXGI adapter (i.e., GPU)
corresponding to a LUID (Locally Unique Identifier).
This method can be useful for interop with other APIs such as
Direct3D12, MediaFoundation, CUDA, etc.
* gst_d3d11_device_new_wrapped()
Allows creating a new GstD3D11Device object by using already
configured ID3D11Device. This is conceptually equivalent to
gst_gl_context_new_wrapped()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1098 >
2021-10-10 03:23:53 +09:00
Seungha Yang
d8eff2623d
d3d11: d3d11device: Remove "allow-tearing" property
...
Plugin can query DXGI_FEATURE_PRESENT_ALLOW_TEARING without d3d11device
help
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1098 >
2021-10-10 01:01:44 +09:00
Sebastian Dröge
3011fa7ddd
webrtcbin: Use the same promise reply structure name everywhere
...
This was an inconsistent mix of different names in the past. The name
has no meaning at all so let's set all to "application/x-gst-promise".
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1099 >
2021-10-09 11:45:46 +03:00
Jan Schmidt
33ad1cdc5e
playbin3: Avoid group deactivation deadlock.
...
Change locking around group deactivation to avoid deadlocks
when shutting down exactly as a buffering message arrives.
The PLAYBIN3_LOCK now protects the active field of the
source group. Everything else is still protected by the
source-group-lock.
Also properly protect group switching operations with
the PLAYBIN3_LOCK everywhere.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1049 >
2021-10-08 15:49:41 +00:00
Vivia Nikolaidou
1fa1b18a24
chopmydata: Fix FIXMEs in gst_element_class_set_static_metadata
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1097 >
2021-10-08 16:20:10 +03:00
Stéphane Cerveau
08f924b491
FAQ: add mention to downstream cherry-pick
...
Give an help to cherry-pick an upstream patch to
downstream repository (old stable version)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1095 >
2021-10-08 14:34:00 +02:00
Seungha Yang
7286c8e302
d3d11: d3d11desktopdupsrc: Add support for non-D3D11 downstream element
...
By this commit, application doesn't need to configure d3d11download
element for software pipeline which will make things simpler
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1082 >
2021-10-08 16:13:46 +09:00
Thibault Saunier
b590511146
validate:scenario: Allow waiting signal searching for element factory
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1064 >
2021-10-07 15:05:53 +00:00
Marek Vasut
e6d83d8f96
jpegdec: Support libjpeg-turbo colorspace conversion
...
The libjpeg-turbo has a built-in support for performing colorspace
conversion. The performance of this conversion is much better than
doing the same separately using videoconvert. Implement support for
this conversion to RGBx/xRGB/BGRx/xBGR formats. Other formats can
be easily added later.
- The decoding of various pixel formats can be tested and compared to
non-libjpeg-turbo decoding as follows:
for gfmt in {RGB,BGR}{,x} x{RGB,BGR} ; do
echo "$gfmt"
gst-launch-1.0 -q \
videotestsrc pattern=colors ! \
video/x-raw,format=${gfmt} ! \
fakesink dump=true | \
head -n 200 | tail -n 1
gst-launch-1.0 -q --gst-plugin-path=build/ext/jpeg/ \
videotestsrc pattern=colors ! \
video/x-raw,format=${gfmt} ! \
jpegenc ! \
jpegdec ! \
video/x-raw,format=${gfmt} ! \
fakesink dump=true | \
head -n 200 | tail -n 1
done
Result looks as follows, i.e. comparable:
RGB
00000c70 (0x7f7736fbdd10): 05 33 19 05 33 26 05 33 33 05 33 40 05 33 4c 05 .3..3&.33.3@.3L.
00000c70 (0x7f389e8f7d10): 05 32 17 04 32 22 04 32 31 04 32 3e 04 32 4a 04 .2..2".21.2>.2J.
RGBx
00000c70 (0x7f79efd0ad10): cc 07 22 ff d9 07 22 ff e6 07 22 ff f3 07 22 ff .."..."..."...".
00000c70 (0x7fb6989f3d10): cd 06 22 00 d9 06 22 00 e6 06 22 00 f4 06 22 00 .."..."..."...".
BGR
00000c70 (0x7fa0a6c42d10): 05 0c 33 05 19 33 05 26 33 05 33 33 05 40 33 05 ..3..3.&3.33.@3.
00000c70 (0x7fc74165fd10): 05 08 32 04 17 32 04 22 32 04 31 32 04 3e 32 04 ..2..2."2.12.>2.
BGRx
00000c70 (0x7fbf399f1d10): 22 07 cc ff 22 07 d9 ff 22 07 e6 ff 22 07 f3 ff "..."..."..."...
00000c70 (0x7f50e3d1cd10): 22 06 cd 00 22 06 d9 00 22 06 e6 00 22 06 f4 00 "..."..."..."...
xRGB
00000c70 (0x7f0b950a2d10): ff cc 07 22 ff d9 07 22 ff e6 07 22 ff f3 07 22 ..."..."..."..."
00000c70 (0x7f4416b8dd10): 00 cd 06 22 00 d9 06 22 00 e6 06 22 00 f4 06 22 ..."..."..."..."
xBGR
00000c70 (0x7f237d74dd10): ff 22 07 cc ff 22 07 d9 ff 22 07 e6 ff 22 07 f3 ."..."..."..."..
00000c70 (0x7f095547dd10): 00 22 06 cd 00 22 06 d9 00 22 06 e6 00 22 06 f4 ."..."..."..."..
^^ ^^ ^^ ^^
Notice how the alpha channel is set to arbitrary value in case of the
libjpeg-turbo decoding into RGBx/BGRx/xRGB/xBGR pixel formats. This is
documented in libjpeg-turbo README.md as follows:
"
When using the RGBX, BGRX, XBGR, and XRGB colorspaces during decompression, the
X byte is undefined, and in order to ensure the best performance, libjpeg-turbo
can set that byte to whatever value it wishes.
"
- The interlaced num_fields=2 mjpeg stream can be generated and
tested as follows (this does require mjpegtools):
$ gst-launch-1.0 videotestsrc num-buffers=10 ! jpegenc ! multifilesink location=in%04d.jpg
$ jpeg2yuv -f 25 -I t -L 0 -j in%04d.jpg | yuv2lav -f avi -o result.avi
...
$ gst-launch-1.0 --gst-plugin-path=build/ext/jpeg/ filesrc location=result.avi ! \
avidemux ! jpegdec ! video/x-raw,format=RGBx ! videoconvert ! autovideosink
Signed-off-by: Marek Vasut <marex@denx.de>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1091 >
2021-10-07 12:40:29 +00:00
Sebastian Dröge
14d636b224
rtsp-media: Unprepare suspended medias too
...
Previously suspended medias immediately reached the UNPREPARED state
without going through the media's unprepare() vfunc. This didn't allow
the media subclass to do any additional cleanup, and for example the
shutdown-eos property of GstRTSPMedia was ignored.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1090 >
2021-10-07 11:16:39 +00:00
Seungha Yang
314901a208
tests: gstmeta: Fix failure on Windows
...
Windows doesn't support fork so every test will be performed in
one process. So the test_meta_custom_transform() is being
failed because "test-custom" custom meta is being used/defined in
another test test_meta_custom() as well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1086 >
2021-10-07 07:43:27 +00:00
Seungha Yang
88437a9c9b
codecs: Use GST_VIDEO_DECODER_ERROR() only for decoding error case
...
The GST_VIDEO_DECODER_ERROR() should be used only for robust/error-resilient
decoding purpose. Any other error codes such as not-negotiated or flushing
should be returned without modified for upstream to be able to handle
it immediately. (for example, application might want to try other
decoder element on not-negotiated)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1070 >
2021-10-07 06:48:46 +00:00
Seungha Yang
e31b797c05
codecs: h264decoder: Update for remaining gboolean to GstFlowReturn port
...
Fix for spurious/spammy warning and wrong function return type
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1085 >
2021-10-07 06:07:29 +00:00
Sebastian Dröge
e9d551b45c
rtsp-media: Only unprepare a media if it was not already unpreparing anyway
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1083 >
2021-10-07 05:28:19 +00:00
Nirbheek Chauhan
f0c3eefefc
meson: Fix gst-launch build on UWP
...
The APIs we need from WinMM for higher timer resolution are only
available for non-UWP apps. The winmm library itself is still
available, so we need to disable the check.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/890 >
2021-10-07 04:43:34 +00:00
Nirbheek Chauhan
be607d7cca
meson: Fix build with -Dopenjpeg=disabled
...
tests/check/meson.build uses the openjpeg_dep variable
unconditionally, and the subdir_done() is useless anyway, since the
plugin is only built if openjpeg_dep.found() is true. Fixes:
..\tests\check\meson.build:23:0: ERROR: Unknown variable "openjpeg_dep".
In particular, this fixes the build on UWP since we disable openjpeg
explicitly in Cerbero when building for UWP.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1069 >
2021-10-07 03:22:25 +00:00
Guillaume Desmottes
de05bb3da2
bad: gs: update README
...
- add one missing dep
- change install path to match monorepo
- fix current dirs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1008 >
2021-10-06 21:35:08 +00:00
Ognyan Tonchev
7ba665995f
rtsp-client: make sure sessmedia will not get freed while used
...
handle_*_request() functions were all retrieving the session media from
the session by calling gst_rtsp_session_get_media () which is a transfer-none
call. If a session timeout happens at that time, the session media may get freed
making the pointer invalid..
Fixes #757
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1053 >
2021-10-06 19:42:43 +00:00
Thibault Saunier
ce76a286ed
validate:launcher: Sync asset only when passing --sync
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1020 >
2021-10-06 17:00:54 +00:00
Xavier Claessens
d189b0d0ec
ci: Fix typo in cerbero trigger
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1056 >
2021-10-06 09:04:30 +00:00
Xavier Claessens
d4296b7d3d
trigger_cerbero_pipeline.py: Do not hardcode gitlab instance
...
When GStreamer is forked into a private GitLab instance we should
trigger cerbero into that private instance too. Otherwise the token
won't be accepted.
Also do not hardcode the cerbero project ID because it is instance
specific.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1056 >
2021-10-06 09:04:30 +00:00
Víctor Manuel Jáquez Leal
01cfc1ee7e
va: Use macro rather than VAMemory feature string.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1061 >
2021-10-06 07:19:50 +00:00
Jordan Petridis
c50a35da2b
ci: remove duplicate stage key in documentation job
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/931 >
2021-10-05 23:54:13 +03:00
Xavier Claessens
cdbb3e6ba4
ci: Remove "check allow-edit" job because gitlab does it by default
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/931 >
2021-10-05 23:54:13 +03:00