我有指向包含视频对象,在ofVideoPlayer对象的形式ofPtr(共享指针)项的载体。当视频播放完毕('dead'变量设置为true)时,我通过在矢量上调用erase()
来删除它们以及它们的参考。的GStreamer-CRITICAL **:gst_mini_object_unref:断言`GST_IS_MINI_OBJECT(mini_object)”失败
vector<ofPtr<videoElement> >::iterator iter = videos.begin();
while (iter != videos.end()) {
(**iter).update();
if ((**iter).dead) {
iter = videos.erase(iter);
} else {
++iter;
}
}
程序运行正常(或似乎),但每次擦除功能被调用的时候,我得到这个输出:
的GStreamer-CRITICAL **:gst_mini_object_unref:断言 `GST_IS_MINI_OBJECT( mini_object)”失败
我似乎没有当我与videos.clear()
一次清除整个向量,这让我困惑了,如果这是一个的GStreamer或指针问题得到这些输出线。
此外,我已经尝试过不同的视频文件和不同的编解码器(H264,动画,photoJPEG),但都显示相同的输出线。由于输出线还没有导致任何实际问题,所以我并不太在意,但我想知道这是从哪里来的。
系统: 的Linux,Ubuntu的12.04,用了openFrameworks代码块(of_v0.8.0_linux64_release)
请说明你称之为“视频文件”是什么?他们是GstCaps吗?或GstBuffers? –
它们是ofVideoPlayer类的实例。仔细查看源代码,我认为它们是建立在GstCaps之上的。 – evsc