<div dir="ltr"><div>Hello,</div><div><br></div><div><div>Have you tried using `videorate rate=0.0` outside GES? I am not sure it has been tested at all I have to say.</div><div><br></div><div>Also you should modify effects properties through the `ges_timeline_element_set_child_property` and friends API, `g_object_set` is not going to work the way you are using it here, and it explains why it didn't work.<br></div></div><div><br></div><div>Also, time effects is a complex matter in GES and we are almost ready to merge its support: <a href="https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/177">https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/177</a>! I have been reviewing the branch and playing with it lately and it is almost ready to get merged, it will be in for 1.18 in any case, `videorate` with a `rate` set is going to work well in that branch.<br></div><div><br></div><div>Regards,</div><div><br></div><div>- Thibault<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, May 19, 2020 at 8:41 PM David Ing <<a href="mailto:ding@panopto.com">ding@panopto.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"><div dir="ltr"><div>Using gstreamer 1.16.1</div><div><br></div>My goal is to create a GESTimeline that contains a video clip which freezes on a single frame, or which plays back at a modified rate of speed.<div><br></div><div>So I make a GESEffect and attached it to my GESClip as follows.</div><div><blockquote style="margin:0px 0px 0px 40px;border:medium none;padding:0px"><div><font face="monospace"><br>GESEffect* gesRateEffect = ges_effect_new("videorate");<br><br>gobject::setDouble(reinterpret_cast<GObject*>(gesRateEffect), <span style="background-color:rgb(255,255,0)">"max-rate", 0.0</span>);<br>gobject::setDouble(reinterpret_cast<GObject*>(gesRateEffect), <span style="background-color:rgb(255,255,0)">"rate", 0.0</span>);<br>gobject::setBool(reinterpret_cast<GObject*>(gesRateEffect), <span style="background-color:rgb(255,255,0)">"skip-to-first", true</span>);<br><br>ges_container_add(<br>    reinterpret_cast<GESContainer*>(gesUriClip),<br>    reinterpret_cast<GESTimelineElement*>(gesRateEffect)<br>);</font><br></div><div><br></div></blockquote>I build out the rest of my timeline and then I call `ges_timeline_save_to_uri`, and the clip gets serialized with an effect having different values.</div><div><br></div><div><blockquote style="margin:0px 0px 0px 40px;border:medium none;padding:0px"><div><effect asset-id='videorate' clip-id='0' type-name='GESEffect' track-type='4' track-id='1' properties='properties, active=(boolean)true, track-type=(int)4;' metadatas='metadatas;' children-properties='properties, GstVideoRate::average-period=(guint64)0, GstVideoRate::drop-only=(boolean)false, GstVideoRate::max-duplication-time=(guint64)0, GstVideoRate::<span style="background-color:rgb(255,255,0)">max-rate=(int)2147483647</span>, GstVideoRate::new-pref=(double)1, GstBaseTransform::qos=(boolean)false, GstVideoRate::<span style="background-color:rgb(255,255,0)">rate=(double)1</span>, GstVideoRate::silent=(boolean)true, GstVideoRate::<span style="background-color:rgb(255,255,0)">skip-to-first=(boolean)false</span>;'><br></effect><br></div></blockquote></div><div><br></div><div>Even stranger, when I look at the *.dot files in my GST_DEBUG_DUMP_DOT_DIR, I don't see any evidence that this effect is being applied (not that I know what to look for).</div><div><br></div><div>Why is GES modifying my GESEffect?  Can I prevent it from doing this?</div><div><br></div><div>Is there a better way to achieve my goal?<br></div></div>
_______________________________________________<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>