使用SeekFlags.Flush寻找GStreamer-sharp冻结

时间:2018-05-13 21:16:30

标签: c# gstreamer gstreamer-sharp

作为一种练习,我正在尝试将GStreamer示例从c转换为c#,并且我坚持使用基础教程4(https://gstreamer.freedesktop.org/documentation/tutorials/basic/time-management.html)。 在该示例中,搜索如下执行

gst_element_seek_simple (data.playbin, GST_FORMAT_TIME,
          GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, 30 * GST_SECOND);

我翻译成C#:

playbin.SeekSimple(Format.Time, SeekFlags.Flush | SeekFlags.KeyUnit, 30L * Constants.SECOND);

然而,在搜索之后,只播放一帧,然后播放冻结。

这里有一个C#教程:(https://github.com/GStreamer/gstreamer-sharp/blob/master/samples/BasicTutorial4.cs)。但是,在本教程中,搜索是在没有SeekFlags.Flush的情况下执行的(第73行)。示例中的搜索工作正常,但延迟几秒钟。

那么,SeekFlags.Flush是否适用于C#GStreamer绑定,或者我在这里遗漏了什么?

我安装了最新的GStreamer和GstSharp(版本1.14.0)。

谢谢,汤姆

0 个答案:

没有答案