• 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: AUGraph Teardown sequence
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: AUGraph Teardown sequence


  • Subject: RE: AUGraph Teardown sequence
  • From: Tim Dorcey <email@hidden>
  • Date: Fri, 03 Jan 2014 13:40:41 -0800

For what it’s worth, I have been using same sequence as you, except:

1.       I call AUGraphUnitialize without any check whether it is initialized

2.       I do not call AUGraphClose at all

 

I do this quite often during the course of my app running and have never seen any crashes.  My graph is a mixer component attached to a RemoteIO unit.

 

Tim

 

From: coreaudio-api-bounces+tim=email@hidden [mailto:coreaudio-api-bounces+tim=email@hidden] On Behalf Of Sasikumar JP
Sent: Thursday, January 02, 2014 8:35 PM
To: Core Audio Apple
Subject: AUGraph Teardown sequence

 

Hi,

    I have written streaming radio application which uses the AudioUnit for playback. My application is crashing randomly(once in 50 times or so) during AUGraph cleanup process.

 

I could not see any document from apple what API sequence should be used to cleanup the AUGraph. I have looked at the iOS Audio Unit Sample codes, Most of the code does not use any cleanup method. few code uses only DisposeAUGraph.

 

Here is the API Sequence i am following to clean up the AUGraph

 

AUGraphStop() => Check if AUGraphIsRunning before call this method

AUGraphUninitialize() => Check of AUGraph IsInitialized before call this method

AUGraphClose()

DisposeAUGraph()

 

Here is the crash Log from crashlytics

2 Crashed: com.vikkrithik.indradio

EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0xc0000004

 

Thread 2: Crashed: com.vikkrithik.indradio

0  AudioToolbox                   0x2e11e5fc AURemoteIO::~AURemoteIO() + 711

1  AudioToolbox                   0x2e11e583 AURemoteIO::~AURemoteIO() + 590

2  AudioToolbox                   0x2e049427 ComponentBase::AP_Close(void*) + 102

3  AudioToolbox                   0x2e0492ad APComponentInstance::DisposeInstance() + 88

4  AudioToolbox                   0x2e1ced27 AudioUnitNodeInfo::Close() + 22

5  AudioToolbox                   0x2e1cc011 AUGraphClose + 80

6  INDRadio                       0x001b01b1 -[JPStreamAudioPlayer closeAUGraph] + 22764

7  INDRadio                       0x001afa4d -[JPStreamAudioPlayer cleanupAudioPlayBuffer] + 20872

8  INDRadio                       0x001aeb17 __27-[JPStreamAudioPlayer play]_block_invoke + 16978

9  libdispatch.dylib              0x38fb20c3 _dispatch_call_block_and_release + 10

10 libdispatch.dylib              0x38fb6e7b _dispatch_queue_drain + 374

11 libdispatch.dylib              0x38fb3f93 _dispatch_queue_invoke + 42

12 libdispatch.dylib              0x38fb7745 _dispatch_root_queue_drain + 76

13 libdispatch.dylib              0x38fb79c5 _dispatch_worker_thread2 + 56

14 libsystem_pthread.dylib        0x390e1dff _pthread_wqthread + 298

 

CloseAUGraph is method which handles the AUGraph clean up.

 

I dont see any memory leak in instruments if i don't call closeAUGraph method.

 

 

Is AUGraph clean up mandatory?

What sequence should be called to clean up the AUGraph?

What condition should be validated before each cleanup API call?

 

Any help in this regard greatly appreciated.

 

Thank you

Sasikumar JP

 _______________________________________________
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: AUGraph Teardown sequence
      • From: Sasikumar JP <email@hidden>
References: 
 >AUGraph Teardown sequence (From: Sasikumar JP <email@hidden>)

  • Prev by Date: Re: AUGraph Teardown sequence
  • Next by Date: RE: AUGraph Teardown sequence
  • Previous by thread: Re: AUGraph Teardown sequence
  • Next by thread: RE: AUGraph Teardown sequence
  • Index(es):
    • Date
    • Thread