mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-11-25 04:09:57 +00:00
mov: do not set AVCodecContext.frame_size
It is not necessary.
This commit is contained in:
parent
9727264220
commit
237a855caf
@ -1406,20 +1406,16 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries)
|
||||
// force sample rate for qcelp when not stored in mov
|
||||
if (st->codec->codec_tag != MKTAG('Q','c','l','p'))
|
||||
st->codec->sample_rate = 8000;
|
||||
st->codec->frame_size= 160;
|
||||
st->codec->channels= 1; /* really needed */
|
||||
break;
|
||||
case CODEC_ID_AMR_NB:
|
||||
st->codec->channels= 1; /* really needed */
|
||||
/* force sample rate for amr, stsd in 3gp does not store sample rate */
|
||||
st->codec->sample_rate = 8000;
|
||||
/* force frame_size, too, samples_per_frame isn't always set properly */
|
||||
st->codec->frame_size = 160;
|
||||
break;
|
||||
case CODEC_ID_AMR_WB:
|
||||
st->codec->channels = 1;
|
||||
st->codec->sample_rate = 16000;
|
||||
st->codec->frame_size = 320;
|
||||
break;
|
||||
case CODEC_ID_MP2:
|
||||
case CODEC_ID_MP3:
|
||||
@ -1429,12 +1425,10 @@ int ff_mov_read_stsd_entries(MOVContext *c, AVIOContext *pb, int entries)
|
||||
case CODEC_ID_GSM:
|
||||
case CODEC_ID_ADPCM_MS:
|
||||
case CODEC_ID_ADPCM_IMA_WAV:
|
||||
st->codec->frame_size = sc->samples_per_frame;
|
||||
st->codec->block_align = sc->bytes_per_frame;
|
||||
break;
|
||||
case CODEC_ID_ALAC:
|
||||
if (st->codec->extradata_size == 36) {
|
||||
st->codec->frame_size = AV_RB32(st->codec->extradata+12);
|
||||
st->codec->channels = AV_RB8 (st->codec->extradata+21);
|
||||
st->codec->sample_rate = AV_RB32(st->codec->extradata+32);
|
||||
}
|
||||
@ -1984,13 +1978,6 @@ static int mov_read_trak(MOVContext *c, AVIOContext *pb, MOVAtom atom)
|
||||
|
||||
avpriv_set_pts_info(st, 64, 1, sc->time_scale);
|
||||
|
||||
if (st->codec->codec_type == AVMEDIA_TYPE_AUDIO &&
|
||||
!st->codec->frame_size && sc->stts_count == 1) {
|
||||
st->codec->frame_size = av_rescale(sc->stts_data[0].duration,
|
||||
st->codec->sample_rate, sc->time_scale);
|
||||
av_dlog(c->fc, "frame size %d\n", st->codec->frame_size);
|
||||
}
|
||||
|
||||
mov_build_index(c, st);
|
||||
|
||||
if (sc->dref_id-1 < sc->drefs_count && sc->drefs[sc->dref_id-1].path) {
|
||||
|
Loading…
Reference in New Issue
Block a user