tag = track->enc->codec_tag; if (!tag)
static int mov_write_audio_tag(ByteIOContext *pb, MOVTrack* track){    int pos = url_ftell(pb);    int tag;        put_be32(pb, 0); /* size */    tag = codec_get_tag(codec_movaudio_tags, track->enc->codec_id);    // if no mac fcc found, try with Microsoft tags    if (!tag)    {	int tmp = codec_get_tag(codec_wav_tags, track->enc->codec_id);        tag = MKTAG('m', 's', ((tmp >> 8) & 0xff), (tmp & 0xff));    }    put_le32(pb, tag); // store it byteswapped    put_be32(pb, 0); /* Reserved */    put_be16(pb, 0); /* Reserved */    put_be16(pb, 1); /* Data-reference index, XXX  == 1 */    /* SoundDescription */    if(track->mode == MODE_MOV && track->enc->codec_id == CODEC_ID_AAC)        put_be16(pb, 1); /* Version 1 */    else        put_be16(pb, 0); /* Version 0 */    put_be16(pb, 0); /* Revision level */    put_be32(pb, 0); /* Reserved */    put_be16(pb, track->enc->channels); /* Number of channels */    /* TODO: Currently hard-coded to 16-bit, there doesn't seem                 to be a good way to get number of bits of audio */    put_be16(pb, 0x10); /* Reserved */    if(track->enc->codec_id == CODEC_ID_AAC ||       track->enc->codec_id == CODEC_ID_MP3)    {        put_be16(pb, 0xfffe); /* compression ID (vbr)*/    }    else    {        put_be16(pb, 0); /* compression ID (= 0) */    }    put_be16(pb, 0); /* packet size (= 0) */    put_be16(pb, track->timescale); /* Time scale */    put_be16(pb, 0); /* Reserved */    if(track->mode == MODE_MOV && track->enc->codec_id == CODEC_ID_AAC)    {        /* SoundDescription V1 extended info */        put_be32(pb, track->enc->frame_size); /* Samples per packet  */        put_be32(pb, 1536); /* Bytes per packet */        put_be32(pb, 2); /* Bytes per frame */        put_be32(pb, 2); /* Bytes per sample */    }    if(track->enc->codec_id == CODEC_ID_AAC) {        if( track->mode == MODE_MOV ) mov_write_wave_tag(pb, track);        else mov_write_esds_tag(pb, track);    }    if(track->enc->codec_id == CODEC_ID_AMR_NB)        mov_write_damr_tag(pb);    return updateSize (pb, pos);}