我有一个ofPtr(共享指针)项的向量,它们指向包含视频的对象,以ofVideoPlayer对象的形式。erase()
当视频播放完毕(“死”变量设置为 true)时,我通过调用向量删除它们及其引用。
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)