What I do, as a test, is I read an entire PCM raw audio file into a buffer and then send that to the encoder. While the encoder doesn't output an error, it doesn't seem to output any valid AAC encoded audio either. Even after a flush, it seems to provide a substantially small amount of information that's invalid to play.
I also tried sending it packets of raw audio captured from PulseAudio but received similar results.
Any ideas? I feel like I am missing something fundamental.
Re: How do you encode raw pcm_f32le audio to AAC encoded audio with FFmpeg (C/C++)?
Am Di., 21. Jan. 2020 um 04:25 Uhr schrieb Suhail Doshi <[hidden email]>:
> On Sun, Jan 19, 2020 at 4:28 PM Carl Eugen Hoyos <[hidden email]> wrote:
>> Am Mo., 20. Jan. 2020 um 01:22 Uhr schrieb Suhail Doshi <[hidden email]>:
>> > Sure, do you know why ffmpeg cli seems to be able to encode interleaved
>> > raw audio but the C API only allows FLTP then?
>> It (automatically) inserts the aresample filter into the filter chain.
>> Please find out what top-posting means and avoid it here, Carl Eugen
> Got it. So, I tried to resample my FLT audio into FLTP audio as well. I got a bit stuck.
> Here's my code: https://gist.github.com/Suhail/151e41f3eb226504c7cbd3b46c15729c > (I didn't want to paste it here since it's long where I referenced this code heavily.
> What I do, as a test, is I read an entire PCM raw audio file into a buffer and then send that to the encoder.
Why don't you use a wav file and read that with libavformat / did you
test reading the pcm raw file with ffmpeg?