<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Hi Paul,</div><div class=""><br class=""></div><div class="">Thanks for that, that fixed the problem. Now, I'm getting -35 errors when I try to read the audio out of the buffer sink:</div><div class=""><br class=""></div><div class="">Why would that happen?</div><div class=""><br class=""></div><div class=""><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">- (<span style="color: #0433ff" class="">void</span>)allocateRenderResourcesAudioFormat:(<span style="color: #3495af" class="">AVAudioFormat</span> * <span style="color: #0433ff" class="">_Nonnull</span>)format capacity:(<span style="color: #3495af" class="">AVAudioFrameCount</span> <span style="color: #0433ff" class="">__unused</span>)frameCapacity {</div><div style="margin: 0px; line-height: normal; background-color: rgb(255, 255, 255); min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(52, 149, 175); background-color: rgb(255, 255, 255);" class=""><span style="color: #000000" class="">  </span>NSString<span style="color: #000000" class=""> *bufferArgs = [[</span>NSString<span style="color: #000000" class=""> </span>alloc<span style="color: #000000" class="">] </span>initWithFormat<span style="color: #000000" class="">:</span><span style="color: #b4261a" class="">@"sample_rate=%f:channels=%d:sample_fmt=%s:channel_layout=%d"</span><span style="color: #000000" class="">, format.</span>sampleRate<span style="color: #000000" class="">, format.</span>channelCount<span style="color: #000000" class="">, </span>av_get_sample_fmt_name<span style="color: #000000" class="">(</span>AV_SAMPLE_FMT_FLTP<span style="color: #000000" class="">), </span><span style="color: #0433ff" class="">AV_CH_LAYOUT_STEREO</span><span style="color: #000000" class="">];</span></div><div style="margin: 0px; line-height: normal; background-color: rgb(255, 255, 255); min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(52, 149, 175); background-color: rgb(255, 255, 255);" class=""><span style="color: #000000" class="">  </span>avfilter_graph_create_filter<span style="color: #000000" class="">(&</span>_bufferContext<span style="color: #000000" class="">, </span>avfilter_get_by_name<span style="color: #000000" class="">(</span><span style="color: #b4261a" class="">"abuffer"</span><span style="color: #000000" class="">), </span><span style="color: #b4261a" class="">"buffer_context"</span><span style="color: #000000" class="">, bufferArgs.</span>UTF8String<span style="color: #000000" class="">, </span><span style="color: #0433ff" class="">NULL</span><span style="color: #000000" class="">, </span><span style="color: #0433ff" class="">self</span><span style="color: #000000" class="">.</span>filterGraph<span style="color: #000000" class="">);</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(52, 149, 175); background-color: rgb(255, 255, 255);" class=""><span style="color: #000000" class="">  </span>avfilter_graph_create_filter<span style="color: #000000" class="">(&</span>_bufferSinkContext<span style="color: #000000" class="">, </span>avfilter_get_by_name<span style="color: #000000" class="">(</span><span style="color: #b4261a" class="">"abuffersink"</span><span style="color: #000000" class="">), </span><span style="color: #b4261a" class="">"buffer_sink"</span><span style="color: #000000" class="">, </span><span style="color: #0433ff" class="">NULL</span><span style="color: #000000" class="">, </span><span style="color: #0433ff" class="">NULL</span><span style="color: #000000" class="">, </span><span style="color: #0433ff" class="">self</span><span style="color: #000000" class="">.</span>filterGraph<span style="color: #000000" class="">);</span></div><div style="margin: 0px; line-height: normal; background-color: rgb(255, 255, 255); min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(52, 149, 175); background-color: rgb(255, 255, 255);" class=""><span style="color: #000000" class="">  </span>avfilter_graph_create_filter<span style="color: #000000" class="">(&</span>_bassFilterContext<span style="color: #000000" class="">, </span>avfilter_get_by_name<span style="color: #000000" class="">(</span><span style="color: #b4261a" class="">"bass"</span><span style="color: #000000" class="">), </span><span style="color: #b4261a" class="">"bass"</span><span style="color: #000000" class="">, </span><span style="color: #b4261a" class="">"gain=0:frequency=100:width_type=o:width=1"</span><span style="color: #000000" class="">, </span><span style="color: #0433ff" class="">NULL</span><span style="color: #000000" class="">, </span><span style="color: #0433ff" class="">self</span><span style="color: #000000" class="">.</span>filterGraph<span style="color: #000000" class="">);</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(52, 149, 175); background-color: rgb(255, 255, 255);" class=""><span style="color: #000000" class="">  </span>avfilter_graph_create_filter<span style="color: #000000" class="">(&</span>_trebleFilterContext<span style="color: #000000" class="">, </span>avfilter_get_by_name<span style="color: #000000" class="">(</span><span style="color: #b4261a" class="">"treble"</span><span style="color: #000000" class="">), </span><span style="color: #b4261a" class="">"treble"</span><span style="color: #000000" class="">, </span><span style="color: #b4261a" class="">"gain=0:frequency=10000:width_type=o:width=1"</span><span style="color: #000000" class="">, </span><span style="color: #0433ff" class="">NULL</span><span style="color: #000000" class="">, </span><span style="color: #0433ff" class="">self</span><span style="color: #000000" class="">.</span>filterGraph<span style="color: #000000" class="">);</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(52, 149, 175); background-color: rgb(255, 255, 255);" class=""><span style="color: #000000" class="">  </span>avfilter_graph_create_filter<span style="color: #000000" class="">(&</span>_equalizerFilterContext<span style="color: #000000" class="">, </span>avfilter_get_by_name<span style="color: #000000" class="">(</span><span style="color: #b4261a" class="">"equalizer"</span><span style="color: #000000" class="">), </span><span style="color: #b4261a" class="">"equalizer"</span><span style="color: #000000" class="">, </span><span style="color: #b4261a" class="">"gain=0:frequency=250:width_type=o:width=1"</span><span style="color: #000000" class="">, </span><span style="color: #0433ff" class="">NULL</span><span style="color: #000000" class="">, </span><span style="color: #0433ff" class="">self</span><span style="color: #000000" class="">.</span>filterGraph<span style="color: #000000" class="">);</span></div><div style="margin: 0px; line-height: normal; background-color: rgb(255, 255, 255); min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(52, 149, 175); background-color: rgb(255, 255, 255);" class=""><span style="color: #000000" class="">  </span>avfilter_link<span style="color: #000000" class="">(</span>_bufferContext<span style="color: #000000" class="">, 0, </span>_bassFilterContext<span style="color: #000000" class="">, 0);</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(52, 149, 175); background-color: rgb(255, 255, 255);" class=""><span style="color: #000000" class="">  </span>avfilter_link<span style="color: #000000" class="">(</span>_bassFilterContext<span style="color: #000000" class="">, 0, </span>_trebleFilterContext<span style="color: #000000" class="">, 0);</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(52, 149, 175); background-color: rgb(255, 255, 255);" class=""><span style="color: #000000" class="">  </span>avfilter_link<span style="color: #000000" class="">(</span>_trebleFilterContext<span style="color: #000000" class="">, 0, </span>_equalizerFilterContext<span style="color: #000000" class="">, 0);</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(52, 149, 175); background-color: rgb(255, 255, 255);" class=""><span style="color: #000000" class="">  </span>avfilter_link<span style="color: #000000" class="">(</span>_equalizerFilterContext<span style="color: #000000" class="">, 0, </span>_bufferSinkContext<span style="color: #000000" class="">, 0);</span></div><div style="margin: 0px; line-height: normal; background-color: rgb(255, 255, 255); min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(52, 149, 175); background-color: rgb(255, 255, 255);" class=""><span style="color: #000000" class="">  </span>avfilter_graph_config<span style="color: #000000" class="">(</span><span style="color: #0433ff" class="">self</span><span style="color: #000000" class="">.</span>filterGraph<span style="color: #000000" class="">, </span><span style="color: #0433ff" class="">NULL</span><span style="color: #000000" class="">);</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">}</div></div><div class=""><br class=""></div><div class=""><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">- (<span style="color: #0433ff" class="">void</span>)processBuffer:(<span style="color: #3495af" class="">AudioBufferList</span> * <span style="color: #0433ff" class="">_Nonnull</span>)buffer outputBuffer:(<span style="color: #3495af" class="">AudioBufferList</span> * <span style="color: #0433ff" class="">_Nonnull</span>)outputBuffer {</div><div style="margin: 0px; line-height: normal; background-color: rgb(255, 255, 255); min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(52, 149, 175); background-color: rgb(255, 255, 255);" class=""><span style="color: #000000" class="">  </span>AVFrame<span style="color: #000000" class=""> *audioFrame = </span>av_frame_alloc<span style="color: #000000" class="">();</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">  audioFrame-><span style="color: #3495af" class="">channels</span> = 2;</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(4, 51, 255); background-color: rgb(255, 255, 255);" class=""><span style="color: #000000" class="">  audioFrame-></span><span style="color: #3495af" class="">channel_layout</span><span style="color: #000000" class=""> = </span>AV_CH_LAYOUT_STEREO<span style="color: #000000" class="">;</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">  audioFrame-><span style="color: #3495af" class="">sample_rate</span> = 44100.000000;</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(52, 149, 175); background-color: rgb(255, 255, 255);" class=""><span style="color: #000000" class="">  audioFrame-></span>format<span style="color: #000000" class=""> = </span>AV_SAMPLE_FMT_FLTP<span style="color: #000000" class="">;</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">  audioFrame-><span style="color: #3495af" class="">nb_samples</span> = buffer-><span style="color: #3495af" class="">mBuffers</span>[0].<span style="color: #3495af" class="">mDataByteSize</span>/ <span style="color: #0433ff" class="">sizeof</span>(<span style="color: #3495af" class="">Float32</span>) * 44100;</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">  audioFrame-><span style="color: #3495af" class="">pts</span> = audioFrame-><span style="color: #3495af" class="">nb_samples</span>;</div><div style="margin: 0px; line-height: normal; background-color: rgb(255, 255, 255); min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">  audioFrame-><span style="color: #3495af" class="">extended_data</span>[0] = buffer-><span style="color: #3495af" class="">mBuffers</span>[0].<span style="color: #3495af" class="">mData</span>;</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">  audioFrame-><span style="color: #3495af" class="">extended_data</span>[1] = buffer-><span style="color: #3495af" class="">mBuffers</span>[1].<span style="color: #3495af" class="">mData</span>;</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">  audioFrame-><span style="color: #3495af" class="">linesize</span>[0] = buffer-><span style="color: #3495af" class="">mBuffers</span>[0].<span style="color: #3495af" class="">mDataByteSize</span>;</div><div style="margin: 0px; line-height: normal; background-color: rgb(255, 255, 255); min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(52, 149, 175); background-color: rgb(255, 255, 255);" class=""><span style="color: #000000" class="">  </span><span style="color: #0433ff" class="">int</span><span style="color: #000000" class=""> result = </span>av_buffersrc_write_frame<span style="color: #000000" class="">(</span><span style="color: #0433ff" class="">self</span><span style="color: #000000" class="">.</span>bufferContext<span style="color: #000000" class="">, audioFrame);</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">  <span style="color: #0433ff" class="">if</span> (result > 0) {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">    <span style="color: #3495af" class="">AVFrame</span> *returnedFrame = <span style="color: #3495af" class="">av_frame_alloc</span>();</div><div style="margin: 0px; line-height: normal; background-color: rgb(255, 255, 255);" class=""><font face="Menlo" class=""><span style="font-size: 11px;" class="">    int result3 = </span></font><font color="#3495af" face="Menlo" class=""><span style="font-size: 11px;" class="">av_buffersink_get_frame</span></font><span style="color: rgb(0, 0, 0); font-family: Menlo; font-size: 11px;" class="">(</span><span style="color: rgb(4, 51, 255); font-family: Menlo; font-size: 11px;" class="">self</span><span style="color: rgb(0, 0, 0); font-family: Menlo; font-size: 11px;" class="">.</span><font color="#3495af" face="Menlo" class=""><span style="font-size: 11px;" class="">bufferSinkContext</span></font><span style="color: rgb(0, 0, 0); font-family: Menlo; font-size: 11px;" class="">, returnedFrame);</span></div><div style="margin: 0px; line-height: normal; background-color: rgb(255, 255, 255); min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="color: rgb(0, 0, 0);" class="">    </span><font color="#3495af" class="">NSString</font><span style="color: rgb(0, 0, 0);" class=""> *string = [[</span><font color="#3495af" class="">NSString</font><span style="color: rgb(0, 0, 0);" class=""> </span><font color="#3495af" class="">alloc</font><span style="color: rgb(0, 0, 0);" class="">] </span><font color="#3495af" class="">initWithCString</font><span style="color: rgb(0, 0, 0);" class="">:</span><span style="color: rgb(4, 51, 255);" class="">av_err2str</span><span style="color: rgb(0, 0, 0);" class="">(</span><font color="#0433ff" class="">result3</font><span style="color: rgb(0, 0, 0);" class="">) </span><font color="#3495af" class="">encoding</font><span style="color: rgb(0, 0, 0);" class="">:</span><font color="#3495af" class="">NSUTF8StringEncoding</font><span style="color: rgb(0, 0, 0);" class="">]; <---- This shows a -35 error code</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(180, 38, 26); background-color: rgb(255, 255, 255);" class=""><span style="color: #000000" class="">    </span><span style="color: #3495af" class="">NSLog</span><span style="color: #000000" class="">(</span>@"The string is %@"<span style="color: #000000" class="">, string);</span></div><div style="margin: 0px; line-height: normal; background-color: rgb(255, 255, 255); min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">    outputBuffer-><span style="color: #3495af" class="">mBuffers</span>[0].<span style="color: #3495af" class="">mData</span> = returnedFrame-><span style="color: #3495af" class="">extended_data</span>[0];</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">    outputBuffer-><span style="color: #3495af" class="">mBuffers</span>[1].<span style="color: #3495af" class="">mData</span> = returnedFrame-><span style="color: #3495af" class="">extended_data</span>[1];</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">  } <span style="color: #0433ff" class="">else</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(52, 149, 175); background-color: rgb(255, 255, 255);" class=""><span style="color: #000000" class="">    </span>NSString<span style="color: #000000" class=""> *string = [[</span>NSString<span style="color: #000000" class=""> </span>alloc<span style="color: #000000" class="">] </span>initWithCString<span style="color: #000000" class="">:</span><span style="color: #0433ff" class="">av_err2str</span><span style="color: #000000" class="">(result) </span>encoding<span style="color: #000000" class="">:</span>NSUTF8StringEncoding<span style="color: #000000" class="">];</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(180, 38, 26); background-color: rgb(255, 255, 255);" class=""><span style="color: #000000" class="">    </span><span style="color: #3495af" class="">NSLog</span><span style="color: #000000" class="">(</span>@"The string is %@"<span style="color: #000000" class="">, string);</span></div><div style="margin: 0px; line-height: normal; background-color: rgb(255, 255, 255); min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">    outputBuffer-><span style="color: #3495af" class="">mBuffers</span>[0].<span style="color: #3495af" class="">mData</span> = buffer-><span style="color: #3495af" class="">mBuffers</span>[0].<span style="color: #3495af" class="">mData</span>;</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">    outputBuffer-><span style="color: #3495af" class="">mBuffers</span>[1].<span style="color: #3495af" class="">mData</span> = buffer-><span style="color: #3495af" class="">mBuffers</span>[1].<span style="color: #3495af" class="">mData</span>;</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">  }</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">}</div></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">Is there something wrong with the frame I'm passing into the call to av_buffersink_get_frame?</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">This is just something simple I'm trying to get up and running, before I write production level code.</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">Thanks for the help!</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">Ronak</div><br class=""><div><blockquote type="cite" class=""><div class="">On Nov 28, 2017, at 11:58 AM, Paul B Mahol <<a href="mailto:onemda@gmail.com" class="">onemda@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">On 11/28/17, Ronak <<a href="mailto:ronak2121-at-yahoo.com@ffmpeg.org" class="">ronak2121-at-yahoo.com@ffmpeg.org</a>> wrote:<br class=""><blockquote type="cite" class="">I managed to trace this down to av_frame_get_buffer returning -22.<br class=""><br class="">Here's the code that I tried:<br class=""><br class="">  AVFrame *audioFrame = av_frame_alloc();<br class="">  audioFrame->channels = 2;<br class="">  audioFrame->channel_layout = av_get_default_channel_layout(2);<br class="">  audioFrame->sample_rate = 44100;<br class="">  audioFrame->nb_samples = buffer->mBuffers[0].mDataByteSize/<br class="">sizeof(Float32) * 44100;<br class="">  audioFrame->pts = audioFrame->nb_samples;<br class="">  av_frame_get_buffer(audioFrame, 0); <--- returns -22<br class=""></blockquote><br class="">You nowhere set sample format.<br class=""><br class=""><blockquote type="cite" class=""><br class="">  audioFrame->extended_data[0] = buffer->mBuffers[0].mData;<br class="">  audioFrame->extended_data[1] = buffer->mBuffers[1].mData;<br class="">  audioFrame->linesize[0] = buffer->mBuffers[0].mDataByteSize;<br class=""><br class="">  AVFrame *otherFrame = av_frame_alloc();<br class="">  int result2 = av_frame_ref(otherFrame, audioFrame); <--- returns -22<br class=""><br class="">  int result = av_buffersrc_write_frame(self.bufferContext, audioFrame);<br class=""><br class="">Why would av_frame_get_buffer return -22? Am I not supposed to call it? What<br class="">about write frame?<br class=""><br class=""><br class=""><blockquote type="cite" class="">On Nov 27, 2017, at 7:19 PM, Ronak Patel<br class=""><<a href="mailto:ronak2121-at-yahoo.com@ffmpeg.org" class="">ronak2121-at-yahoo.com@ffmpeg.org</a>> wrote:<br class=""><br class="">Hi Paul,<br class=""><br class="">Do you mind pointing me to the relevant documentation?<br class=""><br class="">I tried setting up an AVFrame instance with the sample rate, channel<br class="">layout and data but the calls to av_frame_ref are failing with -22 errors.<br class="">I'm looking for any sample code that shows how to properly initialize an<br class="">AVFrame from an AudioBufferList.<br class=""><br class="">Thanks<br class=""><br class="">Ronak<br class=""><br class="">Sent from my iPhone<br class=""><br class=""><blockquote type="cite" class="">On Nov 26, 2017, at 2:17 PM, Paul B Mahol <<a href="mailto:onemda@gmail.com" class="">onemda@gmail.com</a>> wrote:<br class=""><br class=""><blockquote type="cite" class="">On 11/26/17, Ronak <<a href="mailto:ronak2121-at-yahoo.com@ffmpeg.org" class="">ronak2121-at-yahoo.com@ffmpeg.org</a>> wrote:<br class="">Hi,<br class=""><br class="">I'm trying to build a graphic equalizer using the ffmpeg library for<br class="">iOS,<br class="">wrapping the AVFilter library in an AUAudioUnit.<br class=""><br class="">I'm having trouble figuring out how to convert an AudioBufferList's data<br class="">to<br class="">an AVFilter and back. The input buffers are in stereo, so I'm also<br class="">unsure<br class="">how to pass in both data arrays.<br class=""><br class="">Does anyone know how to do this?<br class=""></blockquote><br class="">Have you read already available documentation?<br class=""><br class="">AVFrame stores samples for packed format into AVFrame->data[0].<br class="">And planar format into AVFrame->extended_data[ X ], where X is channel<br class="">number.<br class="">_______________________________________________<br class="">Libav-user mailing list<br class=""><a href="mailto:Libav-user@ffmpeg.org" class="">Libav-user@ffmpeg.org</a><br class="">http://ffmpeg.org/mailman/listinfo/libav-user<br class=""></blockquote><br class="">_______________________________________________<br class="">Libav-user mailing list<br class=""><a href="mailto:Libav-user@ffmpeg.org" class="">Libav-user@ffmpeg.org</a><br class="">http://ffmpeg.org/mailman/listinfo/libav-user<br class=""></blockquote><br class=""><br class=""></blockquote>_______________________________________________<br class="">Libav-user mailing list<br class=""><a href="mailto:Libav-user@ffmpeg.org" class="">Libav-user@ffmpeg.org</a><br class="">http://ffmpeg.org/mailman/listinfo/libav-user<br class=""></div></div></blockquote></div><br class=""></body></html>