clip: Return the newly created TrackElement when adding an asset

This is a minor API change
This commit is contained in:
Thibault Saunier 2013-09-28 18:09:49 +02:00
parent 002977cd85
commit ca562ba8a0
2 changed files with 16 additions and 9 deletions

View file

@ -1417,16 +1417,23 @@ _trim (GESTimelineElement * element, GstClockTime start)
* *
* Takes a reference on @track_element. * Takes a reference on @track_element.
* *
* Returns: %TRUE on success, %FALSE on failure. * Returns: (transfer none)(allow-none): Created #GESTrackElement or NULL
* if an error happened
*/ */
gboolean GESTrackElement *
ges_clip_add_asset (GESClip * clip, GESAsset * asset) ges_clip_add_asset (GESClip * clip, GESAsset * asset)
{ {
g_return_val_if_fail (GES_IS_CLIP (clip), FALSE); GESTrackElement *element;
g_return_val_if_fail (GES_IS_ASSET (asset), FALSE);
g_return_val_if_fail (g_type_is_a (ges_asset_get_extractable_type
(asset), GES_TYPE_TRACK_ELEMENT), FALSE);
return ges_container_add (GES_CONTAINER (clip), g_return_val_if_fail (GES_IS_CLIP (clip), NULL);
GES_TIMELINE_ELEMENT (ges_asset_extract (asset, NULL))); g_return_val_if_fail (GES_IS_ASSET (asset), NULL);
g_return_val_if_fail (g_type_is_a (ges_asset_get_extractable_type
(asset), GES_TYPE_TRACK_ELEMENT), NULL);
element = GES_TRACK_ELEMENT (ges_asset_extract (asset, NULL));
if (!ges_container_add (GES_CONTAINER (clip), GES_TIMELINE_ELEMENT (element)))
return NULL;
return element;
} }

View file

@ -144,7 +144,7 @@ GType ges_clip_get_type (void);
****************************************************/ ****************************************************/
GESTrackType ges_clip_get_supported_formats (GESClip *clip); GESTrackType ges_clip_get_supported_formats (GESClip *clip);
void ges_clip_set_supported_formats (GESClip *clip, GESTrackType supportedformats); void ges_clip_set_supported_formats (GESClip *clip, GESTrackType supportedformats);
gboolean ges_clip_add_asset (GESClip *clip, GESAsset *asset); GESTrackElement* ges_clip_add_asset (GESClip *clip, GESAsset *asset);
GESTrackElement* ges_clip_find_track_element (GESClip *clip, GESTrack *track, GESTrackElement* ges_clip_find_track_element (GESClip *clip, GESTrack *track,
GType type); GType type);