if (!ges_layer_add_clip (self->priv->copied_layer, nclip)) {
GST_INFO ("%" GES_FORMAT " could not be pasted to %" GST_TIME_FORMAT,
GES_ARGS (element), GST_TIME_ARGS (paste_position));
- gst_object_unref (nclip);
return NULL;
}
* using ges_timeline_element_copy with recurse=TRUE set,
* otherwise it will fail.
*
- * Returns: (transfer none): Paste @self copying the element
+ * Returns: (transfer full): New element resulting of pasting @self
+ * or %NULL
*
* Since: 1.6.0
*/
g_clear_object (&self->priv->copied_from);
- return g_object_ref (res);
+ return res ? g_object_ref (res) : res;
}
/**
]
])
+ def test_copy_paste_overlapping(self):
+ self.track_types = [GES.TrackType.AUDIO]
+ super().setUp()
+ clip = self.append_clip()
+
+ copy = clip.copy(True)
+ self.assertIsNone(copy.paste(copy.props.start))
+ self.assertTimelineTopology([
+ [
+ (GES.TestClip, 0, 10),
+
+ ]
+ ])
+ copy = clip.copy(True)
+ self.assertIsNotNone(copy.paste(copy.props.start + 1))
+ self.assertTimelineTopology([
+ [
+ (GES.TestClip, 0, 10),
+ (GES.TestClip, 1, 10),
+ ]
+ ])
+
def test_move_group_with_overlaping_clips(self):
self.track_types = [GES.TrackType.AUDIO]
super().setUp()