aboutsummaryrefslogtreecommitdiff
path: root/lib/ffmpeg
diff options
context:
space:
mode:
authorJoakim Plate <elupus@ecce.se>2012-10-25 22:15:54 +0200
committerJoakim Plate <elupus@ecce.se>2012-10-25 22:21:16 +0200
commit95b0749850511cebde3197962766913f306a6ed9 (patch)
tree15ff940e6320f9df2c0c0746231b36b7d05f3f85 /lib/ffmpeg
parent69791709ad5858fe0e35e9175705c160d5731a0f (diff)
ffmpeg: reduce allowed mp4/mov a/v skew to 4 seconds
Our video queue's are not guaranteed to handle exactly 8 seconds it can be a small amount less. For files that are not interleaved this meant we we unable to get proper playback This closes ticket #13176
Diffstat (limited to 'lib/ffmpeg')
-rw-r--r--lib/ffmpeg/libavformat/mov.c4
-rw-r--r--lib/ffmpeg/patches/0014-changed-allow-4-second-skew-between-streams-in-mov-b.patch (renamed from lib/ffmpeg/patches/0014-changed-allow-8-second-skew-between-streams-in-mov-b.patch)6
2 files changed, 5 insertions, 5 deletions
diff --git a/lib/ffmpeg/libavformat/mov.c b/lib/ffmpeg/libavformat/mov.c
index 0f9836cbb0..f5173e173c 100644
--- a/lib/ffmpeg/libavformat/mov.c
+++ b/lib/ffmpeg/libavformat/mov.c
@@ -2763,8 +2763,8 @@ static AVIndexEntry *mov_find_next_sample(AVFormatContext *s, AVStream **st)
if (!sample || (!s->pb->seekable && current_sample->pos < sample->pos) ||
(s->pb->seekable &&
((msc->pb != s->pb && dts < best_dts) || (msc->pb == s->pb &&
- ((FFABS(best_dts - dts) <= 8*AV_TIME_BASE && current_sample->pos < sample->pos) ||
- (FFABS(best_dts - dts) > 8*AV_TIME_BASE && dts < best_dts)))))) {
+ ((FFABS(best_dts - dts) <= 4*AV_TIME_BASE && current_sample->pos < sample->pos) ||
+ (FFABS(best_dts - dts) > 4*AV_TIME_BASE && dts < best_dts)))))) {
sample = current_sample;
best_dts = dts;
*st = avst;
diff --git a/lib/ffmpeg/patches/0014-changed-allow-8-second-skew-between-streams-in-mov-b.patch b/lib/ffmpeg/patches/0014-changed-allow-4-second-skew-between-streams-in-mov-b.patch
index 80813c9235..be05ec0824 100644
--- a/lib/ffmpeg/patches/0014-changed-allow-8-second-skew-between-streams-in-mov-b.patch
+++ b/lib/ffmpeg/patches/0014-changed-allow-4-second-skew-between-streams-in-mov-b.patch
@@ -1,7 +1,7 @@
From 5cc735503bfe1242606f19638bffeb686dd4d1b5 Mon Sep 17 00:00:00 2001
From: Joakim Plate <elupus@ecce.se>
Date: Wed, 8 Dec 2010 14:03:43 +0000
-Subject: [PATCH 14/24] changed: allow 8 second skew between streams in mov
+Subject: [PATCH 14/24] changed: allow 4 second skew between streams in mov
before attempting to seek
---
@@ -18,8 +18,8 @@ index 9da8eab..0f9836c 100644
((msc->pb != s->pb && dts < best_dts) || (msc->pb == s->pb &&
- ((FFABS(best_dts - dts) <= AV_TIME_BASE && current_sample->pos < sample->pos) ||
- (FFABS(best_dts - dts) > AV_TIME_BASE && dts < best_dts)))))) {
-+ ((FFABS(best_dts - dts) <= 8*AV_TIME_BASE && current_sample->pos < sample->pos) ||
-+ (FFABS(best_dts - dts) > 8*AV_TIME_BASE && dts < best_dts)))))) {
++ ((FFABS(best_dts - dts) <= 4*AV_TIME_BASE && current_sample->pos < sample->pos) ||
++ (FFABS(best_dts - dts) > 4*AV_TIME_BASE && dts < best_dts)))))) {
sample = current_sample;
best_dts = dts;
*st = avst;