Jan Schmidt [Mon, 10 Aug 2020 17:45:32 +0000 (03:45 +1000)]
appsrc: Post a bus error if a segment can't be applied
When applying segments from the input samples, post a bus
error and fail loudly if the segment fails to configure, instead of
just posting debug output.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/783>
Matthew Waters [Tue, 11 Aug 2020 06:53:51 +0000 (16:53 +1000)]
build/gl: add top-level include files for sub-libraries
Makes gir happy
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/809
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/784>
Josh Matthews [Mon, 10 Aug 2020 16:18:31 +0000 (16:18 +0000)]
Add required dependencies of cocoa GL example for linking.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/782>
Sebastian Dröge [Mon, 10 Aug 2020 06:59:09 +0000 (09:59 +0300)]
pkg-config: Fix dependency typo in uninstalled gstreamer-gl-* pc files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/781>
Sebastian Dröge [Fri, 7 Aug 2020 07:18:34 +0000 (10:18 +0300)]
audioaggregator: Add support for new sample selection API
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/805
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/780>
Sebastian Dröge [Fri, 7 Aug 2020 06:34:37 +0000 (09:34 +0300)]
videoaggregator: Update for additional info parameter to the "samples-selected" signal
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/590
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/780>
Josh Matthews [Thu, 6 Aug 2020 14:22:27 +0000 (14:22 +0000)]
Fix incorrect pkgconfig description.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/779>
Guillaume Desmottes [Thu, 23 Jul 2020 09:48:55 +0000 (19:48 +1000)]
gl: move each gl platform specific API to its own gir
With contributions from:
Thibault Saunier <tsaunier@igalia.com>
Matthew Waters <matthew@centricular.com>
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/651
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/661>
Guillaume Desmottes [Wed, 13 May 2020 08:08:25 +0000 (10:08 +0200)]
gl: egl: add missing gir annotations
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/661>
Mathieu Duponchelle [Wed, 5 Aug 2020 14:54:19 +0000 (16:54 +0200)]
videoaggregator: update to new samples selection API
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/778>
Jordan Petridis [Mon, 3 Aug 2020 16:53:58 +0000 (19:53 +0300)]
tests/check/elements/audioresample.c: avoid implict int ot float conversion
Also use doubles instead so the calculation won't overflow
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/773>
Jordan Petridis [Tue, 4 Aug 2020 12:17:35 +0000 (15:17 +0300)]
alsamidisrc: fix compiler warning with clang 10
```
../subprojects/gst-plugins-base/ext/alsa/gstalsamidisrc.c:201:54: error: converting the result of '<<' to a boolean always evaluates to false [-Werror,-Wtautological-constant-compare]
snd_seq_ev_schedule_real (&ev, alsamidisrc->queue, SND_SEQ_TIME_MODE_ABS,
^
/usr/include/alsa/seq_event.h:215:34: note: expanded from macro 'SND_SEQ_TIME_MODE_ABS'
```
The ALSA API expects 0 or 1 here and will then add the flags accordingly,
and that's also what other code using this API does.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/777>
Xavier Claessens [Tue, 4 Aug 2020 11:11:54 +0000 (07:11 -0400)]
Meson: find_program() will return gst-tester from subproject
gstreamer now use override_find_program() so it won't return the system
version.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/776>
Nirbheek Chauhan [Tue, 4 Aug 2020 00:02:08 +0000 (05:32 +0530)]
meson: Only look for Objective-C compiler on macOS/iOS
On Windows, MinGW-GCC Objective-C compilers can be in PATH and mess up
the build since they may not match the CPU family of the C/C++
compilers we are using.
Also require them on macOS/iOS, because they should always be present.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/88
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/774>
Tim-Philipp Müller [Fri, 31 Jul 2020 23:22:28 +0000 (00:22 +0100)]
examples: compositor: fix build with older GLib versions
Don't use g_hash_table_steal_extended() which was only
added in 2.58.
Fixes #801
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/772>
Thibault Saunier [Fri, 17 Jul 2020 01:56:47 +0000 (21:56 -0400)]
compositor: Frames where we introduce alpha can't obscure anything
When a pad has alpha != 1.0 it means that the resulting frames will
contain alpha and thus can't fully obscure with a lower zorder.
Also simplifies the other checks as blending with an OVER or on a
transparent is not a no-op as previously assumed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/764>
Mathieu Duponchelle [Wed, 1 Jul 2020 01:47:00 +0000 (03:47 +0200)]
videoaggregator: implement samples selection API
Call gst_aggregator_selected_samples() after filling the queues
(but before preparing frames).
Implement GstAggregator.peek_next_sample.
Add an example that demonstrates usage of the new API in combination
with the existing buffer-consumed signal.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/728>
Thibault Saunier [Fri, 24 Jul 2020 12:33:23 +0000 (08:33 -0400)]
encoding: Support more topologies in profile_from_discoverer()
Previous implementation was only working when the stream was inside a
container, this refactoring allows using virtually any stream as input.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/766>
Seungha Yang [Thu, 30 Jul 2020 10:16:06 +0000 (19:16 +0900)]
glwindow/winrt: Increase timeout value to 15 seconds
5 seconds might not be enough value for timeout in case an application
is running on a device with very limited computing power.
Note that ANGLE uses 10 seconds timeout value. So even if a timeout
happens here, it's also ANGLE's timeout condition as well
(meaning that bad things will happen either way)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/769>
Sebastian Dröge [Mon, 27 Jul 2020 15:55:35 +0000 (18:55 +0300)]
audioaggregator: Only check downstream caps when handling CAPS events if we didn't negotiate with downstream yet
If we already negotiated with downstream there is not point in checking
if the caps are supported. We already know that this is the case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/768>
Sebastian Dröge [Mon, 27 Jul 2020 15:49:48 +0000 (18:49 +0300)]
audioaggregator: Check all downstream allowed caps structures if they support the upstream rate
Otherwise it might happen that downstream prefers a different rate (i.e.
puts it into the first structure) and also supports other rates, but
audioaggregator would then fail negotiation.
Also this now correctly handles downstream returning a range of
supported rates.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/795
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/768>
Stéphane Cerveau [Thu, 23 Jul 2020 14:52:11 +0000 (16:52 +0200)]
meson: add a plugin summary
This summary displays a list of plugins which
have been enabled.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/765>
Thibault Saunier [Sat, 4 Jul 2020 16:33:20 +0000 (12:33 -0400)]
encodebin: Fix and refactor smart encoding
It was not working properly and the implementation of the smartencoder
element was weird. This introduce a number of changes (which are all
in one single commit because they basically all work together and lead
to basically reimplementing the element):
* Make smartencoder a bin so that the reencoding chain of elements are
inside of it instead of not having any parent. Those elements were not
be visible when dumping the pipeline which was very confusing.
* Make encodebin create the right encoder with a capsfilter (and parser)
to properly enforce the format specified by the user, and so that the
encoder properties specified in the encoding profile are respected.
* Use `decodebin` to do the decoding instead of selecting a decoder
ourself and not plug any parser etc...
* Ensure that negotiated format in the sinkpad of smart encoder is fixed
through time when the user requested a non dynamic output
* Add a parser at the beginning of the smart encoder
* Handle errors when reencoding
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/751>
Thibault Saunier [Sat, 4 Jul 2020 16:32:26 +0000 (12:32 -0400)]
streamsplitter: Forward STREAM_START to all branchs
Otherwise the branch that get selected later won't receive it ever.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/751>
Thibault Saunier [Sat, 4 Jul 2020 16:29:06 +0000 (12:29 -0400)]
streamsplitter/combiner: Drain encoder before switching branch
Otherwise we miht have frames queued in the encoder from the old branch
that do not get encoded/muxed when they should.
The implementation is a bit 'weird' but the rational and solution
is documented in the code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/751>
Thibault Saunier [Sat, 4 Jul 2020 16:20:44 +0000 (12:20 -0400)]
encodebin: Rebuilt internal state when swicthing to avoid-reencoding
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/751>
Matthew Waters [Wed, 15 Jul 2020 07:51:18 +0000 (17:51 +1000)]
rtpbasepayload: place twcc-ext-id behind environment variable
Adding properties for each and every rtp header extension is not
scalable and a new interface will be implemented for the general case
(https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/777).
Set the environment variable "GST_RTP_ENABLE_EXPERIMENTAL_TWCC_PROPERTY"
to any value to reenable the short-lived twcc-ext-id property.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/761
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/756>
Olivier Crête [Thu, 16 Jul 2020 20:25:15 +0000 (16:25 -0400)]
videorate: Error out on streams with no way to guess framerate
This is better than going into an infinite loop.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/761>
Olivier Crête [Thu, 16 Jul 2020 20:04:23 +0000 (16:04 -0400)]
videorate: Assert on invalid result from internal code
Letting this through instead results in an infinite loop where
the exact same buffer gets pushed out ad infinitum.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/761>
Olivier Crête [Thu, 16 Jul 2020 02:54:55 +0000 (22:54 -0400)]
videorate: Add test that reproduces infinite loop
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/761>
Olivier Crête [Mon, 6 Jul 2020 18:46:33 +0000 (14:46 -0400)]
alsadeviceprovider: Remove redundant start function
The ALSA provider doesn't provider live monitoring, so don't
pretend otherwise.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/735>
Matthew Waters [Thu, 16 Jul 2020 06:31:28 +0000 (16:31 +1000)]
Revert "gstgldisplay: Add public foreign_display property"
This introduced a possible regression where the EGL display connection
could be leaked when a foreign native display (x11, wayland, etc) could
create a non-foreign EGL display that would never be destroyed.
The underlying problem needed to be solved in a different way. See
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/640
for more details.
This reverts commit
2e686b0dad9700b10d91da5e91f34849fa7d32ae.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/758>
Silvio Lazzeretti [Thu, 16 Jul 2020 12:34:51 +0000 (14:34 +0200)]
audioutilsprivate: restore thread priority before ending
The priority of the thread that executes audioringbuffer_thread_func
is incremented on Windows by the usage of the AvSetMmThreadCharacteristics
API. This change has to be restored, as described on the documentation
of the API (https://docs.microsoft.com/en-us/windows/win32/api/avrt/nf-avrt-avsetmmthreadcharacteristicsw#remarks),
with a call to the AvRevertMmThreadCharacteristics. If this is not done,
a handle will be leaked.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/760>
Seungha Yang [Fri, 17 Jul 2020 09:48:15 +0000 (18:48 +0900)]
audioutilsprivate: Don't try to load avrt for UWP application
All APIs in avrt.h are desktop only.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/763>
Matthew Waters [Thu, 16 Jul 2020 08:07:34 +0000 (18:07 +1000)]
build/gl: remove unused cocoa/win32 header variables
We don't install any cocoa/win32 specific headers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/759>
Havard Graff [Tue, 7 Apr 2020 09:00:39 +0000 (11:00 +0200)]
test/rtp: use the proper _INIT for initializing rtp/rtcp buffer structs.
Fixes -Wmissing-field-initializers in Clang.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/757>
Havard Graff [Wed, 12 Feb 2020 13:48:36 +0000 (14:48 +0100)]
rtpbasedepayload: test warning fixes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/757>
Nicolas Dufresne [Wed, 15 Jul 2020 02:03:39 +0000 (22:03 -0400)]
doc: Update cache with new raw pixel format
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/754>
Nicolas Dufresne [Wed, 15 Jul 2020 01:43:56 +0000 (21:43 -0400)]
video: Add support for linear 32x32 NV12 tiles
This adds linear 32x32 NV12 based tiles. This format is notably used by
Allwinner VCU and exposed in V4L2 as being "SUNXI Tiled" format. In this
patch we generalize the plane info calculation so we can share this part
with the 4L4 variant.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/754>
Nicolas Dufresne [Tue, 14 Jul 2020 15:29:57 +0000 (11:29 -0400)]
doc: Update cache after adding a new pixel format
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/753>
Nicolas Dufresne [Tue, 14 Jul 2020 14:42:01 +0000 (10:42 -0400)]
rawvideoparse: Fix tiling support
When using tile format, the stride has a different meaning. It used
the MSB and LSB 16bits to encode respectively the width and height in
number of tiles.
This issue was introduce with commit
e5b70d384c which was fixing
missing size recalculation when strides and offset is updated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/753>
Nicolas Dufresne [Mon, 13 Jul 2020 20:18:29 +0000 (16:18 -0400)]
video: Add NV12_4L4 tile format
This format is produced by Verisillicon VC8000D VPU decoder, it is a simple 4x4
tiling layout in a linear way.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/753>
Aaron Boxer [Tue, 16 Jun 2020 15:44:08 +0000 (11:44 -0400)]
video: allow frame copy destination to have dimensions smaller than source
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/707>
Matthew Waters [Tue, 14 Jul 2020 04:06:58 +0000 (14:06 +1000)]
examples/gl/qt: silence compiler warnings
-Waggregate-return: used by some Qt clases extensively and not super
useful for this example. Supress it.
warning: "GL_GLEXT_VERSION" redefined: Perform the same workaround as
qmlglsink by defining the old gl/GL.h header guard if the new GL/gl.h
guard exists.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/752>
Santiago Carot-Nemesio [Wed, 27 Nov 2019 15:51:55 +0000 (16:51 +0100)]
rtcpbuffer: Notify error in case packet can not be added to an RTCP compound packet
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/476>
Sebastian Dröge [Fri, 10 Jul 2020 11:57:53 +0000 (14:57 +0300)]
video-converter: Add scaling fast-path for GBRA format
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/684
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/749>
Seungha Yang [Fri, 10 Jul 2020 10:49:56 +0000 (19:49 +0900)]
glwindow/winrt: Add warning message if window is being closed from a UI thread
All UI elements will follow Single-Threaded Apartments (STA) model.
As a result, we should access them from dedicated UI thread.
Due to the nature of the threading model, ANGLE will wait the UI
thread while closing internal window/swapchain objects.
A problem here is that when destroying GstGLWindow from the UI thread,
it will wait GstGLContext's internal thread. Meanwhile, the GstGLContext's
internal thread will be blocked because ANGLE wants to access the UI thread.
That will cause a deadlock or exceptions.
In short, application should not try to call
gst_element_set_state(pipeline, GST_STATE_NULL) from a UI thread.
That's a limitation of current implementation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/745>
Seungha Yang [Thu, 9 Jul 2020 13:23:33 +0000 (22:23 +0900)]
glwindow/winrt: Add window resize event handler
GstGLWindow implmentaion should be able to report native window size
and also it need to handle resize event for glimagesink.
Note that GstD3D11Window implementation was referenced for this change.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/745>
Seungha Yang [Thu, 9 Jul 2020 10:51:57 +0000 (19:51 +0900)]
glwindow/winrt: Move to c++
For native window size query, c++ API is much convenient than c API
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/745>
Seungha Yang [Thu, 9 Jul 2020 17:46:56 +0000 (02:46 +0900)]
appsrc: Fix annotations
Don't put double ':' there
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/663>
Seungha Yang [Sat, 16 May 2020 17:44:42 +0000 (02:44 +0900)]
tests: appsrc: Add unit test for custom segment
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/663>
Seungha Yang [Sat, 16 May 2020 17:29:39 +0000 (02:29 +0900)]
appsrc: Add support for custom GstSegment
Add property "handle-segment-change" for user to allow pushing
custom segment event. For now, this property can work only for
time format GstSegment.
This property can be useful in case application controls timeline
of stream such as there is timestamp discontinuity but playback is
expected to be continuous. Multi-period scenario of MPEG-DASH is an
example of this use case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/663>
Thibault Saunier [Thu, 9 Jul 2020 15:05:35 +0000 (11:05 -0400)]
pbutils: Do not restrict number of similar profiles in a container
We have the notion of presence, and when the user want to be in control
it is totally legitimate for him to have several occurrences of a
similar profile
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/746>
Nicolas Dufresne [Thu, 9 Jul 2020 17:13:14 +0000 (13:13 -0400)]
videoconverter: Relax frame size checks
Since we are using VideoMeta, the converter (similarly to the video_frame_copy
utility) should have no issue dealing with frames that are slightly larger.
This situation occure as some element will use padded width/height for
allocation, which results in a VideoMeta width/height being larger then the
display width/height found in the negotiated caps.
Fixes #790
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/747>
Sebastian Dröge [Thu, 9 Jul 2020 09:45:27 +0000 (12:45 +0300)]
audioaggregator: Fix negotiation with downstream if there is no peer yet
get_allowed_caps() will return NULL, which is not a problem in itself.
Just take the template caps for negotiation in that case instead of
erroring out.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/744>
Tim-Philipp Müller [Wed, 8 Jul 2020 15:48:30 +0000 (16:48 +0100)]
meson: set release date from .doap file for releases
And fix up DOAP file XML. Parser would complain about
unknown entity ! here.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/743>
Tim-Philipp Müller [Wed, 8 Jul 2020 14:15:34 +0000 (15:15 +0100)]
pkgconfig: fix gstreamer-plugins-base-1.0 .pc files for no OpenGL case
Don't put gl into the libraries list if the gst-gl library isn't
being built, and also don't include it in the list of linker flags
then.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/613
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/742>
Seungha Yang [Thu, 2 Jul 2020 13:33:44 +0000 (22:33 +0900)]
glwindow/win32: Fix possible deadlock around key/mouse event handling
Calling gst_gl_window_send_{key,mouse}_event() from GstGLContext
thread might cause a deadlock. Instead, use the dedicated event handling
thread in GstGLDisplay.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/721>
Seungha Yang [Tue, 23 Jun 2020 07:41:31 +0000 (16:41 +0900)]
examples: win32-videooverlay: Add test for fullscreen mode switch
Add test option "--fullscreen" for testing fullscreen mode switch.
When enabled, user can switch fullscreen mode via SPACE key or
right mouse button click.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/721>
Tim-Philipp Müller [Wed, 8 Jul 2020 08:53:42 +0000 (09:53 +0100)]
pkgconfig: fix meson warnings about GL_CFLAGS in gstreamer-gl .pc files
We added GL_CFLAGS in autotools because we unconditionally included OpenGL
headers. We do not do that anymore for a standard #include <gst/gl/gl.h>.
OpenGL headers are only included for the platform specific files
e.g. #include <gst/gl/x11/gstgldisplay_x11.h> which must always be hidden
behind a #if GST_GL_HAVE_WINDOW_X11, or #include <gst/gl/gstglfuncs.h> to
gain access to the contents of the GstGLFuncs object.
Users of our headers must include the necessary include paths for the
platforms they are intending to support.
We might introduce extra .pc files for what GstGL was built against though.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/735
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/741>
Seungha Yang [Tue, 7 Jul 2020 19:08:33 +0000 (04:08 +0900)]
examples/gl/qt: Don't include GL/glx.h unconditionally
The header file might not be available on non-*nix platform.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/740>
Tim-Philipp Müller [Tue, 7 Jul 2020 19:01:33 +0000 (20:01 +0100)]
tests: validate: fix meson warning
meson.build:4: WARNING: Trying to compare values of different types (ExecutableHolder, bool) using ==.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/739>
Edward Hervey [Tue, 7 Jul 2020 12:55:06 +0000 (14:55 +0200)]
docs: Update cache for removed properties
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/738>
Edward Hervey [Tue, 7 Jul 2020 08:57:38 +0000 (10:57 +0200)]
playback: Clarify flag usage for playbin3
Forcing software-decoder has no effect on playbin3 now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/738>
Edward Hervey [Tue, 7 Jul 2020 08:52:40 +0000 (10:52 +0200)]
Revert "playbin3: handle GST_PLAY_FLAG_FORCE_SW_DECODERS"
This reverts commit
f4bcf8290b3568690dacf0dac95af7f7036f7110.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/738>
Edward Hervey [Thu, 2 Jul 2020 12:25:27 +0000 (14:25 +0200)]
decodebin3: Only override the selection if needed
Whenever a new collection is calculated, the internal `select_streams_seqnum`
variable is reset. This ensures that we reliably know whether a select-streams
event has been received for that new collection.
Use that to decide whether we should add previously un-selected streams or new
streams in the current selection
Fixes #784
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/733>
Olivier Crête [Mon, 29 Jun 2020 22:21:23 +0000 (18:21 -0400)]
alsadeviceprovider: Rank down to secondary so PulseAudio can hide it
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/727>
Tim-Philipp Müller [Sat, 4 Jul 2020 11:13:14 +0000 (12:13 +0100)]
Update disted generated orc backup files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/734>
Tim-Philipp Müller [Fri, 3 Jul 2020 23:31:49 +0000 (00:31 +0100)]
meson: add update-orc-dist target
Add target to update backup orc -dist.[ch] files.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/734>
Mathieu Duponchelle [Fri, 3 Jul 2020 22:39:18 +0000 (00:39 +0200)]
video-color.h: fix comment syntax
Vivia Nikolaidou [Fri, 26 Jun 2020 09:22:08 +0000 (12:22 +0300)]
video-converter: Make fast path work for equivalent transfer functions
For example, BT709, BT601, and BT2020_10 all have theoretically
different transfer functions, but the same function in practice. In
these cases, we should use the fast path for negotiating. Also,
BT2020_12 is essentially the same as the other three, just with one more
decimal point, so it gives the same result for fewer bits. This is now
also aliased to the former three.
Also make videoconvert do passthrough if the caps have equivalent
transfer functions but are otherwise matching.
As of the previous commit, we write the correct transfer function for
BT601, instead of the (functionally identical but different ISO code)
transfer function for BT709. Files created using GStreamer prior to that
commit write the wrong transfer function for BT601 and are, strictly
speaking, 2:4:5:4 instead. However, this commit takes care of
negotiation, so that conversions from/to the same transfer function are
done using the fast path.
Fixes #783
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/724>
Vivia Nikolaidou [Thu, 25 Jun 2020 17:56:48 +0000 (20:56 +0300)]
video-color: Add bt601 transfer function
Functionally the same as 709 but technically has a different value, and
external software (e.g. ffmpeg) finds "wrong" values produced by
GStreamer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/724>
Tim-Philipp Müller [Fri, 3 Jul 2020 01:03:24 +0000 (02:03 +0100)]
Back to development
Tim-Philipp Müller [Thu, 2 Jul 2020 23:24:57 +0000 (00:24 +0100)]
Release 1.17.2
Jan Alexander Steffens (heftig) [Wed, 1 Jul 2020 18:14:57 +0000 (20:14 +0200)]
video-anc: Fix gst_buffer_get_video_(afd|bar)_meta
The macros were not passing the meta GType to gst_buffer_get_meta,
rendering them unusable.
Also, the doc comments were specifying parameters meant for the
add_video_X_meta functions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/732>
Mathieu Duponchelle [Wed, 24 Jun 2020 13:59:03 +0000 (15:59 +0200)]
basetextoverlay: mark valign and halign props as DOC_SHOW_DEFAULT
To document it, we instantiate a subclass and inspect the properties
on the created object. Subclasses (in that case textrender) may
initialize those properties with a different default, we do not
want to expose that in the base class documentation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/723>
Havard Graff [Fri, 14 Jun 2019 08:14:23 +0000 (10:14 +0200)]
audio: video: Optimize by using cached quark for meta tag
Avoid taking the global quark lock for every single buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/295>
Havard Graff [Thu, 14 May 2020 13:49:54 +0000 (15:49 +0200)]
rtpbasedepayload: improve logging around negative gaps
When warning, it is important that the log will contain information to
help debug the problem. Sequence-numbers are crucial here.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/725>
Ayush Mittal [Fri, 19 Jun 2020 19:07:09 +0000 (00:37 +0530)]
Added the path property in encoding-target
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/714>
Mathieu Duponchelle [Tue, 23 Jun 2020 15:31:52 +0000 (17:31 +0200)]
docs: add GstVisual to plugins cache
Mathieu Duponchelle [Tue, 23 Jun 2020 00:49:44 +0000 (02:49 +0200)]
docs: mark more plugin API
Thibault Saunier [Tue, 23 Jun 2020 00:10:10 +0000 (20:10 -0400)]
doc: Fix link in tcp multi*sinks.
Mathieu Duponchelle [Mon, 22 Jun 2020 22:01:13 +0000 (00:01 +0200)]
plugins_cache: add base classes
Mathieu Duponchelle [Mon, 22 Jun 2020 22:00:40 +0000 (00:00 +0200)]
meson: mark plugins cache target as always stale
Mathieu Duponchelle [Sat, 20 Jun 2020 23:33:50 +0000 (01:33 +0200)]
docs: mark more types as plugin API
Thibault Saunier [Sat, 20 Jun 2020 02:49:44 +0000 (22:49 -0400)]
doc: Stop documenting properties from parents
Seungha Yang [Tue, 23 Jun 2020 16:57:57 +0000 (01:57 +0900)]
videometa: Fix documentation
Fix gst_video_region_of_interest_meta_add_params to
gst_video_region_of_interest_meta_add_param and add newline to be
more readable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/722>
Sebastian Dröge [Mon, 22 Jun 2020 18:43:44 +0000 (21:43 +0300)]
audiodecoder: Add max-errors property
The number of consecutive decode errors that should be tolerated before
returning flow error should be up to the application, not the element.
Hence max-error should be exposed as a property.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/720>
Haakon Sporsheim [Mon, 22 Jun 2020 18:36:02 +0000 (21:36 +0300)]
videodecoder: Add max-errors property
The number of consecutive decode errors that should be tolerated before
returning flow error should be up to the application, not the element.
Hence max-error should be exposed as a property.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/720>
Seungha Yang [Mon, 22 Jun 2020 10:35:57 +0000 (19:35 +0900)]
glwindow/win32: Chain up mouse event to parent window
Fix a regression of the commit
940c9998e5cfffd90fade8a7f39f29a426e20460
Unlike key event, mouse event will not be chained up to parent window
by DefWindowProc
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/718>
Sebastian Dröge [Mon, 22 Jun 2020 09:32:03 +0000 (12:32 +0300)]
Don't call gst_ghost_pad_construct() anymore
It's deprecated, unneeded and doesn't do anything anymore.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/717>
Jimmy Ohn [Mon, 22 Jun 2020 03:19:28 +0000 (12:19 +0900)]
tools:discoverer: Remove short name for use-cache
There is no need to add short name for 'use-cache'.
The 'async' option already has 'a' short name.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/716>
Hosang Lee [Wed, 17 Jun 2020 00:03:51 +0000 (09:03 +0900)]
subparse: lower text buffer threshold
It is possible for subtitle files to have a string length less than 30.
WebVTT for example may contain only the 'WEBVTT' string in the file
without any cues.
As an example in hls streams, since WEBVTT files can be segmented
like video/audio, some subtitle segments may only contain just the
header string.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/708>
Tim-Philipp Müller [Fri, 19 Jun 2020 23:28:04 +0000 (00:28 +0100)]
Back to development
Tim-Philipp Müller [Fri, 19 Jun 2020 18:16:01 +0000 (19:16 +0100)]
Release 1.17.1
Sebastian Dröge [Fri, 19 Jun 2020 09:17:55 +0000 (12:17 +0300)]
Fix up and add various "Since" markers and other related docs fixes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/713>
Guillaume Desmottes [Thu, 18 Jun 2020 10:15:57 +0000 (12:15 +0200)]
sdp: fix gst_sdp_message_new_from_text() doc
Arguments were in the wrong order in the doc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/711>
Tim-Philipp Müller [Thu, 18 Jun 2020 09:40:14 +0000 (10:40 +0100)]
tests: validate: Add workaround for older meson versions
subproject.get_variable() only has fallback since 0.51
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/710>
Hosang Lee [Thu, 18 Jun 2020 00:01:34 +0000 (09:01 +0900)]
tests: subparse: add test for webvtt without hour component
Test for webvtt without hour component.
mm:ss.000
Thibault Saunier [Mon, 15 Jun 2020 17:22:38 +0000 (13:22 -0400)]
videotestsrc: Do not try to answer the duration query before negotiation
We have no idea at that moment and this code was trying to divide by 0!
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/705>