[FFmpeg-trac] #2513(FFplay:new): ffplay stuttering on MOV file via http

FFmpeg trac at avcodec.org
Tue Apr 30 04:17:37 CEST 2013


#2513: ffplay stuttering on MOV file via http
------------------------------------+----------------------------------
             Reporter:  jyavenard   |                    Owner:
                 Type:  defect      |                   Status:  new
             Priority:  normal      |                Component:  FFplay
              Version:  git-master  |               Resolution:
             Keywords:              |               Blocked By:
             Blocking:              |  Reproduced by developer:  0
Analyzed by developer:  0           |
------------------------------------+----------------------------------

Comment (by jyavenard):

 Investigating further, I found that xbmc didn't suffer the issue.
 Upon investigation

 this patch from them:
 https://github.com/xbmc/xbmc/blob/master/lib/ffmpeg/patches/0014-changed-
 allow-4-second-skew-between-streams-in-mov-b.patch

 {{{
 From 5cc735503bfe1242606f19638bffeb686dd4d1b5 Mon Sep 17 00:00:00 2001
 From: Joakim Plate <elupus at ecce.se>
 Date: Wed, 8 Dec 2010 14:03:43 +0000
 Subject: [PATCH 14/24] changed: allow 4 second skew between streams in mov
  before attempting to seek

 ---
  libavformat/mov.c |    4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

 diff --git a/libavformat/mov.c b/libavformat/mov.c
 index 9da8eab..0f9836c 100644
 --- a/libavformat/mov.c
 +++ b/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) <= AV_TIME_BASE &&
 current_sample->pos < sample->pos) ||
 -                  (FFABS(best_dts - dts) > 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;
 --
 1.7.9.4

 }}}

 is what makes it play properly

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2513#comment:1>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list