summaryrefslogtreecommitdiff
path: root/libavformat/mov.c
diff options
context:
space:
mode:
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>2008-04-24 17:17:41 +0000
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>2008-04-24 17:17:41 +0000
commit3f78a3a95535b21e32abc93f55b61ceecbbc8ee1 (patch)
treee63524131f80aff4c18869d040116ce37d7ee5f2 /libavformat/mov.c
parent76f34857ce056235556bcfff259b4bcf41035b02 (diff)
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.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 91f27c4045..ab5953c4a6 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){