diff options
author | Justin Ruggles <justin.ruggles@gmail.com> | 2012-02-26 23:27:21 -0500 |
---|---|---|
committer | Justin Ruggles <justin.ruggles@gmail.com> | 2012-03-05 13:08:17 -0500 |
commit | f1e73100d94ba2ee1925372151482ee7b17f48f3 (patch) | |
tree | 55e28bc6321b7cc37b411fb6c9cbebad6d35a540 /libavformat | |
parent | ec2e767bf31cc0a79c0bcb563352688fe7bf4274 (diff) | |
download | ffmpeg-f1e73100d94ba2ee1925372151482ee7b17f48f3.tar.gz |
siff: do not set AVCodecContext.frame_size
also, properly set AVCodecContext.bits_per_coded_sample, AVStreasm.start_time,
and AVPacket.duration.
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/siff.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libavformat/siff.c b/libavformat/siff.c index 7e5b0b4d8c..64260dd1ac 100644 --- a/libavformat/siff.c +++ b/libavformat/siff.c @@ -78,10 +78,10 @@ static int create_audio_stream(AVFormatContext *s, SIFFContext *c) ast->codec->codec_type = AVMEDIA_TYPE_AUDIO; ast->codec->codec_id = CODEC_ID_PCM_U8; ast->codec->channels = 1; - ast->codec->bits_per_coded_sample = c->bits; + ast->codec->bits_per_coded_sample = 8; ast->codec->sample_rate = c->rate; - ast->codec->frame_size = c->block_align; avpriv_set_pts_info(ast, 16, 1, c->rate); + ast->start_time = 0; return 0; } @@ -211,9 +211,10 @@ static int siff_read_packet(AVFormatContext *s, AVPacket *pkt) pkt->stream_index = 0; c->curstrm = -1; }else{ - if (av_get_packet(s->pb, pkt, c->sndsize - 4) < 0) + if ((size = av_get_packet(s->pb, pkt, c->sndsize - 4)) < 0) return AVERROR(EIO); pkt->stream_index = 1; + pkt->duration = size; c->curstrm = 0; } if(!c->cur_frame || c->curstrm) @@ -224,6 +225,7 @@ static int siff_read_packet(AVFormatContext *s, AVPacket *pkt) size = av_get_packet(s->pb, pkt, c->block_align); if(size <= 0) return AVERROR(EIO); + pkt->duration = size; } return pkt->size; } |