summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavformat/siff.c8
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;
}