Gstreamer 在Playbin2中播放时更改当前视频会使视频停止
我有一个playbin2管道,可以播放带有多个曲目的视频文件。我可以通过设置Gstreamer 在Playbin2中播放时更改当前视频会使视频停止,gstreamer,playbin2,Gstreamer,Playbin2,我有一个playbin2管道,可以播放带有多个曲目的视频文件。我可以通过设置当前视频属性来更改当前播放的曲目: current-video : Currently playing video stream (-1 = auto) flags: readable, writable Integer. Range: -1 - 2147483647 Default: -1 然而,一旦我设置了这个,视频
当前视频
属性来更改当前播放的曲目:
current-video : Currently playing video stream (-1 = auto)
flags: readable, writable
Integer. Range: -1 - 2147483647 Default: -1
然而,一旦我设置了这个,视频就会挂起,然后最终变成灰色。音频一直在播放。一位同事建议刷新管道可能会修复它,但唯一的方法似乎是使用GST\u SEEK\u FLAG\u FLUSH
查找当前位置。使用seek确实有效,但看起来很混乱:
g_object_set(m_playBin, "current-video", video, NULL);
GstClockTime = getCurrentTime();
gst_element_seek(m_playBin, m_player->rate(),
GST_FORMAT_TIME,
(GstSeekFlags)(GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE),
GST_SEEK_TYPE_SET, clockTime,
GST_SEEK_TYPE_NONE, GST_CLOCK_TIME_NONE)
当我设置当前视频时,我是否做错了什么?有没有更简单的方法冲洗管道
注意:我使用Ogg Theora文件进行测试,因为它很容易构建,所以我不确定这个问题是否以其他格式出现