Пример #1
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];
    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;
}
Пример #2
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;
}