- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个 vector ofPtr (共享指针)指向包含视频的对象的项目,形式为 ofVideoPlayer对象。视频播放完毕后('dead' 变量设置为 true),我通过调用 vector 上的 erase()
删除它们及其引用。
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: assertion `GST_IS_MINI_OBJECT (mini_object)' failed
当我使用 videos.clear()
一次清除整个 vector 时,我似乎没有得到这些输出行,如果这是 gstreamer 或指针问题,这让我很困惑。
此外,我尝试过使用不同的视频文件和不同的编解码器(H264、动画、photoJPEG),但都显示相同的输出行。
由于输出线还没有导致任何实际问题,我不太担心,但我想了解这是从哪里来的。
系统:Linux、Ubuntu 12.04、带有代码块的 Openframeworks (of_v0.8.0_linux64_release)
最佳答案
与gstreamer0.10-ffmpeg
无关。通常这个错误是由于在你实际上不拥有的对象上调用 xxx_unref(some_obj)
引起的,并且该调用最终会调用 gst_mini_object_unref()
来解构你的组件目的。以防万一有人仍然被这个错误困扰......
关于c++ - GStreamer-关键 ** : gst_mini_object_unref: assertion `GST_IS_MINI_OBJECT (mini_object)' failed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19470908/
我有一个 vector ofPtr (共享指针)指向包含视频的对象的项目,形式为 ofVideoPlayer对象。视频播放完毕后('dead' 变量设置为 true),我通过调用 vector 上的
我是一名优秀的程序员,十分优秀!