-
Notifications
You must be signed in to change notification settings - Fork 0
/
aaccodecver.c
30 lines (27 loc) · 1.07 KB
/
aaccodecver.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <AudioToolbox/AudioToolbox.h>
#include <CoreServices/CoreServices.h>
#include <dlfcn.h>
#include <stdio.h>
int main(void)
{
ComponentDescription cd;
cd.componentType = kAudioEncoderComponentType;
cd.componentSubType = 'aach';
cd.componentManufacturer = kAudioUnitManufacturer_Apple;
cd.componentFlags = 0;
cd.componentFlagsMask = 0;
ComponentResult (*ComponentRoutine) (ComponentParameters * cp, Handle componentStorage);
void *handle = dlopen("/System/Library/Components/AudioCodecs.component/Contents/MacOS/AudioCodecs",RTLD_LAZY|RTLD_LOCAL);
if(handle) {
ComponentRoutine = dlsym(handle,"ACMP4AACHighEfficiencyEncoderEntry");
if(ComponentRoutine) {
RegisterComponent(&cd,ComponentRoutine,0,NULL,NULL,NULL);
}
}
unsigned int ver = CallComponentVersion((ComponentInstance)FindNextComponent(NULL, &cd));
fprintf(stderr,"AAC HE: %d.%d.%d\n",ver>>16,(ver>>8)&0xff,ver&0xff);
cd.componentSubType = 'aac ';
ver = CallComponentVersion((ComponentInstance)FindNextComponent(NULL, &cd));
fprintf(stderr,"AAC LC: %d.%d.%d\n",ver>>16,(ver>>8)&0xff,ver&0xff);
return 0;
}