2013-10-19 17 views
3

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

+0

請說明你稱之爲「視頻文件」是什麼?他們是GstCaps嗎?或GstBuffers? –

+0

它們是ofVideoPlayer類的實例。仔細查看源代碼,我認爲它們是建立在GstCaps之上的。 – evsc

回答

0

有GStreamer的一個已知的bug,與此相關的,其在理論上,應該通過安裝gstreamer0.10-ffmpeg固定。

Source