2013-04-15 33 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