Havard Graff [Tue, 19 Mar 2019 15:20:01 +0000 (16:20 +0100)]
rtcpbuffer: add RTPFB_TYPE_TWCC for Transport-Wide Congestion Control
Original patch
: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/commit/
daea137c9db1809233dfa79e05bd416358e526e9
Change-Id: Ib94aef95e824841372e037309b9909f5e713a1ee
Eunhye Choi [Tue, 20 Apr 2021 10:05:51 +0000 (19:05 +0900)]
decodebin3: do not drop regular eos event
- decodebin3 send eos event to downstream when it gets eos event from all tracks
but it causes hang up if application ask changing pipeline state to PAUSED.
- eos track has no data to preroll but sink does not know whether it is eos or not
because d3 drop the eos and it is waiting another track's eos.
Change-Id: Iee3aaa622f88898f5030a154f4eae25bc9fca562
(cherry picked from commit
d52a7353d161875acb8d1168914d600d905374de)
Eunhye Choi [Tue, 13 Apr 2021 09:47:34 +0000 (18:47 +0900)]
Revert "decodebin3: do not drop the eos event"
This reverts commit
e81e47479b49ffe98c3614ad2295c56e28e0b282.
- To allow pad switching in case of adaptive streaming.
Change-Id: Ic0102cc8cb83a2607ae7b24e8ff473df07a08dfa
Edward Hervey [Fri, 11 Dec 2020 09:13:59 +0000 (10:13 +0100)]
decodebin3: Release selection lock when pushing EOS
We can't keep the lock otherwise this would lock other actions. In order to keep
it safe, we grab a list of peer pads to send EOS to with the lock taken, then
send to the peer pads with the lock released.
Also make sure the selection lock is taken for another call to this function
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/847
Change-Id: I8c811ff53b77ed62b79a3e90f1f4dab616f02e36
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/971>
Jeongmo Yang [Tue, 2 Feb 2021 09:15:26 +0000 (18:15 +0900)]
[cameracontrol] Add new enum for strobe
[Version] 1.16.2-10
[Issue Type] New feature
Change-Id: I14cdeda7a272fe1dafb51c0d657b2e9da2f6b0f0
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
Eunhye Choi [Wed, 23 Dec 2020 08:19:34 +0000 (17:19 +0900)]
decodebin3: do not drop the eos event
- decodebin3 send eos event to downstream when it gets eos event from all tracks
but it causes hang up if application ask changing pipeline state to PAUSED.
- eos track has no data to preroll but sink does not know whether it is eos or not
because d3 drop the eos and it is waiting another track's eos.
Change-Id: I0787c8cf22abeb1e6e30ba56d0909381399cdbd2
(cherry picked from commit
e81e47479b49ffe98c3614ad2295c56e28e0b282)
Minje Ahn [Fri, 30 Oct 2020 00:09:42 +0000 (09:09 +0900)]
Activate plug-in for Gstreamer Editing Services
Activation list:
- libgstaudiomixer.so
- libgstcompositor.so
- libgstencoding.so
Change-Id: I3f21421011efd81b1bcfc4be3bdeef2465176d85
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
Gilbok Lee [Tue, 15 Sep 2020 07:15:31 +0000 (16:15 +0900)]
playbin3: Fix coverity issue (Missing unlock)
Change-Id: I93dcc031ac75de8e6fff716cd7e7a689f9f9b23e
Gilbok Lee [Tue, 2 Jun 2020 08:46:07 +0000 (08:46 +0000)]
Merge "spec: Add typelib" into tizen
Gilbok Lee [Tue, 2 Jun 2020 08:18:39 +0000 (17:18 +0900)]
spec: Add typelib
- for python, C# bindings
Change-Id: Ib9b8e1f99d22c439e3593853e67a9740e09bcd5d
Eunhye Choi [Wed, 27 May 2020 11:28:40 +0000 (20:28 +0900)]
uridecodebin3: check state in src_pad_added callback
- avoid deadlock during autoplugging
- get state before linking between urisourcebin and decodebin3
to avoid resync state change of the uridecodebin3
Change-Id: I7f0fb12527c13b9c09ee4506d24fbfa168a06986
INSUN PYO [Wed, 22 Apr 2020 04:27:51 +0000 (13:27 +0900)]
Remove dependency of development package for opus
- It caused that unnecessary packages were installed in platform binary.
: gst-plugins-base -> opus-devel -> libogg-devel -> glibc-devel -> linux-kernel-headers
Change-Id: I03e4459711932566f392d3610867f295b6bdf3ad
Eunhye Choi [Fri, 17 Apr 2020 08:41:44 +0000 (17:41 +0900)]
decodebin3: fix condition about factory selection
Change-Id: I6b23a227bf928ce140dca3959dff848373860462
Jeongmo Yang [Tue, 14 Apr 2020 06:07:27 +0000 (15:07 +0900)]
Enable opus plugin
[Version] 1.16.2-5
[Profile] Common
[Issue Type] Update
Change-Id: I77da25a258416d035e534266be03d5166e85b764
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
Eunhye Choi [Mon, 13 Apr 2020 04:17:20 +0000 (13:17 +0900)]
decodebin3: add request resource signal
- decodebin3 does not export the candidate decoder information
to application. so request-resource signal is added to acquire
resource before creating hw decoder.
Change-Id: Iecbd4667bdc9c47106843e2f181e8cf310278231
Eunhye Choi [Fri, 10 Apr 2020 11:41:00 +0000 (20:41 +0900)]
decodebin3: add property to select sw decoder
- separate the force-sw-decoders property for video and audio.
Change-Id: Ia36ec554ed6454aa397b1b76439df0ca198c532b
Víctor Manuel Jáquez Leal [Sun, 3 Nov 2019 14:52:28 +0000 (15:52 +0100)]
playbin3: handle GST_PLAY_FLAG_FORCE_SW_DECODERS
In decodebin3 and uridecodebin3 the `force-sw-decoders` boolean property is
added. In uridecodebin3 it is only a proxy property which will forward
the value to decodebin3.
When decodebin3 has `force-sw-decoders` disabled, it will filter out in its
decoder and decodable factories those elements within the 'Hardware'
class, at reconfiguring output stream.
playbin3 adds by default GST_PLAY_FLAG_FORCE_SW_DECODERS, and sets
`force-sw-decoders` property accordingly to its internal uridecodebin, also
filters out the 'Hardware' class decoder elements when caps
negotiation.
cherry pick from upstream
commit id:
f4bcf8290b3568690dacf0dac95af7f7036f7110
Change-Id: I8ccce2c891a58e272452b1af66967f037c57d571
Víctor Manuel Jáquez Leal [Sun, 3 Nov 2019 14:16:04 +0000 (15:16 +0100)]
playback: add GST_PLAY_FLAG_FORCE_SW_DECODERS enum
This flag would be common either for playbin2 and playbin3.
cherry-pick from upstream
commit id:
d50c71708a1dd2be120bc4b46c38cb09084a9cba
Change-Id: I55bb687226b8bb4ab36f518eb6d66e13ca3a25a9
Jeongmo Yang [Wed, 1 Apr 2020 05:41:42 +0000 (14:41 +0900)]
[videofilter] Add new condition in transform function for zero copy buffer
- The input buffer could be zero copy buffer.
- SR32 format is also used.
[Version] 1.16.2-4
[Profile] Common
[Issue Type] Update
Change-Id: Ib3e6ecb0504f2019c2dc032fcb27456b68e2d0f8
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
Gilbok Lee [Mon, 30 Mar 2020 09:07:40 +0000 (18:07 +0900)]
audiomixer/compositor: Disable audiomixer and compositor
Change-Id: Id60626f0e5e3039e7f00f97da2fb160e098bf5ad
Jeongmo Yang [Thu, 5 Mar 2020 07:16:55 +0000 (16:16 +0900)]
[tizenmemory] Fix build warning
- Add annotations for gobject instrospection
- Update Makefile.am to refer GstVideo-1.0.gir
[Version] 1.16.2-3
[Profile] Common
[Issue Type] Update
Change-Id: Ib685fd17f5503442501b42d848fd384fe97f0ed9
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
Jeongmo Yang [Wed, 4 Mar 2020 06:51:35 +0000 (15:51 +0900)]
[cameracontrol] Fix build warning and change interface style like colorbalance
- build warning : return value: Missing (element-type) annotation
[Version] 1.16.2-2
[Profile] Common
[Issue Type] Update
Change-Id: I6ca2dd1de71ec8c7e2062623f13c27cfb7b23ad6
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
Jeongmo Yang [Tue, 3 Mar 2020 03:12:49 +0000 (12:12 +0900)]
[tizenmemory] Set missed flags when map video memory
- gst_buffer_unref() is missed after gst_buffer_ref() while mapping and unmapping video memory,
so, the buffer is not released and it caused underrun of bufferpool.
[Version] 1.16.2-1
[Profile] Common
[Issue Type] Bug fix
Change-Id: I7990bb88c5852999522a8b2b7d1b10b9e9b83fc2
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
Gilbok Lee [Fri, 21 Feb 2020 06:22:40 +0000 (15:22 +0900)]
Merge branch 'tizen_gst_1.16.2' into tizen
Change-Id: Ic7957406bd4feccae8151765c793c34b3c9846e4
Eunhye Choi [Thu, 20 Feb 2020 07:49:41 +0000 (16:49 +0900)]
subparse: fix svace issue
Change-Id: I0008756d0b796b761591a0195fef800db2d02b87
Gilbok Lee [Fri, 17 Jan 2020 07:02:38 +0000 (16:02 +0900)]
Merge branch 'upstream/1.16' into tizen_gst_1.16.2
Change-Id: I1bc8038f8df8189776f4b2d4b70e3822430e840b
Jeongmo Yang [Tue, 4 Feb 2020 03:48:22 +0000 (12:48 +0900)]
[videoconvert] Update converting function for I420toSN12
[Version] 1.12.2-8
[Profile] Common
[Issue Type] Update
Change-Id: I71e33e185881844b18de1321c45f65dbce002a3f
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
Jeongmo Yang [Thu, 23 Jan 2020 09:18:14 +0000 (18:18 +0900)]
videoconvert: Support I420 to SN12 converting on exynos target
[Version] 1.12.2-7
[Profile] Common
[Issue Type] Improvement
Change-Id: If23c5c4d51a018b7bc6446e9584940a87ed26edb
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
Tim-Philipp Müller [Tue, 3 Dec 2019 11:03:11 +0000 (11:03 +0000)]
Release 1.16.2
Tim-Philipp Müller [Tue, 3 Dec 2019 11:03:11 +0000 (11:03 +0000)]
Update docs
Tim-Philipp Müller [Tue, 3 Dec 2019 11:03:09 +0000 (11:03 +0000)]
Update translations
Sebastian Dröge [Wed, 2 Oct 2019 20:21:09 +0000 (23:21 +0300)]
glfilters: Don't use static variables for storing per-element state
Seungha Yang [Fri, 8 Nov 2019 08:28:44 +0000 (17:28 +0900)]
xvimagepool: Update size, stride, and offset with allocated XvImage
Memory layout of XvImage might be different from that of GstVideoInfo.
If so, the image size, stride, and offset would be wrongly informed.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/677
Seungha Yang [Fri, 8 Nov 2019 08:33:17 +0000 (17:33 +0900)]
xvimagepool: Fix confusing debug message for padding size
Edward Hervey [Fri, 8 Nov 2019 14:13:59 +0000 (15:13 +0100)]
video-converter: Fix RGB-XYZ-RGB conversion
The matrices were in the wrong order.
Instead of the conversion matrix being
_ XYZ_TO_RGB_output * RGB_TO_XYZ_input * input_RGB
It was
_ RGB_TO_XYZ_input * XYZ_TO_RGB_output * input_RGB
Seungha Yang [Thu, 7 Nov 2019 13:00:03 +0000 (22:00 +0900)]
audiorate: Update next_offset per rate change
To support runtime audio samplerate change, re-calculate next target offset
per caps. Calculating the next buffer offset using the previous
offset seems to be tricky and rounding error prone.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/693
Seungha Yang [Thu, 7 Nov 2019 12:42:25 +0000 (21:42 +0900)]
Revert "audiorate: accumulate offset by time diff"
This reverts commit
4fa850e3e6c039000fc7f648de238af6c2278469.
The commit would break an constant rate audio stream with gap.
Jochen Henneberg [Mon, 26 Aug 2019 13:03:48 +0000 (15:03 +0200)]
audioringbuffer: Reset reorder flag before check
This function might be revisited with different channel position mapping
while audio source goes into play so the reorder flag needs to be reset
before the checks happen.
Sebastian Dröge [Thu, 14 Nov 2019 11:37:58 +0000 (12:37 +0100)]
audio-buffer: Don't fail to map buffers with zero samples
Instead initialize the map infos, etc to NULL like gst_buffer_map()
would be doing on a zero-sized buffer.
This fixes a crash in audioresample if the first output buffer would
contain zero samples.
Sebastian Dröge [Mon, 28 Oct 2019 12:43:50 +0000 (14:43 +0200)]
videorate: Fix max-duplication-time handling
Previously this would've only set discont=TRUE and then for all future
buffers simply returned immediately.
Instead we also need to
a) drain previous input until its buffer time
b) update next_ts and base_ts accordingly for the gap
c) actually store the new buffer after the gap so it can be used in
the future and so the old buffer before the gap is gone
Also update the unit test accordingly so that it actually tests for this
behaviour. Previously it only tested that after the gap we got no output
at all.
Matthew Waters [Sun, 3 Nov 2019 13:38:18 +0000 (00:38 +1100)]
gl/gbm: ensure we call the resize callback before attempting to draw
Without this, sinks will not be notified about size changes or even the
initial size and would render at 0x0.
Sebastian Dröge [Mon, 21 Oct 2019 13:43:32 +0000 (16:43 +0300)]
video-converter: Use G_N_ELEMENTS instead of writing it out manually
Sebastian Dröge [Mon, 21 Oct 2019 14:40:35 +0000 (17:40 +0300)]
video-converter: Scaling-only fast-paths for planar formats are keeping interlacing
So we can also use them for interlaced content and speed up scaling a
bit.
Sebastian Dröge [Mon, 21 Oct 2019 14:28:46 +0000 (17:28 +0300)]
video-scaler: Correctly handle interlaced vertical scalers in gst_video_scaler_2d()
We need to provide twice as many lines as usual to the scaling function
as every second lines would be skipped.
Without this we read from random memory and produce colorful output and
crashes.
Sebastian Dröge [Mon, 21 Oct 2019 13:43:02 +0000 (16:43 +0300)]
video-converter: Don't use fast-path halfing/doubling rescalers for interlaced planar formats
They will mix lines from the top and bottom field and by that
effectively deinterlace the video, badly.
Sebastian Dröge [Mon, 21 Oct 2019 13:43:02 +0000 (16:43 +0300)]
video-converter: Use interlaced scalers for vertical scaling if needed
Without this, scaling e.g. interlaced UYVY causes corrupted output with
lines as follows: f1 f1 f2 f2, i.e. two lines of each field and only
then the other field.
Joakim Johansson [Thu, 3 Oct 2019 10:03:09 +0000 (12:03 +0200)]
gstrtspconnection: messages_bytes not decreased
The watch->messages_bytes is not decreased when the write operation
from the backlog is only partly successfull.
This commit decreases the watch->messages_bytes for the successfully
sent messages.
Fixes #679
Edward Hervey [Thu, 10 Oct 2019 14:58:26 +0000 (16:58 +0200)]
check: Don't use real audio devices for tests
When checking the behaviour of live seeking on audiomixer or
adder we don't *really* need real audio devices. audiotestsrc
in live mode is enough to test the behaviour of those elements.
Also avoids people repeatedly wasting hours trying to figure out
whether that failing behaviour is due to their code or not.
Tim-Philipp Müller [Tue, 8 Oct 2019 18:35:49 +0000 (19:35 +0100)]
pbutils: add description for CineForm codec
Tim-Philipp Müller [Tue, 8 Oct 2019 18:35:23 +0000 (19:35 +0100)]
riff: add mapping for CineForm codec
Makes CineForm-in-AVI work.
Thibault Saunier [Fri, 27 Sep 2019 14:10:43 +0000 (11:10 -0300)]
glupload: Add VideoMetas and GLSyncMeta to the raw uploaded buffers
This is done by reusing `gst_gl_memory_setup_buffer` avoiding to
duplicate code.
Without a VideoMeta, mapping those buffers lead to GstBuffer mapping the
buffer in system memory even when specifying the GL flags (through the
buffer merging mechanism) making the result totally broken.
Charlie Turner [Fri, 20 Sep 2019 08:48:30 +0000 (09:48 +0100)]
streamsynchronizer: avoid pad destruction races.
Due to the use of {set/get}-element_private methods being used to store
the GstSyncStream in the src and sink pads, and the racey nature of pad
destruction, there are numerous ways we can be bitten by race conditions
in the stream synchronizer. Fix that by tying the pads toghether with
references.
Seungha Yang [Tue, 24 Sep 2019 06:32:33 +0000 (15:32 +0900)]
gst-play: Use gst_print* to avoid broken stdout string on Windows
Equvalant to https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/258
When debug enabled, the debug string might be broken on Windows.
Tim-Philipp Müller [Mon, 23 Sep 2019 10:06:23 +0000 (11:06 +0100)]
Release 1.16.1
Tim-Philipp Müller [Mon, 23 Sep 2019 10:06:23 +0000 (11:06 +0100)]
Update docs
Tim-Philipp Müller [Mon, 23 Sep 2019 10:06:21 +0000 (11:06 +0100)]
Update translations
Marco Felsch [Mon, 19 Nov 2018 16:19:33 +0000 (17:19 +0100)]
video-info: parse field-order for all interleaved formats
The "field-order" is related for all interlace_mode modes except the
"progressive" mode. So instead of or'ing each mode we can use the
already supported GST_VIDEO_INFO_IS_INTERLACED macro.
Doug Nazar [Mon, 2 Sep 2019 20:20:07 +0000 (16:20 -0400)]
meson: Reenable NEON support
Doug Nazar [Tue, 3 Sep 2019 03:25:39 +0000 (23:25 -0400)]
audio-resampler: Update NEON to handle remainders not multiples of 4
If the remainder is not evenly divisable by 4, we'd miss the check
for zero and continue the loop until crashing. Change the branch
to take into account negatives as well.
This more closely matches the SSE loop.
Jonas Larsson [Wed, 28 Aug 2019 18:24:01 +0000 (11:24 -0700)]
eglimage: Fix memory leak
Also free the GstEGLImage struct allocated by g_new0.
Fixes #661
Tim-Philipp Müller [Sun, 8 Sep 2019 00:03:57 +0000 (01:03 +0100)]
tests: fix up valgrind suppressions for glibc getaddrinfo leaks
Make more flexible. There is an extra
gethostbyname2_r@@GLIBC_2.2.5 (getXXbyYY_r.c:217)
in the trace on the build bots (F30).
Fixes the -base and -good valgrind jobs on the 1.16 branch CI.
Hou Qi [Wed, 21 Aug 2019 11:04:56 +0000 (19:04 +0800)]
audiodecoder: fix ctitical info assertion 'GST_IS_CAPS (dec->priv->ctx.caps)' failed
Matroskademux will send gap event when lag of video and audio is over 3 seconds.
audiodecoder needs to handle gap event and set default output caps.
Only audio info is set, while output caps is ignored. This cause the assertion failed.
Need to fill output caps in gst_audio_decoder_negotiate_default_caps() with
negotiated caps to avoid critical info printed when check it later.
Mike Gorse [Sat, 24 Aug 2019 12:23:34 +0000 (12:23 +0000)]
Docs: add GL_CFLAGS to GTK_DOC_CFLAGS
Otherwise introspection may fail because wayland-client.h cannot be found.
Sebastian Dröge [Fri, 16 Aug 2019 08:58:28 +0000 (11:58 +0300)]
video-frame: Take TFF flag from the video info if it was set in there
The caps and thus the video info have preference. If the field order is
set in there then it applies to all frames.
This works around issues where the tff field order is only set in the
caps but not additionally in the buffer flags.
Xavier Claessens [Fri, 9 Aug 2019 20:04:03 +0000 (16:04 -0400)]
glcolorconvert: Fix external-oes shader
The #extention must come before 'precision highp float;'.
Closes: #650
Tim-Philipp Müller [Sun, 11 Aug 2019 13:16:51 +0000 (14:16 +0100)]
video-color: keep UNKNOWN colorimetry define automatically up-to-date
Follow-up to !310 and helps with backport commits like !360
Arun Raghavan [Fri, 24 May 2019 13:22:58 +0000 (15:22 +0200)]
video-color: Deal with NULL colorimetry while converting from string
This came up in the case where v4l2 sets caps with colorimetry=NULL, and
then tries to parse back the colorimetry, causing a crash in
gst_video_get_colorimetry() because of g_str_equal(). We fix this by
making sure the only caller of the function never calls it with a null
colorimetry string.
Arun Raghavan [Fri, 24 May 2019 14:35:08 +0000 (16:35 +0200)]
video-color: Fix unknown colorimetry checking
Also drop some deadcode #defines.
Sebastian Dröge [Wed, 7 Aug 2019 10:01:07 +0000 (13:01 +0300)]
video-anc: Fix ADF detection when trying to extract data from vanc
Previously we were checking offset 1 twice, but the second check
should've been for offset 2.
Lucas Stach [Tue, 28 May 2019 15:43:25 +0000 (17:43 +0200)]
gl/wayland: fix wayland event source burning CPU
Commit
c71dd72b "gl/wayland: fix glib mainloop integration" was overeager
in removing the poll result test from the check function. This caused
dispatch to be called even if no new events are available on the
Wayland connection, which in turn would wake up the glib mainloop,
causing effectively a tight loop without ever blocking on the poll.
Fixes #603
Martin Liska [Wed, 24 Jul 2019 08:12:17 +0000 (10:12 +0200)]
Add used attribute in order to make NEON detection working with -flto.
Sebastian Dröge [Thu, 18 Jul 2019 05:46:42 +0000 (08:46 +0300)]
audioaggregator: Split getcaps() function into two
One for convert pads and one for normal sink pads.
Sebastian Dröge [Tue, 16 Jul 2019 07:40:16 +0000 (10:40 +0300)]
videoaggregator: We can only convert the format if a GstVideoAggregatorConvertPad is used
Otherwise assume that we can at least support any framerate.
Sebastian Dröge [Tue, 16 Jul 2019 07:34:24 +0000 (10:34 +0300)]
audioaggregator: Always take first configure pad's rate and downstream caps into account when calculating allow sink caps
While we can convert between all formats apart from the rate, we
actually need to make sure that we comply with a) the rate of the first
configured pad and b) also all the allowed rates from downstream.
Sebastian Dröge [Tue, 16 Jul 2019 07:02:08 +0000 (10:02 +0300)]
audioaggregator: If we don't have a GstAudioAggregatorConvertPad, don't assume that we can actually convert
Mathieu Duponchelle [Mon, 15 Jul 2019 14:08:34 +0000 (16:08 +0200)]
audioaggregator: always use downstream's rate requirements
We were previously only fixating the rate in the getcaps
implementation when downstream was requiring a discrete value,
causing negotiation to fail when upstream was capable of rate
conversion, but not made aware that it had to occur.
Instead of fixating the rate, we can simply update our sink
template caps with whatever GValue the downstream caps are holding
as their rate field.
Allows negotiation to successfully complete with pipelines such as:
audiotestsrc ! audio/x-raw, rate=48000 ! audioresample ! audiomixer name=m ! \
audio/x-raw, rate={800, 1000} ! autoaudiosink \
audiotestsrc ! audio/x-raw, rate=44100 ! audioresample ! m.
Göran Jönsson [Fri, 28 Jun 2019 05:22:17 +0000 (07:22 +0200)]
rtspconnection: data-offset increase not set
Göran Jönsson [Thu, 27 Jun 2019 06:04:07 +0000 (08:04 +0200)]
rtpsconnection: Fix number of n_vectors
Body_offset mean that so much data have been written.
Without this patch n_vectors somtimes becomes one more than it should
and then there will be an vector that have a random size causing
writev_bytes to cause a "Bad address" error.
Nirbheek Chauhan [Wed, 26 Jun 2019 11:35:04 +0000 (17:05 +0530)]
video-color: Add compile-time assert for ColorimetryInfo enum
A comment is not sufficient because this will break when
cherry-picking or backporting commits.
Doug Nazar [Wed, 26 Jun 2019 07:39:54 +0000 (03:39 -0400)]
audiodecoder: Fix leak on failed audio gaps
If we fail to process the gap event we need to unref the event or
we end up with a leak.
Philippe Normand [Sun, 23 Jun 2019 10:34:49 +0000 (11:34 +0100)]
glupload: Keep track of cached EGLImage texture format
This patch fixes the following critical warning:
CRITICAL **: 11:33:32.843: Unknown GL format 0x0 provided
It would happen during the setup of a second pipeline involving the DMABuf
uploader, typically with a v4l2src element. The warning was raised because the
uploader had a cached EGLImage already filled but the formats were not
synchronized accordingly.
Song Bing [Mon, 17 Jun 2019 23:46:21 +0000 (16:46 -0700)]
playsink: Set ts-offset to text sink.
Find right text sink to set the ts-offset.
Håvard Graff [Tue, 10 Oct 2017 13:45:14 +0000 (15:45 +0200)]
meson.build: use join_paths() on prefix
So that "/" are correct on Windows.
Nirbheek Chauhan [Thu, 13 Jun 2019 21:02:50 +0000 (02:32 +0530)]
compositor: Copy frames as-is when possible
The blend functions for alpha formats need to do more work than just
doing a memcpy, so we can do a memcpy when we know that a blend is not
actually needed.
1080p AYUV ! compositor background=transparent ! fakesink - 56% faster
Specifically, when we don't draw the background and the first pad we
draw completely covers the output frame, we can just copy it as-is.
The rest of the pads (if any) will get composited on top normally.
Tim-Philipp Müller [Mon, 24 Jun 2019 09:44:29 +0000 (09:44 +0000)]
compositor: fix compiler warning due to c99-ism
Nirbheek Chauhan [Thu, 13 Jun 2019 15:00:03 +0000 (20:30 +0530)]
compositor: Sprinkle some const in prototypes
These helper functions don't edit the rectangles passed in.
Nirbheek Chauhan [Sun, 26 May 2019 15:47:20 +0000 (17:47 +0200)]
compositor: Skip background if transparent and obscured
If the background is transparent and obscured by a pad that may or may
not have alpha, we can still skip drawing it entirely
AYUV 1080p ! compositor background=transparent ! fakesink - 75% faster
Nirbheek Chauhan [Sun, 26 May 2019 15:30:12 +0000 (17:30 +0200)]
compositor: Skip the background when not visible
We don't need to waste time drawing the background when one of the
pads completely covers the output and there's no alpha on the pad or
in the video format. Speedups:
I420 1080p ! compositor ! fakesink - 72% faster
I420 1080p ! compositor background=black ! fakesink - 45% faster
Nirbheek Chauhan [Sun, 26 May 2019 16:28:18 +0000 (18:28 +0200)]
compositor: Don't log per-frame under GST_INFO
Nirbheek Chauhan [Sun, 26 May 2019 15:29:23 +0000 (17:29 +0200)]
compositor: Factor-out rectangle-obscuring check
We're going to use this for checking if one of the pads obscures the
background.
Nirbheek Chauhan [Sun, 26 May 2019 13:23:25 +0000 (15:23 +0200)]
compositor: Add some comments, remove outdated ones
Nirbheek Chauhan [Sun, 26 May 2019 13:23:06 +0000 (15:23 +0200)]
compositor: Remove unused function argument
Eike Hein [Tue, 11 Jun 2019 19:45:09 +0000 (04:45 +0900)]
rtspconnection: Start CSeq at 1
RFC 7826 recommends (but does not require) starting at 0,
but at least one known server implementation fails to copy
request sequence numbers <1 into responses due to an
incorrect null check.
The server known to exhibit this behavior is the Parrot
Streaming Server, serving video from their UAV devices.
A fix has been submitted upstream as well:
https://github.com/Parrot-Developers/librtsp/pull/2
The Parrot developers are known to have tested with LibVLC.
In WireShark debugging, LibVLC appears to start with a CSeq
of 2, which is likely why this bug went unnoticed.
This reverts
487595a7d6e2d, which set this to 0 citing the
RFC. The switch to 0 was thus a recent one; it's therefore
possible server implementors relied on the previous
GStreamer client behavior in their tests as well.
Fixes #624.
Haihua Hu [Mon, 3 Jun 2019 07:51:02 +0000 (15:51 +0800)]
viv-fb: fix build break for GST_GL_API
Need include config.h in gstglwindow_viv_fb_egl.c
Matthew Waters [Fri, 7 Jun 2019 16:57:37 +0000 (02:57 +1000)]
gl/tests: fix shader creation tests part 2
Continuation of
4fd7a2c783e96e5ebec513f8fd178ba34b2a527f
We check the availability of the high precision floats in GLSL shaders
which involves an OpenGL call and thus is required to be executed on the
OpenGL thread.
The tests were not respecting that and could fail on more strict
drivers.
Tests update for
675415bf2ea9ddc75ea5e5b6eae9ae942c19d6dc
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/590
Matthew Waters [Fri, 7 Jun 2019 10:51:39 +0000 (20:51 +1000)]
gl/tests: fix shader creation tests
We check the availability of the high precision floats in GLSL shaders
which involves an OpenGL call and thus is required to be executed on the
OpenGL thread.
The tests were not respecting that and could fail on more strict
drivers.
Tests update for
675415bf2ea9ddc75ea5e5b6eae9ae942c19d6dc
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/590
Fernando Herrrera [Wed, 5 Jun 2019 12:25:34 +0000 (13:25 +0100)]
wayland: set the event queue also for the xdg_wm_base object
Daniel Klamt [Tue, 28 May 2019 15:04:51 +0000 (17:04 +0200)]
Added GI annotation for gstvideoaffinetransformationmeta apply_matrix
The problem is that Gobject Introspections does not understand the const
gfloat matrix[16] as an matrix but as an array of gfloasts but as just
one gfloat.
To fix this i added the annotation to the parameter
descriptions.
Sebastian Dröge [Fri, 24 May 2019 13:54:50 +0000 (15:54 +0200)]
compositor: Replace shift and conv opcodes by convh in BGRA SOURCE operator
Potentially speeds up processing a bit.
Sebastian Dröge [Fri, 24 May 2019 13:53:55 +0000 (15:53 +0200)]
compositor: Remove unneeded left shift for ARGB/AYUV SOURCE operator
The alpha value is already in the lower 8 bits from the beginning in
this case.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/610