2013-04-15 77 views
0

我在我的媒體播放器應用程序中使用GStreamer來播放TS文件。雖然我可以播放音頻&視頻,但無法使用PCR進行同步。GStreamer外部時鐘

當使用Google搜索時,找到gst_pipeline_use_clock()的文檔,並在我的代碼中使用了相同的文檔。 然而,它並沒有設置時鐘,並給出了一些隨機值[當時鍾時間檢索使用:gst_clock_get_time()]

這是如何,我設置PCR時鐘:有什麼我失蹤?

GstClock stPCRClock = {0}; 
stPCRClock.last_time = (GstClockTime)pcrInfo; //pcrInfo is the PCR value: 32-bit 
gst_pipeline_use_clock(pipeline, &stPCRClock); 

任何幫助,將不勝感激。

感謝,

Kranti

回答

0

您的代碼段不會使所有任何意義(創建不勾選靜態時鐘)。請閱讀什麼時鐘。如果您在特定文件的A/V同步方面遇到麻煩,請在#gstreamer irc頻道上討論此問題或提交錯誤。理想情況下,開發人員可以使用這種有問題的視頻文件。

+0

我不是聲稱這是GStreamer Side的一個bug。問題是,我無法理解如何設置外部時鐘? 我們定期收到廣播公司的時鐘時間。懷疑是如何把這個餵給gstreamer並指示它使用這個時鐘作爲參考? – Kranti

+0

您需要使用您擁有的時間信息來實現GstClock子類。 GstClock不是一個簡單的結構,它是一個GObject。 – ensonic