GESEffect seems incompatible with videorate

David Ing ding at panopto.com
Wed May 20 00:40:59 UTC 2020


Using gstreamer 1.16.1

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.

So I make a GESEffect and attached it to my GESClip as follows.


GESEffect* gesRateEffect = ges_effect_new("videorate");

gobject::setDouble(reinterpret_cast<GObject*>(gesRateEffect), "max-rate",
0.0);
gobject::setDouble(reinterpret_cast<GObject*>(gesRateEffect), "rate", 0.0);
gobject::setBool(reinterpret_cast<GObject*>(gesRateEffect), "skip-to-first",
true);

ges_container_add(
    reinterpret_cast<GESContainer*>(gesUriClip),
    reinterpret_cast<GESTimelineElement*>(gesRateEffect)
);

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.

<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::
max-rate=(int)2147483647, GstVideoRate::new-pref=(double)1,
GstBaseTransform::qos=(boolean)false, GstVideoRate::rate=(double)1,
GstVideoRate::silent=(boolean)true, GstVideoRate::
skip-to-first=(boolean)false;'>
</effect>


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).

Why is GES modifying my GESEffect?  Can I prevent it from doing this?

Is there a better way to achieve my goal?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200519/ebceff92/attachment.htm>


More information about the gstreamer-devel mailing list