• 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
Fwd: Coreaudio-api Digest, Vol 3, Issue 116
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fwd: Coreaudio-api Digest, Vol 3, Issue 116


  • Subject: Fwd: Coreaudio-api Digest, Vol 3, Issue 116
  • From: William Stewart <email@hidden>
  • Date: Wed, 12 Apr 2006 12:51:13 -0700

Some comments

Firstly, Sample Rate Changes:
---

Sample rate changes require a reset of the decoder, according to the ISO 11172-3 spec (MPEG 1 audio -- includes Layers 1, 2 and 3), so while technically not prohibited, are not seen much in practice due to having to having to reset and restart the decoder every time it happens. Were you thinking bit rate? That can change from packet to packet and frequently does for Layer 3.

That is, a SR Change in midstream will probably introduce a glitch when that stream is played back.


Secondly, the format:

Stevo is dealing with a flavour of MP3 that is CBR and was defined as part of the MPEG 2.5 spec. The characteristics of that format are being correctly described.

Bill


On 12/04/2006, at 12:21 PM, Dominic Feira wrote:

The description of the mp3 isn't valid. There should be 384 samples per packet for layer 1 audio. There should be 1152 samples per packet for layer 2, and layer 3 (mp3) audio. mBytesPerFrame shouldn't even be filled out. Here is a valid mp3 ASBD. All skipped fields are set to zero.

desc.mSampleRate = 44100.00;
desc.mFormatID = kAudioFormatMPEGLayer3;
desc.mFramesPerPacket = 1152;
desc.mChannelsPerFrame = 2;

If you are using the AudioFile API for reading the mp3 data, stop. The CA team has even said that its buggy.
You'll have to write your own mp3 parsing code. I did this so I can parse mp3 data that is in memory. Note that the sample rate can (and does) change from packet to packet in mp3.


Dominic Feira / Code Monkey / Ambrosia Software, Inc.

On Apr 12, 2006, at 3:05 PM, Stevo Brock wrote:
I have processed a TON of MP3 files through
AudioConverterFillComplexBuffer with no issues. However, I have just
discovered 3 files that are causing a paramErr right at the very end
of processing the audio.


The input format is MP3 (CBR), 16, 44.1kHz, stereo, 2304 samples per
packet, 418 bytes per packet, 836 bytes per frame
The output format is PCM (Floating point), 32, 44.1Khz, stereo, 1
sample per packet, 8 bytes per packet, 8 bytes per frame




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


This email sent to email@hidden

--- Eric M. Aldrich I Apple Core Audio Engineering Audio Codecs



--
mailto:email@hidden
tel: +1 408 974 4056
________________________________________________________________________ __
"Much human ingenuity has gone into finding the ultimate Before.
The current state of knowledge can be summarized thus:
In the beginning, there was nothing, which exploded" - Terry Pratchett
________________________________________________________________________ __


_______________________________________________
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


  • Prev by Date: Re: AU automation questions
  • Next by Date: Re: paramErr from AudioConverterFillComplexBuffer with MP3 source
  • Previous by thread: Re: Coreaudio-api Digest, Vol 3, Issue 116
  • Next by thread: I think I weaseled out or my thread problem.
  • Index(es):
    • Date
    • Thread