Ticket #1603: ima.diff

File ima.diff, 1.6 KB (added by ami_stuff, 14 years ago)
  • libavformat/movenc.c

    diff --git a/libavformat/movenc.c b/libavformat/movenc.c
    index 8196b73..7cee78f 100644
    a b static int mov_write_audio_tag(AVIOContext *pb, MOVTrack *track)  
    614614            version = 2;
    615615        } else if (track->audio_vbr || mov_pcm_le_gt16(track->enc->codec_id) ||
    616616                   track->enc->codec_id == CODEC_ID_ADPCM_MS ||
    617                    track->enc->codec_id == CODEC_ID_ADPCM_IMA_WAV) {
     617                   track->enc->codec_id == CODEC_ID_ADPCM_IMA_WAV ||
     618                   track->enc->codec_id == CODEC_ID_ADPCM_IMA_QT) {
    618619            version = 1;
    619620        }
    620621    }
    static int mov_write_audio_tag(AVIOContext *pb, MOVTrack *track)  
    652653                avio_wb16(pb, 8); /* bits per sample */
    653654            else
    654655                avio_wb16(pb, 16);
    655             avio_wb16(pb, track->audio_vbr ? -2 : 0); /* compression ID */
     656                if (track->enc->codec_id == CODEC_ID_ADPCM_IMA_QT)
     657                    avio_wb16(pb, 0xfffe);
     658                else
     659                    avio_wb16(pb, track->audio_vbr ? -2 : 0); /* compression ID */
    656660        } else { /* reserved for mp4/3gp */
    657661            avio_wb16(pb, 2);
    658662            avio_wb16(pb, 16);
    static int mov_write_stts_tag(AVIOContext *pb, MOVTrack *track)  
    12261230    avio_wb32(pb, entries); /* entry count */
    12271231    for (i=0; i<entries; i++) {
    12281232        avio_wb32(pb, stts_entries[i].count);
    1229         avio_wb32(pb, stts_entries[i].duration);
     1233        //avio_wb32(pb, stts_entries[i].duration);
     1234        avio_wb32(pb, 0x40);
    12301235    }
    12311236    av_free(stts_entries);
    12321237    return atom_size;