• 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: Quicktime support for Core Audio AudioFileFormat components.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Quicktime support for Core Audio AudioFileFormat components.


  • Subject: Re: Quicktime support for Core Audio AudioFileFormat components.
  • From: Nathaniel Gray <email@hidden>
  • Date: Wed, 14 Sep 2005 18:27:09 -0700

On 9/14/05, Brad Ford <email@hidden> wrote:
>
> On Sep 14, 2005, at 11:21 AM, Nathaniel Gray wrote:
>
> > Hello Quicktime folks,
> >
> > Like a lot of folks out there I would like to have first-class support
> > various open audio codecs in OS X.  My short-term desire is to be able
> > to play Ogg Vorbis files in iTunes, for example.  As I'm sure you are
> > aware, the Ogg Vorbis components from qtcomponents.sf.net didn't
> > survive the transition to QT 7, and the project appears to have been
> > abandoned.
>
> "Didn't survive" is a little harsh.  I've heard rumblings for a while
> that Ogg Vorbis was broken in the transition to QT 7, but could
> neither confirm nor deny -- so I built the projects and ran some test
> files and found that:
>
> 1) the Ogg 'eat ' component (.ogg -> QT movie importer component) is
> working just fine.  It parses ogg files and creates QuickTime movies
> in memory which have correct durations and can be stepped through and
> saved as QuickTime movies.

This is great news!  Thank you very much for testing this.

> 2) the crashing is in the vorbis 'sdec' component when trying to play
> back audio.  QuickTime now uses CoreAudio structures (i.e. Audio
> Converters) to play back movies instead of Sound Manager structures
> (i.e. SoundConverter).  Ogg, as I understand it is a variable bit
> rate, variable duration codec, and in order to be played back
> correctly by CoreAudio, it really needs to be recast as an AudioCodec
> ('adec' and 'aenc').

Yes.  This is something that I feel capable of doing, and there are
others working with me who are probably also well qualified.

> 3) The Ogg 'spit' component (QuickTime movie -> .ogg file exporter
> component) is working just fine.  I am able to open QuickTime movies
> and export them to .ogg files just fine.  These files play back
> properly in VLC.

Also very good news!

> In short, the only piece that appears to be broken right now is the
> decoder.  Writing one component is a lot easier than writing 4.  And
> it appears the more difficult eat and spit components are already
> working correctly, so you don't need to go there.

This is wonderful.  I believe this means there's a good chance we'll
have Ogg Vorbis/FLAC/etc support back in OS X soon.  :-)

> > At the moment, it appears that to get complete support for an audio
> > codec in OS X you need:
> > * a Core Audio AudioCodec for the audio stream format (e.g. vorbis)
> > * a Core Audio AudioFileComponent for the container format (e.g. ogg)
> > * 'eat ' and 'spit' quicktime components for the container format
> >
> > The purpose of the AudioFileComponent part overlaps to a large degree
> > with the eat/spit quicktime components.  If all you care about is
> > audio then the AFC and AC should be sufficient.  Furthermore, it's
> > much simpler to write an AFC than it is to write eat/spit components.
> > Bill Stewart from Core Audio has suggested that the plan is for QT to
> > eventually support AudioFileComponents.
>
> We definitely do want to support AudioFileComponents generically.  In
> QT 7 we already do provide partial support for AFC's (we can, for
> instance, import .caf, .aac, and .adts files).  But again, you don't
> need to worry about AFC's.  The Ogg project already has working eat
> and spit components.  So you can already read and write Ogg files.
> You just need an 'adec' to decode vorbis properly in an
> AudioConverter world, and perhaps an 'aenc' to encode vorbis --
> likewise using the AudioConverter API's.  CoreAudio provides
> excellent soup starter code for AudioCodec writing -- providing a
> sample codec (IMA) implementation in their SDK.  Check it out.

Yeah, we've been using the IMA codec as our starting point for the vorbis codec.

Thanks a million for checking this out for us.  You've made my day!
Cheers,
-n8

--
>>>-- Nathaniel Gray -- Caltech Computer Science ------>
>>>-- Mojave Project -- http://mojave.cs.caltech.edu -->
 _______________________________________________
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: Quicktime support for Core Audio AudioFileFormat components.
      • From: William Stewart <email@hidden>
References: 
 >Re: Quicktime support for Core Audio AudioFileFormat components. (From: Brad Ford <email@hidden>)

  • Prev by Date: Re: AudioFileComponents
  • Next by Date: AudioConverterConvertBuffer() and interleaved data
  • Previous by thread: Re: Quicktime support for Core Audio AudioFileFormat components.
  • Next by thread: Re: Quicktime support for Core Audio AudioFileFormat components.
  • Index(es):
    • Date
    • Thread