Пиша междуплатформена програма, базирана на Qt, която от време на време трябва да възпроизвежда аудио, предоставено отвън (извън моя контрол) като необработен PCM. Точният формат е 16-битов PCM с малък порядък при различни общи честоти на дискретизация.
Първата ми очевидна идея беше да използвам собствения Phonon на Qt за аудио възпроизвеждане, но има два проблема с този подход:
- Доколкото виждам, Phonon не поддържа PCM данни без заглавие. Ще трябва да хакна това и да фалшифицирам WAV хедър всеки път, когато възпроизвеждането започне. Не е шоустопер обаче.
- More importantly: There doesn't seem to be any way to control how Phonon (and its backends such as xine, PulseAudio, DirectX, whatever) prebuffers. Its default behaviour seems to be something like 5 seconds of prebuffering, which is way too much for me. I'd prefer about 1 second, and I'd definitely like to be able to control this!
В момента разглеждам Gstreamer, FFMPEG и libvlc. някакви мисли? Тъй като аудиото ми е в много прост формат и не е необходимо да правя фантастични неща за миксиране (само контрол на силата на звука), бих искал прост, безплатен (както в Freedom), междуплатформена и широко достъпнабиблиотека.