Sebastian Dröge
c5b081edc2
videoencoder: Add min-force-key-unit-interval property
...
This allows configuring the minimum interval between subsequent
force-key-unit requests and prevents a big bitrate increase if a lot of
key-units are requested.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/684 >
2020-06-05 10:04:43 +00:00
Sebastian Dröge
6260c4be7e
videoencoder: When pushing headers as part of a keyframe mark the first header as keyframe
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/684 >
2020-06-05 10:04:43 +00:00
Sebastian Dröge
401d56a6a7
videoencoder: Handle all matching force-keyunit events at once
...
Previously we only handled one event at a time, which could lead to the
following two suboptimal situations:
- frame 0 at 20ms, frame 1 at 40ms and two force-keyunit events at 10ms
and 15ms. We would create a new keyframe for both of the frames.
- 100 force-keyunit events with running-time NONE would cause all
following 100 frames to be made into a keyframe.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/684 >
2020-06-05 10:04:43 +00:00
Sebastian Dröge
9b1f1f431a
videoencoder: Sort force-keyunit-events by their running time
...
That way we can more easily work with the whole list without iterating
over all of the elements.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/684 >
2020-06-05 10:04:43 +00:00
Stéphane Cerveau
42dcbcd61f
video-hdr: fix memset warning
...
Fix warning on fedora arm64 target
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/685 >
2020-06-05 08:13:32 +00:00
Nicolas Dufresne
8e3c4a5d5a
video: Fix NV12_64Z32 number of component
...
This format has 3 components, just like NV12.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/686 >
2020-06-04 20:12:59 +00:00
Thibault Saunier
c2610d7f41
doc: Add a minimal GstVideoMultiviewFlagsSet documentation
2020-06-03 22:44:24 -04:00
Sebastian Dröge
fb7ab33e03
videoencoder: Simplify header buffer metadata updating
...
Instead of doing a shallow copy of the list just to call make_writable()
on each buffer, do that inline in the same loop and modify the list
contents.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/683 >
2020-06-03 16:21:41 +03:00
Sebastian Dröge
caaa5ac864
video: Use GQueue instead of plain GList in a few places
...
Also not optimal but at least simplifies the code a bit and doesn't
require g_list_length() and g_list_append() in a few places.
For 2.0 there are some more candidates to change but unfortunately
they're currently part of the API.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/683 >
2020-06-03 16:21:41 +03:00
Sebastian Dröge
4fcc1121e6
video-format: RGB16/15 are not 16 bit per component but only 5.333 and 5
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/682 >
2020-06-02 14:38:55 +00:00
Guillaume Desmottes
02fd2f12f9
audio: add gst_audio_make_raw_caps()
...
More binding friendly version of GST_AUDIO_CAPS_MAKE().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/676 >
2020-06-02 11:57:42 +00:00
Guillaume Desmottes
58a6303a5f
audio-format: remove empty space prefix from GST_AUDIO_FORMATS_ALL
...
This space prevent deserialization using gst_value_deserialize().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/676 >
2020-06-02 11:57:42 +00:00
Guillaume Desmottes
75411ce1e7
audio-format: add gst_audio_formats_raw()
...
The existing GST_AUDIO_FORMATS_ALL macro is not binding friendly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/676 >
2020-06-02 11:57:42 +00:00
Guillaume Desmottes
84e0689d58
video: add gst_video_make_raw_caps()
...
More binding friendly version of GST_VIDEO_CAPS_MAKE().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/676 >
2020-06-02 11:57:42 +00:00
Guillaume Desmottes
f42e67c639
video-format: add gst_video_formats_raw()
...
The existing GST_VIDEO_FORMATS_ALL macro is not binding friendly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/676 >
2020-06-02 11:57:42 +00:00
Matthew Waters
51b057ea26
glcontext/eagl: handle sending one message during shutdown
...
gst_gl_window_quit() will attempt to send a message but will be called
from GstGLContext's finalize handler and so the weak ref that backs
gst_gl_window_get_context will return NULL as it has already been
cleared. We need that context in send_message_async to decide whether
to run the provided callback immediately or queue in GCD
This is the equivalent commit for iOS as:
7f59cefafb
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/618
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/681 >
2020-06-02 14:32:03 +10:00
Matthew Waters
c506adc950
gl/eagl: don't access UIkit objects on the main thread
...
This means we cannot access [view layer] or view.bounds from the OpenGL
thread. This also means that we need to call the main thread when
setting the window handle. However, we cannot perform that
synchronously as that may deadlock with the application performing the
set_window_handle() call.
We need to defer the actual update and run it asynchronously and wait
for the window handle update internally at each point it is needed.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/372
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/681 >
2020-06-02 14:32:03 +10:00
Matthew Waters
a57380d718
gl/ios: fix typo GS_GL -> GST_GL
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/681 >
2020-06-02 14:32:03 +10:00
Víctor Manuel Jáquez Leal
165f801bb0
libs: gl: silence gir compiler
...
There were a couple complains of the gir compiler on these gstgl
files.
* Added namespace to public macros, even if they are helpers.
* Removed a misused private tag
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/678 >
2020-05-29 13:35:56 +02:00
Seungha Yang
4a774e878f
audiosink: Keep baseclass extensible
...
Add a structure for future extension.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/716
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/547 >
2020-05-28 19:14:29 +09:00
Stéphane Cerveau
c7a956aede
video-anc: init type before g_once_init_enter
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/675 >
2020-05-27 17:13:35 +02:00
Stéphane Cerveau
be3745cb92
video-hdr: fix typo
...
fix typo in video_hdr_ascii_string_to_unsigned
method name.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/675 >
2020-05-27 16:04:29 +02:00
Guillaume Desmottes
eed54928c8
gl: egl: fix gtk-doc doc start code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/664 >
2020-05-19 10:37:59 +02:00
Guillaume Desmottes
6a42e2e176
gl: workaround gir warning
...
The gir generator wrongly assume that the vfunc
GstGLFilterClass.filter() and the method gst_gl_filter_filter_texture()
are related. As a result it complains about not matching argument names.
Workaround this by naming both of their arguments input and output.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/664 >
2020-05-19 10:37:59 +02:00
Guillaume Desmottes
c3e98ad2d0
gl: egl: add missing gir annotations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/664 >
2020-05-19 10:37:59 +02:00
Guillaume Desmottes
41f9d9103c
gl: x11: skip gst_gl_display_x11_new_with_display() from gir
...
The X11 Display type is not usable in gir.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/664 >
2020-05-19 10:17:21 +02:00
Nicola Murino
f98f834014
riff-media: add H.265
...
Closes #359
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/43 >
2020-05-18 09:51:23 +00:00
Matthew Waters
d0de7cba48
gl/display/egl: ensure debug category is initialized
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/662 >
2020-05-14 16:41:00 +10:00
Sebastian Dröge
a0258e3e6b
gldisplay: Fix context leak when removing a context from the display
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/654 >
2020-05-06 14:46:17 +00:00
Edward Hervey
0fe052db61
gldisplay: Fix list iteration
...
We were never moving past the first entry it seems...
CID #1461275
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/654 >
2020-05-06 14:46:17 +00:00
Sebastian Dröge
47e2c4cc10
discoverer: Check sinkpad existence before retrieving caps
...
Otherwise we would error out without releasing the caps first.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/655 >
2020-05-06 11:52:20 +03:00
Sebastian Dröge
ceb705837d
discoverer: Ensure that we have fixed, non-empty caps before passing passing to is_subtitle_caps()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/655 >
2020-05-06 11:51:00 +03:00
Sebastian Dröge
350a7197e7
discoverer: Try to get negotiated caps first on pad-added and only then fall back to a caps query
...
The negotiated caps will be more accurate and are fixed caps in any
case.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/498
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/655 >
2020-05-06 11:46:25 +03:00
Sebastian Dröge
637bbac622
videoaggregator: Don't crash when setting pad properties after the aggregator was finalized
...
The application might still have a strong reference to a pad and change
properties, which should work without crashing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/649 >
2020-05-01 10:41:29 +00:00
Sebastian Dröge
380dffb0d0
Add missing colons to Since markers in the docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/648 >
2020-05-01 10:08:40 +03:00
Philippe Normand
03c4a819d3
gl: Add since tags for new glbasesrc base class
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/647 >
2020-04-30 18:00:19 +01:00
Philippe Normand
101868c5d0
gst/gl: Add documentation for new scroll API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/647 >
2020-04-30 18:00:19 +01:00
Philippe Normand
ed910e6cb8
navigation: Add since tag for new API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/647 >
2020-04-30 18:00:19 +01:00
He Junyan
1781718a71
libs: pbutils: Add High throughput scc extensions profile idc(IDC 11)
...
It is compitable with scc and we can use scc's function to identify it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/645 >
2020-04-28 21:26:29 +08:00
He Junyan
f43a3e1f7d
libs: pbutils: select extension profile by profile idc.
...
the old manner does not consider the profile idc. The profile idc should
play an more important role in recognizing the profile than the other
information. And there is no need to mix profiles of different extensions
together to find the closest profile when the bits stream is not standard,
different extensions support different features and should not be mixed.
The correct way should be recognize the extension category by profile idc
firstly, and then find the closest profile.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/645 >
2020-04-28 20:45:04 +08:00
He Junyan
5a1f526d22
libs: pbutils: rename the GstH265FormatRangeExtensionProfile.
...
GstH265FormatRangeExtensionProfile declares the common bits used
for not only format range extensions profiles, but also for several
different h265 extension profiles, such as high throughput, screen
content coding extensions, etc. And So the old name is not proper.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/645 >
2020-04-28 18:19:06 +08:00
Guillaume Desmottes
4610bb59ac
opusdec: prevent 'channels=0' in caps
...
gst_opus_channel_positions() should fail if caps contains "channels=0".
Prevent index underflow when indexing gst_opus_channel_positions[] (CID 1462590).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/644 >
2020-04-27 10:07:33 +02:00
Matthew Waters
6a1e575345
glbasesrc: avoid deadlock when querying for OpenGL context
...
Continuation of:
a4e49ba8c9
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/642
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/643 >
2020-04-27 11:36:02 +10:00
Matthew Waters
5d47b8e232
gl: fix application context querying between elements
...
Fixes error introduced by:
a4e49ba8c9
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/642
Using the application GL context as the local GL context is not going to
work very well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/643 >
2020-04-27 11:36:02 +10:00
Matthew Waters
a4e49ba8c9
gl: avoid deadlock querying for OpenGL context
...
If there are two elements and threads attempting to query each other for
an OpenGL context. The locking may result in a deadlock.
We need to unlock each element's context_lock when querying another
element for the OpenGL context in order to allow any other element to
take the lock when the other element is querying for an OpenGL context.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/642 >
2020-04-24 18:03:16 +10:00
Sebastian Dröge
98bb7d0c2e
video-anc: Register an init function for Bar meta
...
The init function is mandatory and we keep around uninitialized memory
otherwise.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/747
2020-04-19 18:29:18 +03:00
He Junyan
4216bd6eb2
libs: gl: Fix a context leak when display_create_context failed
2020-04-08 15:26:23 +08:00
Thibault Saunier
fef4717770
pbutils: Add EncodingProfile serialization support
2020-04-03 11:21:14 -03:00
Thibault Saunier
d794e5389e
pbutils: Support for variable framerate in the encoding serialization
2020-04-03 11:21:14 -03:00
Jan Schmidt
5b720702cf
video-hdr: Fix a docs typo (x -> y)
2020-04-02 23:30:57 +11:00