我有指向包含視頻對象,在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