为什么soundmixer插件会混合声音被截断?

时间:2017-12-01 10:31:29

标签: c gstreamer gstreamer-1.0

我在C中开发了一个依赖于soundmixer插件的应用程序。我的目标是触发事件的声音。由于反应性至关重要,我希望让gstreamer管道保持活动状态,并在audiomixer元素上动态插入新声音(在混音器的新接收器上应用偏移之后)。

它工作得非常好,除了每次插入新声音时,声音的前200毫秒(或多或少)会被截断。

我一直在查看代码,就我所见,一切看起来都很好(声音插件没有错误,也没有应用运行时间/偏移量。)

所以我尝试了一个带gst-launch的简单管道,并在调音台上应用了偏移量:

gst-launch-1.0 filesrc location=/etc/pa/doublclick_aigu_grave.wav ! wavparse ! audiomixer sink_0::offset=1000000000 ! alsasink

事实证明,此管道也会截断声音的开头。当我使用--gst-debug = alsa:5激活日志时,我在声音开始之前收到了一堆日志:

alsa gstalsasink.c:1054:gst_alsasink_write:<alsasink0> written 441 frames out of 441

这里发生了什么?

0 个答案:

没有答案