Ticket #1603: ima.diff

File ima.diff, 1.6 KB (added by ami_stuff, 4 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;