- Jun 19, 2020
-
-
Thibault Saunier authored
Part-of: <gst-editing-services!191>
- Jun 17, 2020
-
-
This is a regression introduced in c12b8478, this commit simply brings back the previous behavior. Fixes gst-editing-services#113 Part-of: <gst-editing-services!185>
-
Thibault Saunier authored
Stopping to do it at the bin description level but properly plugging them where they are needed and cleanly ghosting the pads where it makes most sense. This introduces support for GES to request pads on the most upstream element in case no static pad can be ghosted. Part-of: <gstreamer/gst-editing-services!187>
-
- Jun 16, 2020
-
-
Thibault Saunier authored
Part-of: <!187>
-
Thibault Saunier authored
Telling the user if it is legal to have an internal source in that particular GESTrackElement. Part-of: <gstreamer/gst-editing-services!187>
-
Thibault Saunier authored
Part-of: <!189>
-
Thibault Saunier authored
Part-of: <!189>
-
- Jun 09, 2020
-
-
Thibault Saunier authored
-
Thibault Saunier authored
-
- Jun 08, 2020
-
-
Guillaume Desmottes authored
Tests are assuming video is I420 with a specific chroma and colorimetry but were not actually enforcing it. Fixes needed as I420 will no longer be the first video format, see gst-plugins-base!689 Part-of: <gstreamer/gst-editing-services!184>
-
- Jun 04, 2020
-
-
Mathieu Duponchelle authored
and update plugins cache Part-of: <!182>
-
Thibault Saunier authored
-
-
- Jun 03, 2020
-
-
Guillaume Desmottes authored
Part-of: <gstreamer/gst-editing-services!181>
-
- May 27, 2020
-
-
CID 1461701 Part-of: <!180>
-
CID 1463853 Part-of: <gstreamer/gst-editing-services!180>
-
- May 26, 2020
-
-
Thibault Saunier authored
Part-of: <gstreamer/gst-editing-services!178>
-
Thibault Saunier authored
Part-of: <gstreamer/gst-editing-services!178>
-
- May 25, 2020
-
-
We need to ensure that clips duration is set after time effects are added and we now need to serialize effects inpoints and max duration. Part-of: <gstreamer/gst-editing-services!177>
-
Henry Wilkes authored
These notes cover time coordinates in GES, time effects, time translations. It also goes into why keyframes will not work with non-linear time effects. Part-of: <gstreamer/gst-editing-services!177>
-
Henry Wilkes authored
ges_uri_clip_asset_get_duration does not tell us what the duration in the timeline needs to be. Especially when we have time effects, or effects with finite max-durations. So we should no longer expect the duration to stay the same when replacing assets. Instead, we just check that the new max-duration would be compatible with the current in-point (which was not checked before), and the clip would not be totally overlapped if its duration-limit changes. This is based on the assumption that each source is replaced one-to-one in its track. If a source is replaced with nothing in the same track, this check may be a little too strong (but still mostly weaker than before). However, problems could occur if track selection does something unexpected, such as placing the new source in a track not previously occupied. Part-of: <gstreamer/gst-editing-services!177>
-
Henry Wilkes authored
Part-of: <gstreamer/gst-editing-services!177>
-
Henry Wilkes authored
The out-point, which is an internal time, is used instead of the duration for determining the control binding value at the end of the element. Also, allow the user to switch off the auto-clamping of control sources if they are not desired. And allow them to clamp specific control sources individually. Also, fix a lot of memory leaks related to control sources. In particular, releasing the extra ref gained by source in g_object_get (binding, "control-source", &source, NULL); Part-of: <gstreamer/gst-editing-services!177>
-
Henry Wilkes authored
Make sure the layer exists before we try to remove the grouped clips from it. Part-of: <gstreamer/gst-editing-services!177>
-
Henry Wilkes authored
If a layer priority sits between the priorities of two layers in the timeline, i.e. it references a gap in the timeline's layers, then ges_timeline_append_layer will never fill this gap and create the desired layer, so the edit in timeline-tree would loop forever. So a check was added to avoid this. This would be a usage error, but a user can reasonably end up with a gap in their layers if they remove a layer from the timeline. Part-of: <gstreamer/gst-editing-services!177>
-
Henry Wilkes authored
Unlike ges_container_add, this lets you set the index and will check that track selection did not fail. This is useful for time effects whose addition would create an unsupported timeline configuration. Also can use the clip add error in ges_timeline_add_clip to let the user know when adding a clip to a layer that its in-point is set larger than the max-duration of its core children. Part-of: <gstreamer/gst-editing-services!177>
-
Henry Wilkes authored
When trimming the start of a clip, we want to set the in-point of its children such that whatever data was at the timeline time T still remains at the timeline time T after the trim, where T = MAX (prev_start, new_start) Part-of: <gstreamer/gst-editing-services!177>
-
Henry Wilkes authored
The new in-point should be the media position corresponding to the media position. media_duration_factor is no longer needed. Part-of: <gstreamer/gst-editing-services!177>
-
Henry Wilkes authored
The duration-limit case was missing a 'break;' statement. Part-of: <gstreamer/gst-editing-services!177>
-
Henry Wilkes authored
Add methods to convert between the timeline time coordinates and the internal time coordinates of a track element in a clip, taking time effects into account. Part-of: <gstreamer/gst-editing-services!177>
-
- May 22, 2020
-
-
Henry Wilkes authored
Allow the user to register a child property of a base effect as a time property. This can be used by GES to correctly calculate the duration-limit of a clip when it has time effects on it. The existing ges_effect_class_register_rate_property is now used to automatically register such time effects for rate effects. Part-of: <gstreamer/gst-editing-services!177>
-
Henry Wilkes authored
Added more errors to GES_ERROR for when edits fail (other than programming or usage errors). Also promoted some GST messages if they related to a usage error. Also added explanation of timeline overlap rules in user docs. Part-of: <gst-editing-services!177>
-
- May 19, 2020
-
-
We have little control over those as they are generated by streamsynchronizer in a not reproducible way Part-of: <gstreamer/gst-editing-services!175>
-
Part-of: <gstreamer/gst-editing-services!175>
-
And fix typos. Part-of: <gstreamer/gst-editing-services!175>
-
This was complexifying the implementation for very little gain. Each source type should ideally have its own API. In that patch we make it so we do not have to subclass anything but instead use GESAsset to pass information about how the pipeline should look like. Part-of: <!175>
-
Otherwise there is a pretty rare race where we get the _initialize_stack_func executed leading to the stack set up and the source pushing buffers before the composition source pad is activated, and a STREAM_ERROR is reported as we end up pushing a buffer to a flushing pad. Thanks rr chaos mode for showing that improbable race Part-of: <gstreamer/gst-editing-services!175>
-
While this is not correct, we can't predict from what thread a GstElement will be disposed as it might still be referenced by a GstMessage somewhere which is freed by, any thread. In this specific case we can assume that GES user will already have let go his timeline reference and we should not avoid assert in that specific case as it should be safe to let the timeline be destroyed at that point. Part-of: <gstreamer/gst-editing-services!175>
-
Part-of: <gstreamer/gst-editing-services!175>
-