Thibault Saunier
63ce3c8da6
nlecomposition: Let parent compositions tell if they will send initialization seeks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5035 >
2024-10-19 10:30:05 +00:00
Thibault Saunier
daa1519e3d
nle: Add validate tests support
...
This allows us to start testing internal of the elements by linking
the nle pluging directly with validate and implement validate
tests with specific action types.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5035 >
2024-10-19 10:30:05 +00:00
Thibault Saunier
a39ac67d70
nlecomposition: Fix extra bus message unref
...
We were dropping a message for which we already passed our reference
while linking up the method.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5035 >
2024-10-19 10:30:05 +00:00
Edward Hervey
b7828d237b
nlecomposition: Don't leak QoS events
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7276 >
2024-07-30 14:22:54 +00:00
Edward Hervey
43bf898f2d
nlecomposition: Don't leak atomic rc box
...
* gst_structure_get => increases ref
* query_ancestors_position: There are two refs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7116 >
2024-07-01 12:25:41 +00:00
Edward Hervey
8addeae87b
nlecomposition: Don't leak message
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7116 >
2024-07-01 12:25:41 +00:00
Thibault Saunier
a342d14ba9
ges: Add support for sources reverse playback
...
It introduces a `reverse` property at the `nlesource` level which will
basically reverse playback of the clip.
We guarantee that outside that clip, the data flow looks like it was
playing forward as we add an 'identity' element with `single-segment=true`.
This start making use of the newly introduced concept of
`CHILD_PROP_FLAG_SET_ON_ALL_INSTANCES` as it is natural that
doing `source_clip.set_child_property("reverse", True)` will make
the whole clip go reverse, meaning that all the GESSource children
properties will be set. To set an individual source "reverse" child
property as the desired effect.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/24
Depends on: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/451
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/918 >
2024-04-18 00:19:31 +00:00
Thibault Saunier
5051a34318
nlecomposition: Do not forward QoS event while setting up the new stack
...
Otherwise we might end up dropping buffers even before prerolling the sources
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6032 >
2024-01-31 19:43:06 +00:00
Thibault Saunier
1627a944e7
nlecomposition: Use a bus message to retrieve pipeline position
...
Instead of recursing up, as this will allow to have nested composition
run inside auxiliary pipelines. It is a bit cleaner also.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5983 >
2024-01-31 17:37:41 +00:00
Thibault Saunier
79c211a5fb
nlecomposition: Use a message to check if we need an initialization seek
...
Subtimeline might be in an auxiliary pipeline which make the current
recurse up approach not working.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5983 >
2024-01-31 17:37:41 +00:00
Thibault Saunier
37602d1d02
ges: Keep internal stream selection messages internally
...
Timeline StreamCollection are very specific to inner working of nested
timelines and should not interfere with the usual stream selection
process and are now handled as element messages.
Stream selection inside `nleobject` need to be handled internally by the
application or GES itself so we should just drop all those as they would
interfere and fail if they are exposed to other elements.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5983 >
2024-01-31 17:37:41 +00:00
Thibault Saunier
b14207cc9e
nle: Use a message based mechanism to detect parent nleobject duration
...
Recursing up is pretty ugly and will fail when we start using ancillary
pipelines for sources in nle, using a message/event based mechanism is
a common pattern that is much cleaner.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5983 >
2024-01-31 17:37:41 +00:00
Philippe Normand
20340e71f2
gesbasebin: Fix a couple leaks
...
Also clean-up unused queue when we failed to link a track to it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5981 >
2024-01-25 09:54:19 +00:00
Thibault Saunier
bc42175fd3
nlecomposition: Pass object to debug messages in more places
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5981 >
2024-01-25 09:54:19 +00:00
Thibault Saunier
8cf17e5d0d
ges: Add scaler in the 'gap filling' clip on too short nested timelines
...
So we can respect user request on source that can scale
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5735 >
2024-01-16 20:13:23 +00:00
Thibault Saunier
e3be7e3162
nlecomposition: Simplify the way we ensure stream-start is sent
...
stream-start should always be sent once at the beginning of the stream,
so we should make sure it is pushed at the very beginning and after
resets (going back to READY).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5858 >
2024-01-06 13:22:19 +00:00
Thibault Saunier
7911a580c2
nle: composition: Avoid running query before being constructed
...
`gst_pad_create_stream_id` runs a URI query on the element which
triggers traces for not constructed objects which fails in rust tracers
as object should have names in all traces.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4975 >
2023-07-06 05:48:31 +00:00
Thibault Saunier
a5d5dd2ab4
ges: basebin: Handle removed tracks
...
Cleaning up the pads and elements linked to that track.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4882 >
2023-06-29 19:24:37 +00:00
Thibault Saunier
a8b3e6122f
gessrc: Remember the URI set by user
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4882 >
2023-06-29 19:24:37 +00:00
Thibault Saunier
50393a809d
gessrc: Remove timeline from self when disposing
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4882 >
2023-06-29 19:24:37 +00:00
Tim-Philipp Müller
f8817a8e8d
ges: nle: drop use of GSlice allocator
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3784 >
2023-02-03 17:48:09 +00:00
Edward Hervey
615fbb3f10
ges-demux: Don't leak string
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3428 >
2022-11-18 07:22:23 +00:00
Thibault Saunier
5724a64660
nlecomposition: Minor debug enhancement
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3000 >
2022-09-20 13:23:02 +00:00
Thibault Saunier
6a4425e46a
meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
...
Removing some copy pasted code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970 >
2022-09-01 21:17:35 +00:00
Stéphane Cerveau
ef9962d66a
nle: clear seek event properly
...
Use gst_clear_event instead of g_clear_object
avoiding a failing gobject unref
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2047 >
2022-03-29 16:50:13 +00:00
Thibault Saunier
01e70e3552
Move files from gst-editing-services into the "subprojects/gst-editing-services/" subdir
2021-09-24 16:15:30 -03:00