gpt4 book ai didi

c++ - 媒体基础 : WavSink spools audio faster than real time consumption rate - can spooling be constrained real-time?

转载 作者:太空宇宙 更新时间:2023-11-04 12:30:20 27 4
gpt4 key购买 nike

如标题所示,我使用了 Media Foundation WavSink 示例,该示例将音频流解码为 PCM 并转储到文件。

我的应用程序是将此流定向到 FMOD 音频引擎,该引擎以实时速率使用 PCM 音频 - 正如听到的那样。

WavSink 处理解码音频的速度比播放音频的速度快,导致在内存中不必要地积累解码音频。我想对此进行限制,这样我们就不会解码得太早以避免浪费内存和计算资源 - 以高效运行。

我尝试了各种方法,但无论我做什么都会导致视频流出现故障。

想知道是否有人可以提供一些见解,允许解码门控而不会出现视频故障。

MSDN 论坛上的相关支持查询:Redirected audio streams faster than associated video resulting in unwanted large decoded buffer build up

最佳答案

通过排队 MEStreamSinkRequestSample 事件,启用媒体基础媒体管道将新数据发送到接收器,such as :

        // Kick things off by requesting two samples...
if (SUCCEEDED(hr))
{
hr = QueueEvent(MEStreamSinkRequestSample, GUID_NULL, hr, NULL);
}
if (SUCCEEDED(hr))
{
hr = QueueEvent(MEStreamSinkRequestSample, GUID_NULL, hr, NULL);
}

在您真正需要新数据之前,请避免这样做。

关于c++ - 媒体基础 : WavSink spools audio faster than real time consumption rate - can spooling be constrained real-time?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58911753/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com