diff options
author | Joakim Plate <elupus@ecce.se> | 2012-10-25 22:15:54 +0200 |
---|---|---|
committer | Joakim Plate <elupus@ecce.se> | 2012-10-25 22:21:16 +0200 |
commit | 95b0749850511cebde3197962766913f306a6ed9 (patch) | |
tree | 15ff940e6320f9df2c0c0746231b36b7d05f3f85 /lib/ffmpeg | |
parent | 69791709ad5858fe0e35e9175705c160d5731a0f (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.c | 4 | ||||
-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; |