- unsigned asc_sfreq = aacenc_sampling_freq_tab[(asc[0]&0x7)<<1 |asc[1]>>7];
-
- switch (params->profile) {
- case AOT_SBR:
- case AOT_PS:
- if (*outsize < ascsize + 3)
- return -1;
- memcpy(outasc, asc, ascsize);
- /* syncExtensionType:11 (value:0x2b7) */
- outasc[ascsize+0] = 0x2b << 1;
- outasc[ascsize+1] = 0x7 << 5;
- /* extensionAudioObjectType:5 (value:5)*/
- outasc[ascsize+1] |= 5;
- /* sbrPresentFlag:1 (value:1) */
- outasc[ascsize+2] = 0x80;
- /* extensionSamplingFrequencyIndex:4 */
- outasc[ascsize+2] |= sampling_freq_index(asc_sfreq << 1) << 3;
- if (params->profile == AOT_SBR) {
- *outsize = ascsize + 3;
- break;
+ LIB_INFO *lib_info = 0;
+ lib_info = calloc(FDK_MODULE_LAST, sizeof(LIB_INFO));
+ if (aacEncGetLibInfo(lib_info) == AACENC_OK) {
+ int i;
+ for (i = 0; i < FDK_MODULE_LAST; ++i) {
+ if (lib_info[i].module_id == FDK_AACENC) {
+ memcpy(info, &lib_info[i], sizeof(LIB_INFO));
+ break;
+ }