Skip to content

Commit

Permalink
Merge commit '75647dea6f7db79b409bad66a119f5c73da730f3'
Browse files Browse the repository at this point in the history
* commit '75647dea6f7db79b409bad66a119f5c73da730f3':
  oggparseogm: check timing variables

See: 9ed388f
Merged-by: Michael Niedermayer <[email protected]>
  • Loading branch information
michaelni committed Jan 6, 2014
2 parents 4e276b8 + 75647de commit 5972559
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion libavformat/oggparseogm.c
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,11 @@ ogm_header(AVFormatContext *s, int idx)
size = FFMIN(size, os->psize);
time_unit = bytestream2_get_le64(&p);
spu = bytestream2_get_le64(&p);
if (!time_unit || !spu) {
av_log(s, AV_LOG_ERROR, "Invalid timing values.\n");
return AVERROR_INVALIDDATA;
}

bytestream2_skip(&p, 4); /* default_len */
bytestream2_skip(&p, 8); /* buffersize + bits_per_sample */

Expand All @@ -90,7 +95,7 @@ ogm_header(AVFormatContext *s, int idx)
st->codec->channels = bytestream2_get_le16(&p);
bytestream2_skip(&p, 2); /* block_align */
st->codec->bit_rate = bytestream2_get_le32(&p) * 8;
st->codec->sample_rate = time_unit ? spu * 10000000 / time_unit : 0;
st->codec->sample_rate = spu * 10000000 / time_unit;
avpriv_set_pts_info(st, 64, 1, st->codec->sample_rate);
if (size >= 56 && st->codec->codec_id == AV_CODEC_ID_AAC) {
bytestream2_skip(&p, 4);
Expand Down

0 comments on commit 5972559

Please sign in to comment.