summaryrefslogtreecommitdiff
path: root/chromium/third_party/ffmpeg/libavformat
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2016-08-01 12:59:39 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2016-08-04 12:40:43 +0000
commit28b1110370900897ab652cb420c371fab8857ad4 (patch)
tree41b32127d23b0df4f2add2a27e12dc87bddb260e /chromium/third_party/ffmpeg/libavformat
parent399c965b6064c440ddcf4015f5f8e9d131c7a0a6 (diff)
downloadqtwebengine-chromium-28b1110370900897ab652cb420c371fab8857ad4.tar.gz
BASELINE: Update Chromium to 53.0.2785.41
Also adds a few extra files for extensions. Change-Id: Iccdd55d98660903331cf8b7b29188da781830af4 Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/third_party/ffmpeg/libavformat')
-rw-r--r--chromium/third_party/ffmpeg/libavformat/movenc.c6
-rw-r--r--chromium/third_party/ffmpeg/libavformat/oggparseopus.c2
-rw-r--r--chromium/third_party/ffmpeg/libavformat/utils.c4
3 files changed, 8 insertions, 4 deletions
diff --git a/chromium/third_party/ffmpeg/libavformat/movenc.c b/chromium/third_party/ffmpeg/libavformat/movenc.c
index 799c26fd553..ad142ad0a39 100644
--- a/chromium/third_party/ffmpeg/libavformat/movenc.c
+++ b/chromium/third_party/ffmpeg/libavformat/movenc.c
@@ -2400,7 +2400,11 @@ static int mov_write_tkhd_tag(AVIOContext *pb, MOVMuxContext *mov,
if (!track_width_1616 ||
track->height != track->enc->height ||
track_width_1616 > UINT32_MAX)
- track_width_1616 = track->enc->width * 0x10000U;
+ track_width_1616 = track->enc->width * 0x10000ULL;
+ if (track_width_1616 > UINT32_MAX) {
+ av_log(mov->fc, AV_LOG_WARNING, "track width too large\n");
+ track_width_1616 = 0;
+ }
avio_wb32(pb, track_width_1616);
avio_wb32(pb, track->height * 0x10000U);
}
diff --git a/chromium/third_party/ffmpeg/libavformat/oggparseopus.c b/chromium/third_party/ffmpeg/libavformat/oggparseopus.c
index 584fff45389..8bb2a413666 100644
--- a/chromium/third_party/ffmpeg/libavformat/oggparseopus.c
+++ b/chromium/third_party/ffmpeg/libavformat/oggparseopus.c
@@ -117,7 +117,7 @@ static int opus_packet(AVFormatContext *avf, int idx)
if (!os->psize)
return AVERROR_INVALIDDATA;
- if (os->granule > INT64_MAX - UINT32_MAX) {
+ if (os->granule > (1LL << 62)) {
av_log(avf, AV_LOG_ERROR, "Unsupported huge granule pos %"PRId64 "\n", os->granule);
return AVERROR_INVALIDDATA;
}
diff --git a/chromium/third_party/ffmpeg/libavformat/utils.c b/chromium/third_party/ffmpeg/libavformat/utils.c
index 8222a3c8c72..7d0de22d4c2 100644
--- a/chromium/third_party/ffmpeg/libavformat/utils.c
+++ b/chromium/third_party/ffmpeg/libavformat/utils.c
@@ -2369,7 +2369,7 @@ static void update_stream_timings(AVFormatContext *ic)
end_time1 = av_rescale_q_rnd(st->duration, st->time_base,
AV_TIME_BASE_Q,
AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX);
- if (end_time1 != AV_NOPTS_VALUE) {
+ if (end_time1 != AV_NOPTS_VALUE && start_time1 <= INT64_MAX - end_time1) {
end_time1 += start_time1;
end_time = FFMAX(end_time, end_time1);
}
@@ -2918,7 +2918,7 @@ static void compute_chapters_end(AVFormatContext *s)
unsigned int i, j;
int64_t max_time = 0;
- if (s->duration > 0)
+ if (s->duration > 0 && s->start_time < INT64_MAX - s->duration)
max_time = s->duration +
((s->start_time == AV_NOPTS_VALUE) ? 0 : s->start_time);