Gstreamer 在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 然而,一旦我设置了这个,视频

我有一个playbin2管道,可以播放带有多个曲目的视频文件。我可以通过设置
当前视频
属性来更改当前播放的曲目:

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文件进行测试,因为它很容易构建,所以我不确定这个问题是否以其他格式出现