Tim-Philipp Müller
69534fe9a0
gl: Update for g_type_class_add_private() deprecation in recent GLib
2018-06-24 01:37:08 +02:00
Seungha Yang
5934fb1bb6
videoaggregator: Fix string leak
...
gst_video_colorimetry_to_string() returns allocated memory which
must be freed.
https://bugzilla.gnome.org/show_bug.cgi?id=796596
2018-06-15 10:17:14 -04:00
Tim-Philipp Müller
ecd58f2775
videoaggregator: log an ERROR if we're going to return a flow error
2018-06-11 13:48:09 +01:00
Olivier Crête
91692122d3
videoaggregator: Remove custom get_next_time implementation
...
GstAggregator now has the same thing in the simple implementation.
https://bugzilla.gnome.org/show_bug.cgi?id=795486
2018-05-16 22:24:18 +02:00
Sebastian Dröge
c43bae0a42
videoaggregator: Set video-meta option on buffer pool configuration correctly
...
CID 1435451
2018-05-07 17:53:32 +03:00
Sebastian Dröge
4291ee94c4
videoaggregator: First override set/get_property vfuncs, then install properties
...
Gives assertions otherwise.
2018-05-07 09:17:16 +02:00
Sebastian Dröge
73f843539d
videoaggregator: Some more documentation fixes
2018-05-06 16:49:57 +02:00
Mathieu Duponchelle
1492fb4ef9
videoaggregator: expose converter-config on convert pads
...
This in order to allow users control over the conversion
process, for example the scaling method.
2018-05-06 16:45:43 +02:00
Sebastian Dröge
049877e5d0
videoaggregator: Fix up documentation some more
2018-05-06 16:43:32 +02:00
Sebastian Dröge
9d6d46f4cb
videoaggregator: Clean up header and update docs a bit
2018-05-06 16:22:01 +02:00
Sebastian Dröge
dbb21615c4
videoaggregator: Rename get_output_buffer() to create_output_buffer()
...
For consistency with GstAudioAggregator.
2018-05-06 16:05:28 +02:00
Sebastian Dröge
429e6c8532
videoaggregator: Validate pool configuration and create a new pool if it just does not work
...
Also pass the given allocator to the pool if one is set.
2018-05-06 15:49:36 +02:00
Sebastian Dröge
33a8e28207
videoaggregator: Switch to a GstVideoAggregatorConvertPad subclass
...
This moves all the conversion related code to a single place, allows
less code-duplication inside compositor and makes the glmixer code less
awkward. It's also the same pattern as used by GstAudioAggregator.
2018-05-06 15:22:51 +02:00
Sebastian Dröge
d37e778692
glmixer: Include string.h for memset()
...
gstglmixer.c:143:5: error: implicit declaration of function ‘memset’ [-Werror=implicit-function-declaration]
memset (prepared_frame, 0, sizeof (GstVideoFrame));
^~~~~~
gstglmixer.c:143:5: error: incompatible implicit declaration of built-in function ‘memset’ [-Werror]
2018-05-05 17:48:30 +02:00
Sebastian Dröge
b73b7230d2
videoaggregator: Remove sink_non_alpha_caps class field
...
This is only used for caching reasons and should never actually be in
the public API. If this is ever a bottleneck later, caching around a
class private struct could be implemented.
2018-05-05 16:32:19 +02:00
Sebastian Dröge
233ee9f077
videoaggregator: Move needs_alpha pad field to the private struct
...
And also trigger renegotiation if the value has changed.
https://bugzilla.gnome.org/show_bug.cgi?id=795836
2018-05-05 16:32:19 +02:00
Sebastian Dröge
1c8110ab17
videoaggregator: Move aggregated_frame and the pad buffer into the private struct
...
The aggregated_frame is now called prepared_frame and passed to the
prepare_frame and cleanup_frame virtual methods directly. For the
currently queued buffer there is a method on the video aggregator pad
now.
2018-05-05 16:32:19 +02:00
Sebastian Dröge
404b802846
glmixer: Move frame/texture mapping/unmapping into prepare/clean_frame
...
Previously we assumed that the texture ID is going to be valid even
after unmapping the frame, as it was immediately unmapped before even
being used. Now we only unmap once we're done with the texture.
2018-05-05 12:17:34 +02:00
Sebastian Dröge
8b231d502c
videoaggregator: Move property storage to private pad struct
2018-05-04 17:18:12 +02:00
Sebastian Dröge
51c359dda6
videoaggregator: Rename ignore-eos pad property to repeat-after-eos
...
What it does is to repeat the last frame forever after EOS, it does not
literally ignore EOS.
2018-05-04 16:46:00 +02:00
Sebastian Dröge
a240fb7997
videoaggregator: Move GstChildProxy implementations into leaf classes
...
Not every subclass will want to expose the pads via the interface.
https://bugzilla.gnome.org/show_bug.cgi?id=739011
2018-05-04 16:13:16 +02:00
Sebastian Dröge
c13357f22b
videoaggregator: Get rid of separate header for the aggregator pad
2018-05-04 15:35:52 +02:00
Xavier Claessens
9ae9d2686f
Meson: Generate pc file for all plugins in bad
...
https://bugzilla.gnome.org/show_bug.cgi?id=794568
2018-04-25 11:08:09 +01:00
Tim-Philipp Müller
b69e7eef8b
video: GST_EXPORT -> GST_URI_VIDEO_BAD_API
...
We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.
2018-03-13 13:36:33 +00:00
Mathieu Duponchelle
b59da8eced
Port to latest GstAggregator segment API
...
The aggregator segment is now exposed on the src pad
https://bugzilla.gnome.org/show_bug.cgi?id=793946
2018-03-01 15:37:06 +01:00
Tim-Philipp Müller
ea30f86ccc
Dist compositor crossfade example and pythons script for meson build
...
And add to autotools build so it gets disted.
2018-02-15 18:51:44 +00:00
Edward Hervey
3b9843d13b
Update ORC fallback disted code
2018-02-14 14:36:00 +01:00
Vincent Penquerc'h
6df4606044
glvideomixer: fix vertex_buffer leak
...
We call the base class first as this will remove the pad from
the aggregator, thus stopping misc callbacks from being called,
one of which (process_textures) will recreate the vertex_buffer
if it is destroyed
https://bugzilla.gnome.org/show_bug.cgi?id=760873
2018-01-29 09:58:00 +00:00
Mathieu Duponchelle
a4f609f847
videoaggregatorpad: implement skip_buffer
...
Skip buffers from sources with a framerate higher than the output
framerate.
https://bugzilla.gnome.org/show_bug.cgi?id=781928
2018-01-23 20:19:38 +01:00
Tim-Philipp Müller
944f74b834
Update for renamed aggregator pad API
...
https://bugzilla.gnome.org/show_bug.cgi?id=791204
2018-01-23 09:01:00 +00:00
Tim-Philipp Müller
2b933a2827
Remove GstAggregator from -bad, moved to core
...
https://bugzilla.gnome.org/show_bug.cgi?id=739010
2017-12-02 16:14:36 +00:00
Edward Hervey
eb491b9a62
videoaggregator: Don't leak string
...
The result of gst_video_colorimetry_to_string () needs to be free'd
2017-11-25 12:49:43 +01:00
Mathieu Duponchelle
14f886b7b0
aggregator: Remove klass->sinkpads_type
...
This posed problems for the python bindings (and possibly others).
Instead, subclasses now use add_pad_template_with_gtype.
https://bugzilla.gnome.org/show_bug.cgi?id=789986
2017-11-22 16:52:29 +01:00
Tim-Philipp Müller
96e9eb1fd3
videoaggregator: use new gst_element_foreach_sink_pad()
...
Instead of gst_aggregator_iterate_sinkpads() which will
soon be removed.
https://bugzilla.gnome.org/show_bug.cgi?id=785679
2017-11-02 13:02:14 +00:00
Tim-Philipp Müller
e42344a25c
videoaggregator: add CAST macros
2017-11-02 13:02:14 +00:00
Tim-Philipp Müller
b798cfbece
gl: use new gst_element_foreach_sink_pad()
...
Instead of gst_aggregator_iterate_sinkpads() which will
soon be removed.
https://bugzilla.gnome.org/show_bug.cgi?id=785679
2017-11-02 12:47:28 +00:00
Tim-Philipp Müller
eca9739bca
videoaggregator: drop ABI compat in padding for new struct member
...
Don't really have to do that while it's in -bad and most users
are in-tree anyway.
2017-11-02 11:57:24 +00:00
Tim-Philipp Müller
6c79262b6e
videoaggregator: use GstFlowReturn for flow returns
2017-10-13 11:46:09 +01:00
Ponnam Srinivas
0ffa10652a
glmixer: Unmap video frame in error case
...
https://bugzilla.gnome.org/show_bug.cgi?id=788127
2017-09-26 11:12:04 +03:00
Haihua Hu
0fc911c7fe
glvidemixer: need reconfigure output gemotry after caps renegotiated
2017-09-21 11:59:32 +10:00
Matthew Waters
12c8a7c0af
Revert "glvideomixer: need update output geometry after src caps reconfigure"
...
This reverts commit d6e538dc56
.
2017-09-21 11:59:22 +10:00
Haihua Hu
88fff68fc0
glvideomixer: need update output geometry after src caps reconfigure
...
Need update output geometry when sink caps changed and use
gst_structure_set to update caps if structure is fixed
https://bugzilla.gnome.org/show_bug.cgi?id=787820
2017-09-21 11:56:13 +10:00
Nicolas Dufresne
c1f524f3a8
Request minimum buffer even if need_pool is FALSE
...
When tee is used, it will not request a pool, but still it wants to
know how many buffers are required.
https://bugzilla.gnome.org/show_bug.cgi?id=730758
2017-09-06 14:19:37 -04:00
Julien Isorce
3573238683
gl: do not include GL headers in public gstgl headers
...
Except for gst/gl/gstglfuncs.h
It is up to the client app to include these headers.
It is coherent with the fact that gstreamer-gl.pc does not
require any egl.pc/gles.pc. I.e. it is the responsability
of the app to search these headers within its build setup.
For example gstreamer-vaapi includes explicitly EGL/egl.h
and search for it in its configure.ac.
For example with this patch, if an app includes the headers
gst/gl/egl/gstglcontext_egl.h
gst/gl/egl/gstgldisplay_egl.h
gst/gl/egl/gstglmemoryegl.h
it will *no longer* automatically include EGL/egl.h and GLES2/gl2.h.
Which is good because the app might want to use the gstgl api only
without the need to bother about gl headers.
Also added a test: cd tests/check && make libs/gstglheaders.check
https://bugzilla.gnome.org/show_bug.cgi?id=784779
2017-08-22 10:00:19 +01:00
Mathieu Duponchelle
5322026885
videoaggregator: use colorimetry from find_best_format.
...
This increases the chances that we won't need to do any conversion
for a given pad.
https://bugzilla.gnome.org/show_bug.cgi?id=786078
2017-08-10 13:55:59 +02:00
Mathieu Duponchelle
7305f50512
videoaggregator: improve find_best_format heuristic.
...
The goal here is to minimize the work needed to bring all images
to a common format. A better criteria than the number of pads
with a given format is the number of pixels with a given format.
https://bugzilla.gnome.org/show_bug.cgi?id=786078
2017-08-10 13:55:59 +02:00
Mathieu Duponchelle
663ef174d8
compositor: improve conversion debugging
...
https://bugzilla.gnome.org/show_bug.cgi?id=786078
2017-08-10 13:55:59 +02:00
Sebastian Dröge
088a5cec64
videoaggregator: Don't mix up width and height
...
CID 1416129
2017-08-04 11:08:18 +03:00
Tim-Philipp Müller
afb652c169
examples: fix compiler warning in compositor crossfade example
...
warning: control reaches end of non-void function
2017-08-03 20:21:17 +01:00
Tim-Philipp Müller
61b54cdb40
compositor: update disted orc fallback files
2017-08-03 20:14:41 +01:00