Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

audioconverter and unpacked source



hi all,

i've been using the audioconverter for a while now and have had no trouble with it til now. i'm trying to convert from an unpacked integer format to 32-bit float. 

here's the source asbd. i'm trying to describe a 16 bit signed integer sample, low aligned, stored in a 4 byte signed integer.

fmt.mSampleRate = 44100;
fmt.mFramesPerPacket = 1;
fmt.mChannelsPerFrame = 1;
fmt.mBitsPerChannel = 16;
fmt.mBytesPerFrame =  4;
fmt.mBytesPerPacket = 4;
fmt.mFormatID = audioFormatLinearPCM;
fmt.mFormatFlags = kAudioFormatFlagsNativeEndian | kAudioFormatFlagIsSignedInteger;
fmt.mReserved = 0;

here's the dest asbd. i'm trying to describe a 32 bit float sample.

fmt.mSampleRate = 44100;
fmt.mFramesPerPacket = 1;
fmt.mChannelsPerFrame = 1;
fmt.mBitsPerChannel = 32;
fmt.mBytesPerFrame =  4;
fmt.mBytesPerPacket = 4;
fmt.mFormatID = audioFormatLinearPCM;
fmt.mFormatFlags = kAudioFormatFlagsNativeFloatPacked;
fmt.mReserved = 0;

the converter is created and runs, but the problem is in the float values created. it works fine on a ppc mac, but on my intel mac i get a strange result. 

my first sample in is -32768 or 0x0080FFFF. after conversion, i should get -1 or 0x000080BF. instead, on the intel mac i get 0x000080B7.

my understanding of unpacked, low-aligned leads me to believe that the FFFF of the input sample would be ignored by the audio converter. i then tried modifying all four bytes of the input and found that any change to the four input bytes was changing the output of the converter. what am i missing? or... how am i misunderstanding this? 

any help would be appreciated,


christopher skogen
gizmolabs, inc.
office: (404) 687-0008
fax: (404) 687-1010



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

This email sent to email@hidden



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.