gpt4 book ai didi

c++ - GStreamer-关键 ** : gst_mini_object_unref: assertion `GST_IS_MINI_OBJECT (mini_object)' failed

转载 作者:太空狗 更新时间:2023-10-29 23:17:12 27 4
gpt4 key购买 nike

我有一个 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com