int aac_decode(aac_dec_opt *opt) { int result; int def_srate = 0; int outfile_set = 0; int mp4file = 0; char *fnp; char audioFileName[MAX_PATH]; unsigned char header[8]; FILE *hMP4File; /* point to the specified file name */ strcpy(audioFileName, opt->filename); fnp = (char *)strrchr(audioFileName,'.'); if (fnp) fnp[0] = '\0'; strcat(audioFileName, file_ext[opt->file_type]); mp4file = 0; hMP4File = fopen(opt->filename, "rb"); if (!hMP4File) { return 1; } fread(header, 1, 8, hMP4File); fclose(hMP4File); if (header[4] == 'f' && header[5] == 't' && header[6] == 'y' && header[7] == 'p') mp4file = 1; if (mp4file) { result = decodeMP4file(audioFileName, opt); } else { result = decodeAACfile(audioFileName, def_srate, opt); } return 0; }
int aac_decode(aac_dec_opt *opt) { int result; int def_srate = 0; int outfile_set = 0; int mp4file = 0; char *fnp; char audioFileName[MAX_PATH]; MP4FileHandle infile; /* point to the specified file name */ strcpy(audioFileName, opt->filename); fnp = (char *)strrchr(audioFileName,'.'); if (fnp) fnp[0] = '\0'; strcat(audioFileName, file_ext[opt->file_type]); mp4file = 1; infile = MP4Read(audioFileName, 0); if (!infile) mp4file = 0; if (infile) MP4Close(infile); if (mp4file) { result = decodeMP4file(audioFileName, opt); } else { result = decodeAACfile(audioFileName, def_srate, opt); } return 0; }