• 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
Adding support for new formats to AVAudioEngine on macOS
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Adding support for new formats to AVAudioEngine on macOS


  • Subject: Adding support for new formats to AVAudioEngine on macOS
  • From: "Stephen F. Booth via Coreaudio-api" <email@hidden>
  • Date: Wed, 8 Apr 2020 14:07:51 -0500

I'm interested in adding support for additional formats (WavPack, Musepack,
True Audio, etc.) to macOS. My goal is to play these formats using
AVAudioEngine.

Ideally I'd be able to subclass AVAudioFile and things would just work with
AVAudioEngine but thus far I haven't been successful. I'm not sure if
AVAudioFile is designed to support additional formats through subclassing.

Years ago Apple released Core Audio utility classes (ACCodec,
AudioFileObject, and friends, still available at
https://developer.apple.com/library/archive/samplecode/CoreAudioUtilityClasses/Introduction/Intro.html#//apple_ref/doc/uid/DTS40012328)
and using those it was possible to create new codecs/AudioFile components
for the system. Apple even released ACFLACCodec as an example. These are no
longer updated and I don't know if third-party audio components are
supported on recent versions of macOS.

Under the hood as best I can tell AVAudioEngine wraps AUGraph and
AVAudioPlayerNode wraps AUAudioFilePlayer, so I have a hunch that if one
could add a codec it would work across macOS including throughout
AVAudioEngine.

Is there a way to add additional formats?

I've considered the following options but I don't know which are realistic:
1. Subclass AVAudioFile
2. Create audio codecs/AudioFile components
3. Wrap the decoder in AVAudioSourceNode

Of the options, (1) would probably be the easiest to implement if it's
supported, (2) would provide the decoders across the system and avoid
reinventing the wheel, and (3) would probably work but is less desirable.

Thanks,
Stephen
 _______________________________________________
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: Adding support for new formats to AVAudioEngine on macOS
      • From: Doug Wyatt via Coreaudio-api <email@hidden>
  • Next by Date: Re: Adding support for new formats to AVAudioEngine on macOS
  • Next by thread: Re: Adding support for new formats to AVAudioEngine on macOS
  • Index(es):
    • Date
    • Thread