#18461·mpv

ao_avfoundation: 每个文件的尾部在 EOF 时被丢弃(缓冲音频永远不会被清空)

作者: compupane创建于 2026年9月8日更新于 2026年9月8日

\ mpv 信息

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? mpv v0.41.0-1041-gc611c1c6f 版权© 2000-2026 mpv/MPlayer/mplayer2项目 libplacebo 版本: v7.360.1 (中文(简体) ). FFmpeg 版本: 9.0.1 FFmpeg 库版本 : 利巴夫码c 63.1.101 图书馆 63.1.101 利巴夫菲尔特 12.1.101 资料汇编 63.1.101 利巴武蒂尔 61.1.101 7.1.101 妇女 libswscale 10.1.101 (英语).


其他资料

页:1
- macOS版本:macOS 27.0 (26A5425a),苹果硅 (Mac16,10 / arm64)
- mpv来源:Homebrew -- HEAD 建设. 还用0.41.0放出瓶子复制.
- 最新已知工作版本:未知,在0.41.0发布和当前git上复制
- 下列事件发生后开始发行: 在macOS 27上注意到,18384号制作
ao coreaudio 失败和 mpv 悄悄地回归到 ao  foundation
  • 复制步骤
  1. 产生30个第二个试验基调:

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? ffmpeg -f lavfi -i "sine=频率=440:期限=30" -ac 2-ar 44100-c:a pcm s16le立体声30.wav


2. `mpv-no-config-ao'=建立立体声30.wav'
3. 注意位置计数器。 回放结束和mpv出站时间为"00:00:26/00:30".
4. 控制:`mpv-no-config-ao=coreaudio立体声30.wav'达到`00:29/00:30'。

不足是时间的常数,而不是文件的比例:

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
| -- -- -- -- -- -- -- -- -- -- -- -- --
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}16:
30s立体声 发现 00:00:26 |
60 s单曲 创始时间 00:00:56
===============================================================================================================================================================================================================================================================

每一次4.0秒,这正是 Ao-avoundation 报告缓冲:

[ao/avoundation]设备缓冲:88200个样本. [ao/avfoundation]使用88200个样本的软缓冲.


88200 + 88200 = 176400 在44100 Hz = 4.000 s.

测量整个过程的墙壁时间显示音频真的丢失了,而不只是错误报道:

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
| -- -- -- -- -- -- -- -- -- -- -- -- --
=============================================================================================================================================================================================================================================
30分30分30分30分30分30分
| 16.50 s v起 | 15.11 s |起
16.50 s 克罗克奥迪奥 16.74 s

因此,大约1.6到1.7秒的音频从未播放过,报告的位置停止了
大约提前了4秒 在日志中,mpv达到EOF, 日志"排出"和
`在音频上排出',等待约2秒后离开,而不等待
AVSampleBufferAudioRenderer来完成所有已经排队的游戏.

• 预期行为

如 ao coreaudio 一样,播放到文件的结尾。

实际行为

每个文件的尾部被默地丢弃,没有出错或警告. 在短文件上这个
16秒的短片会损失10%的运行时间。

* 与 #18384的关系

从用户的角度看,这些看起来是同样的问题,但都是可以分开的,所以我是
提交此文件而不是添加到线索中 。

在 macOS 27 上, # 18384 让 ao coreautio 失败
`无法在音频单元上设置输入信道布局([206][255][255][255]/-50]',
mpv 回归到
. . . . . . .