On 11/28/17, Ronak <[email protected]> wrote: > I managed to trace this down to av_frame_get_buffer returning -22. > > Here's the code that I tried: > > AVFrame *audioFrame = av_frame_alloc(); > audioFrame->channels = 2; > audioFrame->channel_layout = av_get_default_channel_layout(2); > audioFrame->sample_rate = 44100; > audioFrame->nb_samples = buffer->mBuffers[0].mDataByteSize/ > sizeof(Float32) * 44100; > audioFrame->pts = audioFrame->nb_samples; > av_frame_get_buffer(audioFrame, 0); <--- returns -22
You nowhere set sample format. > > audioFrame->extended_data[0] = buffer->mBuffers[0].mData; > audioFrame->extended_data[1] = buffer->mBuffers[1].mData; > audioFrame->linesize[0] = buffer->mBuffers[0].mDataByteSize; > > AVFrame *otherFrame = av_frame_alloc(); > int result2 = av_frame_ref(otherFrame, audioFrame); <--- returns -22 > > int result = av_buffersrc_write_frame(self.bufferContext, audioFrame); > > Why would av_frame_get_buffer return -22? Am I not supposed to call it? What > about write frame? > > >> On Nov 27, 2017, at 7:19 PM, Ronak Patel >> <[email protected]> wrote: >> >> Hi Paul, >> >> Do you mind pointing me to the relevant documentation? >> >> I tried setting up an AVFrame instance with the sample rate, channel >> layout and data but the calls to av_frame_ref are failing with -22 errors. >> I'm looking for any sample code that shows how to properly initialize an >> AVFrame from an AudioBufferList. >> >> Thanks >> >> Ronak >> >> Sent from my iPhone >> >>> On Nov 26, 2017, at 2:17 PM, Paul B Mahol <[email protected]> wrote: >>> >>>> On 11/26/17, Ronak <[email protected]> wrote: >>>> Hi, >>>> >>>> I'm trying to build a graphic equalizer using the ffmpeg library for >>>> iOS, >>>> wrapping the AVFilter library in an AUAudioUnit. >>>> >>>> I'm having trouble figuring out how to convert an AudioBufferList's data >>>> to >>>> an AVFilter and back. The input buffers are in stereo, so I'm also >>>> unsure >>>> how to pass in both data arrays. >>>> >>>> Does anyone know how to do this? >>> >>> Have you read already available documentation? >>> >>> AVFrame stores samples for packed format into AVFrame->data[0]. >>> And planar format into AVFrame->extended_data[ X ], where X is channel >>> number. >>> _______________________________________________ >>> Libav-user mailing list >>> [email protected] >>> http://ffmpeg.org/mailman/listinfo/libav-user >> >> _______________________________________________ >> Libav-user mailing list >> [email protected] >> http://ffmpeg.org/mailman/listinfo/libav-user > > _______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
