Nicolas Dufresne
f39985f88a
compositor: Fix NV12 blend operation
...
The full src_height/width was being used instead of the remaining
width/height for the current band. As a side effect, that value would
get erroneously reset and would cause overrun.
Fixes #887
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1160 >
2021-05-19 16:39:22 -04:00
Nicolas Dufresne
3897b24f69
video: Pass component index not plane index
...
While so far it worked, we are about to introduce a format that break this
assuming. We have a format which consist of NV12 with alpha, and this format
does not have a direct mapping of the component against their plane indexes.
Fix this by using gst_video_format_info_component() introduced in 1.18 for
this purpose.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1151 >
2021-05-19 15:17:56 +00:00
Matthew Waters
42512c92de
gl/context: move egl creation lower in priority on _new()
...
e.g. if running a dual wgl/egl built library, then egl will always
succeed in creating the GstGLContext because almost anything could
support egl, as long as eglGetDisplay() works.
wgl, however has a check for the correct display type so should move
earlier in the tried list.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1154 >
2021-05-19 10:15:56 +00:00
Matthew Waters
f0eca69a14
gl/display: provide a gst_gl_display_new_with_type()
...
Allows more fine-grained control over the exact display type that is
created.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1154 >
2021-05-19 10:15:56 +00:00
Seungha Yang
87327110c2
videoaggregator: Don't try to return void
...
warning C4098: 'gst_video_aggregator_parallel_convert_pad_finalize':
'void' function returning a value
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1155 >
2021-05-19 16:23:43 +09:00
Tim-Philipp Müller
48c0a6dd1e
Revert video HDR10+ support
...
This reverts commit f76b731cbf
.
This reverts commit 631489de23
.
This reverts commit a1ed7a8f49
.
This reverts commit 7d6f72e956
.
Back this out again for now for the release. Needs more discussion.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/865
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1148 >
2021-05-17 15:54:15 +00:00
Tim-Philipp Müller
57578529a0
meson: fix up wrong escaping of variables in gl and plugins-base .pc file
...
Workaround for pkg.generate() escaping spaces in pc variables
that shouldn't be escaped. Perhaps going back to configure_file()
would be a better option though. Really needs a fix in Meson.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/884
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1150 >
2021-05-17 14:49:38 +00:00
Tim-Philipp Müller
5bc1a632e4
meson: add custom pkg-config variables also to uninstalled .pc files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1150 >
2021-05-17 14:49:38 +00:00
Guillaume Desmottes
0b39eca7d0
basetextoverlay: add debug category
...
All logs were using 'default' category which is not handy for debugging.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1149 >
2021-05-17 10:20:05 +00:00
Matthew Waters
f0205645b3
compositor: perform conversions in parallel
...
Improves throughput of the total convert and blend process and allows
for higher performance across slightly more threads.
Also make use of video aggregator's task pool for blending as well in
order to reduce the number of threads.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1129 >
2021-05-17 19:20:57 +10:00
Matthew Waters
8a5e5ddeeb
video/aggregator: add parallel convert pad class
...
Each required conversion will be performed concurrently
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1129 >
2021-05-17 19:20:57 +10:00
Matthew Waters
c30534122e
video/converter: add support for async conversion operation
...
Allows for users to start up multiple conversions concurrently.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1129 >
2021-05-17 19:20:57 +10:00
Jordan Petridis
23da209431
ext/gl: change graphene default options
...
The type was changed upstream from a boolean to an autofeature
41ebe5fa61
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1087 >
2021-05-16 13:18:33 +00:00
Jose Quaresma
56380af717
tests: use the real name of the videoscale test in GST_REGISTRY
...
The videoscale tests uses the same name as the one used in base tests.
Fix this and use the name of the videoscale test on the test environment GST_REGISTRY
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1146 >
2021-05-14 23:24:20 +01:00
Thibault Saunier
3f5d580f4e
playback: Handle sources with dynamic pads and pads already present
...
In case we already have a pad but more might be added later we were
ignoring the new pads added later, we should track the element
new pads and expose them as they are added.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1120 >
2021-05-13 11:58:12 +00:00
Thibault Saunier
2e13d97dd6
playback: Stop giving "source" as name to sources
...
This makes it very hard to understand what source we are talking about
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1120 >
2021-05-13 11:58:12 +00:00
Matthew Waters
7066c849e4
glcontext: add support for influencing the backing configuration
...
New API:
- gst_gl_context_get_config()
- gst_gl_context_request_config()
A GL context configuration is a GstStructure that has some well-known
names for common values that can also be extended in platform-specific
ways if necessary.
Wrapped OpenGL contexts may be able to retrieve the GL context
configuration depending on the platform. If that information is
available, GstGLContext will attempt to create an context that matches
the shared OpenGL context config unless gst_gl_context_request_config()
has been called.
A new environment variable 'GST_GL_CONFIG' will be read to influence the
configuration chosen. The environment variable will only be used as a
fallback if gst_gl_context_request_config() has not been called.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/809 >
2021-05-13 16:44:28 +10:00
Matthew Waters
dfd749c5da
gl/context/egl: change header guard to be unique
...
The header guard in gst/gl/egl/gstglcontext_egl.h was the same as
gst/gl/egl/egl.h
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/809 >
2021-05-13 16:19:42 +10:00
Matthew Waters
f03071439f
gl/api: improve the to/from string for GstGLAPI/GstGLPlatform
...
With unit tests now!
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/809 >
2021-05-13 15:35:23 +10:00
Matthew Waters
3c3d978578
gl/framebuffer: expand documentation on valid usage
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/809 >
2021-05-12 16:51:25 +10:00
Nicolas Dufresne
725763f8b2
opusdec: Add Converter class to hint gst-validate
...
opusdec have minimal conversion capability, adding the Converter class allow
gst-validate to behave properly and not spit an error when it notice that the
number of channels or rate miss-match in and out.
Related to https://gitlab.freedesktop.org/gstreamer/gst-integration-testsuites/-/merge_requests/102
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1142 >
2021-05-11 15:06:39 -04:00
Haihao Xiang
d15f88adc5
doc: update gst_plugins_cache.json
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1141 >
2021-05-11 12:24:41 +08:00
Haihao Xiang
74129211e4
gl: add support for RGBP and BGRP formats
...
gst-launch-1.0 videotestsrc ! video/x-raw,format=RGBP ! glimagesink
gst-launch-1.0 videotestsrc ! video/x-raw,format=BGRP ! glimagesink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1141 >
2021-05-11 12:24:41 +08:00
Haihao Xiang
ca046ca73c
video: add support for RGBP and BGRP formats
...
The two RGB planar formats are used in OpenVino [1]
gst-launch-1.0 videotestsrc ! video/x-raw,format=BGRP ! fakesink
gst-launch-1.0 videotestsrc ! video/x-raw,format=RGBP ! fakesink
[1] https://docs.openvinotoolkit.org/latest/openvino_docs_optimization_guide_dldt_optimization_guide.html
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1141 >
2021-05-11 12:24:41 +08:00
Haihao Xiang
c778686a3c
test: enlarge the number
...
This is to make sure the case can pass after adding new video formats.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1141 >
2021-05-11 12:24:41 +08:00
Nicolas Dufresne
d3ac7bfcbf
codec: Introduce GstVideoCodecAlphaMeta
...
This meta hold one buffer of the same codec data as the parent memory. This
extra frame luma will be used as the alpha values for the final combined
frame. This is notably used to support VP8/VP9 alpha as defined in WebM and
matroska specification.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1128 >
2021-05-10 16:33:11 -04:00
Nicolas Dufresne
ac54f073d8
video: Sort includes in video.h
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1128 >
2021-05-05 16:20:37 -04:00
Sebastian Dröge
5a65f5f3b7
multihandlesink: Use the monotonic clock for detecting timeouts and connection durations
...
Otherwise real-time clock changes can wrongly trigger timeouts, or not
cause timeouts to happen in time.
Unfortunately real-time clock times still have to be kept track inside
the elements for the statistics. Switching those over to the monotonic
clock would cause behaviour changes from the application point of view.
The statistics are extended with fields with monotonic times though.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1137 >
2021-05-05 16:12:38 +00:00
Sebastian Dröge
26b8a96b84
appsrc: Add test for testing the max-* and leaky-type properties
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1133 >
2021-05-05 15:13:33 +00:00
Sebastian Dröge
02530e9d3e
appsrc: Implement a leaky property similar to the queue element
...
This allows dropping the newest or oldest buffer when the internal queue
is full instead of blocking or continuing to grow.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1133 >
2021-05-05 15:13:33 +00:00
Sebastian Dröge
d987ec21f2
appsrc: Add new max-buffers / max-time / current-level-buffers / current-level-time properties
...
These work the same way as the corresponding properties on queue and
allow to control the internal buffer size of the appsrc in a more
flexible way.
Unlike in queue the max-buffers and max-time properties are 0 (i.e.
disabled) by default for backwards compatibility reasons.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1133 >
2021-05-05 15:13:33 +00:00
François Laignel
ca7a964fb1
Use gst_element_request_pad_simple...
...
Instead of the deprecated gst_element_get_request_pad.
2021-05-05 11:55:54 +03:00
Matthew Waters
a77c316590
rtp/hdrext: correct gst_rtp_get_header_extension_list() docs
...
The return value is a list of GstElementFactory's that when
gst_element_factory_create()ed will create a GstRTPHeaderExtension.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/897
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1136 >
2021-05-04 15:40:30 +10:00
Sebastian Dröge
da9a3da8aa
appsrc: Don't leak buffer list while wrongly unreffing buffer on EOS/flushing
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1134 >
2021-05-03 05:42:07 +00:00
Sebastian Dröge
fc7d65b107
app: Add gstappsrc.h to the enum headers in meson.build
...
It's already indirectly included but let's better be explicit here.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1134 >
2021-05-03 05:42:07 +00:00
Stéphane Cerveau
a7114f4b88
gst-play: add --start-position command line argument
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1126 >
2021-04-30 15:54:24 +00:00
Nirbheek Chauhan
b14347041a
videotestsrc: Fix a leak when computing alpha caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1131 >
2021-04-30 20:46:08 +05:30
Stéphane Cerveau
9b6a425aa4
playback-test: add window title
...
If playbin mode, display the current uri
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1122 >
2021-04-29 23:47:05 +00:00
Matthew Waters
1ca747436f
sdp/caps: support translating transport-cc rtcp-fb from caps to sdp attributes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1130 >
2021-04-29 21:16:57 +10:00
Doug Nazar
7725c90d5c
rtp: Fix request-extension signal call
...
Signal is registered as taking a guint however was being passed a
guint64 which fails on 32-bit.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1102 >
2021-04-28 22:50:53 -04:00
Víctor Manuel Jáquez Leal
87193af4d5
xvimagesink: Handle cropping when copying frames.
...
Cropping was not handled properly when frames have to be copied to
xvimage's buffer pool, first because the crop meta were dropped, and
second because the allocated frame size in xvimage's buffer pool were
smaller than the incoming frame.
This patch updates xvimagesink's video info when propose_allocation()
is called, and copies the GstVideoCropMeta from source frame to
destination one.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1088 >
2021-04-28 11:00:56 +00:00
Víctor Manuel Jáquez Leal
c38bede8ba
xvimagesink: Delay pool creation until it's needed.
...
Buffer pool is created every time setcaps() is called, but it's
required only when upstream doesn't use it, so it's only needed to
copy frames onto XV buffers.
This patch delay the creation of the buffer pool until it's frame copy
is required.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1088 >
2021-04-28 11:00:56 +00:00
Matthew Waters
c16412dd63
gl/download: add support for output memory:NVMM buffers
...
Currently RGBA-only.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1071 >
2021-04-28 12:44:38 +10:00
Matthew Waters
94f0d9c69b
gl/bufferpool: add api for retrieving the configure gl allocation params
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1071 >
2021-04-28 12:44:38 +10:00
Matthew Waters
2f35aeca8c
glupload: add support for uploading memory:NVMM buffers
...
Currently RGBA-only.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1071 >
2021-04-28 12:42:15 +10:00
Matthew Waters
f770982635
glupload: guard against glEGLImageTexture2D not existing
...
e.g. if targetting EGL/opengl, we would attempt to use this GLES
function when wrapping EGLImage's.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1071 >
2021-04-28 12:42:15 +10:00
Xavier Claessens
4ef5c91697
gstgl: Fix build when Meson >= 0.58.0rc1
...
"implicit_include_directories: false" now also means that current build
directory is not added to include paths by default any more. We have to
add it manually because we have some custom_target() that generate
headers in current build directory.
See https://github.com/mesonbuild/meson/issues/8700 .
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1125 >
2021-04-27 08:26:18 +00:00
Doug Nazar
b14c2e6fb0
opengl: Silence macOS OpenGL deprecations
...
As of macOS 10.14 the entire OpenGL system is deprecated. No need to
log the general warnings about it. Specific warnings are still enabled.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1123 >
2021-04-24 22:26:36 -04:00
Stéphane Cerveau
403e0024f1
playback-test: fix seek crash
...
check that app->seek_format exists before seeking.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1095 >
2021-04-23 11:43:17 +02:00
Doug Nazar
3676a2c6de
tcp: Rework client start error handling.
...
Ensure errors are cleaned up properly at the right level.
Abort connection attempts if we're cancelled.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1115 >
2021-04-22 07:17:06 +00:00