mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-13 15:12:58 +00:00
ges:validate: Allow setting keyframes using the clips directly
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/204>
This commit is contained in:
parent
c834ce5bc4
commit
a3a4fb1a3d
2 changed files with 27 additions and 3 deletions
|
@ -171,7 +171,19 @@ _ges_add_remove_keyframe_from_struct (GESTimeline * timeline,
|
|||
GET_AND_CHECK ("timestamp", GST_TYPE_CLOCK_TIME, ×tamp, done);
|
||||
|
||||
element =
|
||||
GES_TRACK_ELEMENT (ges_timeline_get_element (timeline, element_name));
|
||||
(GESTrackElement *) ges_timeline_get_element (timeline, element_name);
|
||||
|
||||
if (GES_IS_CLIP (element)) {
|
||||
GList *tmp;
|
||||
for (tmp = GES_CONTAINER_CHILDREN (element); tmp; tmp = tmp->next) {
|
||||
if (ges_timeline_element_lookup_child (tmp->data, property_name, NULL,
|
||||
NULL)) {
|
||||
gst_object_replace ((GstObject **) & element, tmp->data);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!GES_IS_TRACK_ELEMENT (element)) {
|
||||
*error =
|
||||
|
|
|
@ -895,9 +895,21 @@ GES_START_VALIDATE_ACTION (_set_control_source)
|
|||
TRY_GET ("interpolation-mode", G_TYPE_STRING, &interpolation_mode, NULL);
|
||||
|
||||
element =
|
||||
GES_TRACK_ELEMENT (ges_timeline_get_element (timeline, element_name));
|
||||
(GESTrackElement *) (ges_timeline_get_element (timeline, element_name));
|
||||
if (GES_IS_CLIP (element)) {
|
||||
GList *tmp;
|
||||
for (tmp = GES_CONTAINER_CHILDREN (element); tmp; tmp = tmp->next) {
|
||||
if (ges_timeline_element_lookup_child (tmp->data, property_name, NULL,
|
||||
NULL)) {
|
||||
gst_object_replace ((GstObject **) & element, tmp->data);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
REPORT_UNLESS (GES_IS_TRACK_ELEMENT (element), beach,
|
||||
"Could not find element %s", element_name);
|
||||
"Could not find track element element %s (got %" GST_PTR_FORMAT ")",
|
||||
element_name, element);
|
||||
|
||||
if (!binding_type)
|
||||
binding_type = g_strdup ("direct");
|
||||
|
|
Loading…
Reference in a new issue