diff options
author | Baptiste Coudurier <baptiste.coudurier@gmail.com> | 2008-04-24 17:17:41 +0000 |
---|---|---|
committer | Baptiste Coudurier <baptiste.coudurier@gmail.com> | 2008-04-24 17:17:41 +0000 |
commit | 3f78a3a95535b21e32abc93f55b61ceecbbc8ee1 (patch) | |
tree | e63524131f80aff4c18869d040116ce37d7ee5f2 /libavformat/mov.c | |
parent | 76f34857ce056235556bcfff259b4bcf41035b02 (diff) | |
download | ffmpeg-streaming-3f78a3a95535b21e32abc93f55b61ceecbbc8ee1.zip ffmpeg-streaming-3f78a3a95535b21e32abc93f55b61ceecbbc8ee1.tar.gz |
demux qcelp, so this can work with soc decoder and stream copy
Originally committed as revision 12941 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/mov.c')
-rw-r--r-- | libavformat/mov.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c index 91f27c4..ab5953c 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -922,6 +922,9 @@ static int mov_read_stsd(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom) st->codec->sample_rate= 16000; st->codec->channels= 1; /* really needed */ break; + case CODEC_ID_QCELP: + st->codec->frame_size = sc->samples_per_frame; + st->need_parsing= AVSTREAM_PARSE_FULL; case CODEC_ID_AMR_NB: st->codec->sample_rate= 8000; st->codec->channels= 1; /* really needed */ @@ -1252,7 +1255,8 @@ static int mov_read_trak(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom) sc->time_scale= c->time_scale; av_set_pts_info(st, 64, sc->time_rate, sc->time_scale); - if (st->codec->codec_type == CODEC_TYPE_AUDIO && sc->stts_count == 1) + if (st->codec->codec_type == CODEC_TYPE_AUDIO && + !st->codec->frame_size && sc->stts_count == 1) st->codec->frame_size = av_rescale(sc->time_rate, st->codec->sample_rate, sc->time_scale); if(st->duration != AV_NOPTS_VALUE){ |