<div dir="ltr"><div>Hello,</div><div><br></div><div>Looks like you either want to specify the inpoint when adding to the layer or use ges_timeline_element_trim[0] afterward.</div><div><br></div><div>Regards,</div><div><br></div><div>- Thibault</div><div><br></div><div>[0] <a href="https://gstreamer.freedesktop.org/documentation/gst-editing-services/gestimelineelement.html?gi-language=c#ges_timeline_element_trim">https://gstreamer.freedesktop.org/documentation/gst-editing-services/gestimelineelement.html?gi-language=c#ges_timeline_element_trim</a></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Apr 30, 2020 at 7:35 PM killerrats <<a href="mailto:koreysjunkmail@gmail.com">koreysjunkmail@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I am adding many videos that are a continuous playing because of recording<br>
cameras. I was trying to trim down the first clip in the timeline. the code<br>
i use to add to the layer. I tell it to start at zero for the first clip. I<br>
hope i explained that good?<br>
<br>
anyone have a better way to doing this?<br>
<br>
I tried ges_clip_split() but it says out of bounds.<br>
<br>
for example: the clip is 00:00:09.000 long. I set the clipStart to be<br>
00:00:02.000.<br>
<br>
bool AddingTracksWithLayer(std::string filePath, GESTrackType mediatype,<br>
guint64 startPos, GstClockTime LengthOfVideo, GESLayer* layer, GstClockTime<br>
clipStart)<br>
{<br>
        GError* error = NULL;<br>
        GESAsset* asst = NULL;<br>
        GESClip* clip = NULL;<br>
        gchar* source;<br>
<br>
        source = g_strdup_printf("%s", filePath.c_str());<br>
<br>
        asst = GES_ASSET(ges_uri_clip_asset_request_sync(source, &error));<br>
<br>
        if (asst == NULL)<br>
        {<br>
                std::cout << "create uri failed " << (error != NULL) ? error->message :<br>
"";<br>
                g_clear_error(&error);<br>
                return false;<br>
        }<br>
        clip = ges_layer_add_asset(layer<br>
                , asst<br>
                , startPos*GST_SECOND<br>
                , 0<br>
                , LengthOfVideo<br>
                , mediatype);<br>
        gst_object_unref(asst);<br>
        if(clipStart != GST_CLOCK_TIME_NONE)<br>
        {<br>
                GESClip* newClip = ges_clip_split(clip, clipStart);<br>
                ges_layer_remove_clip(layer, newClip);<br>
                ges_layer_remove_clip(layer, clip);<br>
                ges_layer_add_clip(layer, clip);<br>
        }<br>
        if (mediatype == GES_TRACK_TYPE_VIDEO)<br>
                check_frame_positionner_size(clip,<br>
std::stoi(std::to_string(this->aRenderWidth)),<br>
std::stoi(std::to_string(this->aRenderHeight)));<br>
<br>
        g_free(source);<br>
<br>
        return true;<br>
}<br>
<br>
<br>
<br>
-----<br>
------------------------------<br>
Gstreamer 1.14.3<br>
------------------------------<br>
Windows<br>
--<br>
Sent from: <a href="http://gstreamer-devel.966125.n4.nabble.com/" rel="noreferrer" target="_blank">http://gstreamer-devel.966125.n4.nabble.com/</a><br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div>