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
Jakub Adam
538e2ef1d0
rtpbasedepay: fix locking of GstRTPHeaderExtension
...
'ext' object unlocked if gst_rtp_header_extension_read() fails was never
locked in the first place.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1118 >
2021-04-21 17:34:18 +02:00
Stéphane Cerveau
74346080ba
vorbis: avoid duplicate symbols
...
Use TREMOR define to avoid duplicate symbols
of ivodebis and vorbis plugins when
static linking GStreamer.
Rearrange debug category init.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1116 >
2021-04-21 12:40:53 +02:00
Seungha Yang
e785560687
uridecodebin: Don't force floating reference for future reusable decodebin
...
uridecodebin assumes that refcount of decodebins stored in pending_decodebins
are floating but it might not be true in case that refcount of the decodebin
was touched in other places. To avoid the floating refcount issue,
hold strong reference.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1113 >
2021-04-21 02:40:06 +09:00
Seungha Yang
3a1816bf3f
uridecodebin: Use gst_object_ref instead of g_object_ref
...
It's more debugging friendly (tracer for example)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1113 >
2021-04-21 02:02:48 +09:00
Jordan Petridis
df88b10c7f
gstvideoencoder: make sure the buffer is writable before modifying metadata
...
Similar to ae8d0cf3ac
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1112 >
2021-04-20 16:01:15 +00:00
Doug Nazar
dd12c9b230
tcp: Convert tcpclientsink to new helpers.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1105 >
2021-04-20 09:49:23 +00:00
Doug Nazar
13743353cb
tcp: Convert tcpclientsrc to new helpers.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1105 >
2021-04-20 09:49:23 +00:00
Doug Nazar
0fefbc932a
tcp: Convert tcpserversink to new helpers.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1105 >
2021-04-20 09:49:23 +00:00
Doug Nazar
9ad0566c37
tcp: Convert tcpserversrc to new helpers.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1105 >
2021-04-20 09:49:23 +00:00
Doug Nazar
408b2fa634
tcp: Add helper functions to lookup hostnames and create sockets.
...
Lookup will now maintain the full list of possible IP address(es).
We can now iterate over all available addresses in case certain
address families (IPv6) are disabled or try connecting to additional
addresses for the clients.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1105 >
2021-04-20 09:49:23 +00:00
Doug Nazar
27c392bda3
tests/tcp: Fail if unable to start pipelines.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1105 >
2021-04-20 09:49:23 +00:00
Doug Nazar
d4bf6b36d2
tcp: cleanup files
...
consolidate gsttcp.h & gsttcpelements.h
rename gsttcpelement.c to match header
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1105 >
2021-04-20 09:49:23 +00:00
Stéphane Cerveau
ada8b07be2
videodecoder: use DTS if PTS unknown
...
The buffer should be set according to DTS if exists
when we are guessin the PTS instead of segment start.
The decoder can receive buffers which are before the segment
in case of seek for example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1111 >
2021-04-19 13:28:39 +02:00
Marijn Suijten
33167573e1
Drop @
documentation references from functions and external types
...
`@` references are used to reference function parameters, struct members
or enum variants _within_ the current type/function. It cannot and
should not be used to reference to types outside that.
Since C has no notion of member functions it makes little sense to
prefix these with `@`; most of the documentation here was referencing
functions on _different_ types anyway.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1090 >
2021-04-15 15:49:39 +02:00
Mathieu Duponchelle
c17781e1a9
playbin{2,3}: fix base_time selection when flush seeking live
...
This is a direct translation of
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/429 >,
as playbin{2,3} insulates its sub groups state changes from the pipeline
base class, it needs to track whether the subgroup is live itself,
and handle RESET_TIME the same way GstPipeline does.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1104 >
2021-04-12 12:43:53 +00:00
Doug Nazar
a273573d1e
overlaycomposition: Fix test for big endian.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1103 >
2021-04-12 04:39:49 -04:00
Tim-Philipp Müller
5b754c381c
gl: fix up Since markers for newly-added _get_type() functions
...
Follow-up to !999 which wasn't backported into 1.18 in the end
after all.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/857
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1101 >
2021-04-11 23:50:35 +01:00
Robin Burchell
1a1a885db4
gstgiobasesink: Handle incomplete writes in gst_gio_base_sink_render()
...
As the comment asked, yes, incomplete writes can happen.
I have encountered this with an sshfs mount, for example.
It seems like g_output_stream_write_all() is designed to handle this case,
by not returning until the requested buffer has been completely written,
or an error occurs, which seems to match up with the desired behaviour.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/885
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1100 >
2021-04-09 07:35:07 +00:00
Seungha Yang
b70e83c409
clockoverlay: Fix broken string formatting by strftime() on Windows
...
Like other foobarA variant APIs on Windows, formatted string
by strftime() is ANSI string, not unicode encoded one.
It would be problematic for non-english locale systems.
We should use unicode version API (wcsftime in this case)
whenever it's possible on Windows.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1093 >
2021-04-08 08:27:53 +00:00
Doug Nazar
1d5ad7d1da
audio/alsa: Exit write loop if underlying device is already paused.
...
If the alsasink thread starts the write loop but another thread pauses
the underlying alsa device, the sink thread will endlessly loop.
snd_pcm_writei() will return 0 if the state is SND_PCM_STATE_PAUSED
and the loop will never make any progress.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1097 >
2021-04-08 07:28:21 +00:00