• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Static when playing back buffers
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Static when playing back buffers


  • Subject: Re: Static when playing back buffers
  • From: Pier <email@hidden>
  • Date: Fri, 09 Nov 2012 11:31:18 +0800

hi all, 

I noticed that Mr Craig Bakalian had the same problem.. 
http://www.mailinglistarchive.com/html/email@hidden/2006-10/msg00017.html

Apparently the reason I have 2 buffers is that the Audio Unit returns an interleaved format. (left, right channels)
To write to a file, I can do this 
AudioUnitGetProperty(mAudioUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Output, mBusNumber, &clientFormat, &size);

ExtAudioFileSetProperty(mExtAudioFile, kExtAudioFileProperty_ClientDataFormat, size, &clientFormat);

to set the extAudioFile to be the same format as the interleaved output of the AudioUnit. And it works producing a file recording of the mixed output from the mixer AudioUnit. 

However in my case I wish to directly manipulate the buffers and save it into TPCircularBuffer for use later. I feel like I'm really close to getting this but I'm still hearing static when I pull from these buffers and put them in TPCircularBuffer and play them back later. 


How can I do so? :/


Thanks. 


Pier. 



On Thu, Nov 8, 2012 at 5:16 PM, Pier <email@hidden> wrote:
Hi, 

I used 

        AURenderCallbackStruct mcallbackStruct;

        mcallbackStruct.inputProc = mixedRecordingCallback;

        mcallbackStruct.inputProcRefCon = &rio;

        status = AudioUnitAddRenderNotify(_mixerUnit, mcallbackStruct.inputProc,  mcallbackStruct.inputProcRefCon);

to add the callback to my mixer AudioUnit. 

I'm getting static when trying to playback finalOutputBuffer (captured below). 
I've noticed that there are 2 buffers in ioData this time round - that never happened before. I suspect that this could be the problem, has anyone had any experience with this? 

Thanks. 

Pier. 

static OSStatus mixedRecordingCallback(void *inRefCon,

                                         AudioUnitRenderActionFlags *ioActionFlags,

                                         const AudioTimeStamp *inTimeStamp,

                                         UInt32 inBusNumber,

                                         UInt32 inNumberFrames,

                                         AudioBufferList *ioData)

{

  

    if (*ioActionFlags & kAudioUnitRenderAction_PostRender) {

        

        RIO *rio = (RIO*)inRefCon;

        static int TEMP_kAudioUnitRenderAction_PostRenderError = (1 << 8);

        SInt16 *targetBuffer;

        

        

        if (rio->recordingMixed)

        {

            if (0 == inBusNumber && !(*ioActionFlags & TEMP_kAudioUnitRenderAction_PostRenderError)) {

            NSLog(@"Recording Mixed Output : Bus %ld", inBusNumber);

            

            for (int i=0; i < ioData->mNumberBuffers; i++)

            {

                targetBuffer= (SInt16*)ioData->mBuffers[i].mData;

                TPCircularBufferProduceBytes(&rio->finalOutputBuffer, targetBuffer, inNumberFrames  * sizeof(SInt16));

            }

                


            }

        }

    }

    return noErr;

}


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Static when playing back buffers
      • From: Kevin Dixon <email@hidden>
References: 
 >Static when playing back buffers (From: Pier <email@hidden>)

  • Prev by Date: Re: Core Audio error -536870212
  • Next by Date: Re: USB High-Speed uFrame Limitations
  • Previous by thread: Static when playing back buffers
  • Next by thread: Re: Static when playing back buffers
  • Index(es):
    • Date
    • Thread