"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "libavformat/flvdec.c" between
libav-12.tar.gz and libav-12.1.tar.gz

About: libav provides cross-platform tools ("avconv") and libraries to convert, manipulate and stream a wide range of multimedia (audio and video) formats and protocols.

flvdec.c  (libav-12):flvdec.c  (libav-12.1)
skipping to change at line 905 skipping to change at line 905
avcodec_parameters_free(&par); avcodec_parameters_free(&par);
} }
} else { } else {
size -= flv_set_video_codec(s, st, flags & FLV_VIDEO_CODECID_MASK, 1); size -= flv_set_video_codec(s, st, flags & FLV_VIDEO_CODECID_MASK, 1);
} }
if (st->codecpar->codec_id == AV_CODEC_ID_AAC || if (st->codecpar->codec_id == AV_CODEC_ID_AAC ||
st->codecpar->codec_id == AV_CODEC_ID_H264) { st->codecpar->codec_id == AV_CODEC_ID_H264) {
int type = avio_r8(s->pb); int type = avio_r8(s->pb);
size--; size--;
if (size < 0) {
ret = AVERROR_INVALIDDATA;
goto leave;
}
if (st->codecpar->codec_id == AV_CODEC_ID_H264) { if (st->codecpar->codec_id == AV_CODEC_ID_H264) {
// sign extension // sign extension
int32_t cts = (avio_rb24(s->pb) + 0xff800000) ^ 0xff800000; int32_t cts = (avio_rb24(s->pb) + 0xff800000) ^ 0xff800000;
pts = dts + cts; pts = dts + cts;
if (cts < 0 && !flv->wrong_dts) { // dts might be wrong if (cts < 0 && !flv->wrong_dts) { // dts might be wrong
flv->wrong_dts = 1; flv->wrong_dts = 1;
av_log(s, AV_LOG_WARNING, av_log(s, AV_LOG_WARNING,
"Negative cts, previous timestamps might be wrong.\n"); "Negative cts, previous timestamps might be wrong.\n");
} }
} }
 End of changes. 1 change blocks. 
0 lines changed or deleted 6 lines changed or added

Home  |  About  |  All  |  Newest  |  Fossies Dox  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTPS