<pre><code class="cpp">
GESPipeline* gespipeline = ges_pipeline_new();
GstElement* pipeline = GST_ELEMENT(gespipeline);
GESTimeline *timeline = ges_timeline_new();
GESLayer *layer = ges_layer_new(), *layer2 = ges_layer_new();
GESTrack *a = GES_TRACK(ges_audio_track_new())
, *v = GES_TRACK(ges_video_track_new());
GESTrackElement* track_element;
GstElement *audioSink = NULL;
GstElement *videoSink = NULL;
std::string uri_string = std::string("file://C/temp/test.mp4");
std::string uri_string2 = std::string("file://C/temp/testing2.mp4");
GESUriClip *clip = ges_uri_clip_new(uri_string.c_str());
GESUriClip *clip2 = ges_uri_clip_new(uri_string2.c_str());
GESUriClipAsset* asstcl = GES_URI_CLIP_ASSET(clip);
ges_timeline_add_track(timeline, v);
ges_timeline_add_track(timeline, a);
ges_timeline_add_layer(timeline, layer);
ges_timeline_add_layer(timeline, layer2);
GError* error = NULL;
GESAsset* asst = GES_ASSET(ges_uri_clip_asset_request_sync(uri_string.c_str(), &error));
if (asst == NULL)
{
std::cout << "create uri failed " << (error != NULL) ? error->message : "";
g_clear_error(&error);
return;
}
ges_layer_add_asset(layer
, asst
, GST_CLOCK_TIME_NONE
, 0
, 14 * GST_SECOND
, GES_TRACK_TYPE_VIDEO);
gst_object_unref(asst);
asst = GES_ASSET(ges_uri_clip_asset_request_sync(uri_string2.c_str(), &error));
if (asst == NULL)
{
std::cout << "create 2nd uri failed" << (error != NULL) ? error->message : "";
return;
}
ges_layer_add_asset(layer2
, asst
, 14 * GST_SECOND
, 0
, 27 * GST_SECOND
, GES_TRACK_TYPE_AUDIO);
gst_object_unref(asst);
</code></pre>
<div class="signature" style="margin-top:1em;color:#666666;font-size:11px;">
------------------------------
<br/>Gstreamer 1.14.3
<br/>------------------------------
<br/>Windows
</div>
<br/><hr align="left" width="300" />
Sent from the <a href="http://gstreamer-devel.966125.n4.nabble.com/">GStreamer-devel mailing list archive</a> at Nabble.com.<br/>