Пример #1
0
void
id3tag_init(lame_global_flags * gfp)
{
    lame_internal_flags *gfc = gfp->internal_flags;
    free_id3tag(gfc);
    memset(&gfc->tag_spec, 0, sizeof gfc->tag_spec);
    gfc->tag_spec.genre_id3v1 = GENRE_NUM_UNKNOWN;
    gfc->tag_spec.padding_size = 128;
    id3v2AddLameVersion(gfc);
}
Пример #2
0
void
freegfc(lame_internal_flags * const gfc)
{                       /* bit stream structure */
    int     i;


    for (i = 0; i <= 2 * BPC; i++)
        if (gfc->blackfilt[i] != NULL) {
            free(gfc->blackfilt[i]);
            gfc->blackfilt[i] = NULL;
        }
    if (gfc->inbuf_old[0]) {
        free(gfc->inbuf_old[0]);
        gfc->inbuf_old[0] = NULL;
    }
    if (gfc->inbuf_old[1]) {
        free(gfc->inbuf_old[1]);
        gfc->inbuf_old[1] = NULL;
    }

    if (gfc->bs.buf != NULL) {
        free(gfc->bs.buf);
        gfc->bs.buf = NULL;
    }

    if (gfc->VBR_seek_table.bag) {
        free(gfc->VBR_seek_table.bag);
        gfc->VBR_seek_table.bag = NULL;
        gfc->VBR_seek_table.size = 0;
    }
    if (gfc->ATH) {
        free(gfc->ATH);
    }
    if (gfc->PSY) {
        free(gfc->PSY);
    }
    if (gfc->rgdata) {
        free(gfc->rgdata);
    }
    if (gfc->s3_ll) {
        /* XXX allocated in psymodel_init() */
        free(gfc->s3_ll);
    }
    if (gfc->s3_ss) {
        /* XXX allocated in psymodel_init() */
        free(gfc->s3_ss);
    }
    if (gfc->in_buffer_0) {
        free(gfc->in_buffer_0);
    }
    if (gfc->in_buffer_1) {
        free(gfc->in_buffer_1);
    }
    free_id3tag(gfc);
#ifdef DECODE_ON_THE_FLY
    if (gfc->hip) {
        hip_decode_exit(gfc->hip);
        gfc->hip = 0;
    }
#endif
    free(gfc);
}