[FFmpeg-devel] [PATCH] ffmpeg: switch to avformat_seek_file for stream_loop

Michael Niedermayer michael at niedermayer.cc
Thu Sep 5 20:20:31 EEST 2019


On Wed, Sep 04, 2019 at 03:47:50PM +0530, Gyan wrote:
> 
> 
> On 02-09-2019 09:24 PM, Michael Niedermayer wrote:
> >On Sat, Aug 31, 2019 at 08:28:51PM +0530, Gyan wrote:
> >>A user observed that stream_loop didn't work with very short FLV files.
> >>seek_to_start in ffmpeg.c calls av_seek_frame with no flags; FLV seek only
> >>works with RTMP protocol so lavf falls back on seek_frame_generic which
> >>searches forward, skipping a GOP. With files with two index entries in
> >>stream, the file doesn't loop at all.
> >>
> >>I switched to avformat_seek_file which will set the BACKWARDS flag when
> >>seeking to start of file. stream_loop works and no frames are dropped.
> >>
> >>FATE passes.
> >>
> >>Gyan
> >>  ffmpeg.c |    2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>c79dc6d27a9c8c1bd0cffa2d251b2aa7caf23bf3  0001-ffmpeg-switch-to-avformat_seek_file-for-stream_loop.patch
> >> From 4af64f612c65378f0a220284ca99ad033ece8cd3 Mon Sep 17 00:00:00 2001
> >>From: Gyan Doshi <ffmpeg at gyani.pro>
> >>Date: Sat, 31 Aug 2019 19:45:58 +0530
> >>Subject: [PATCH] ffmpeg: switch to avformat_seek_file for stream_loop
> >>
> >>Fixes stream_loop with very short files where seeking is generic index
> >>search
> >>---
> >>  fftools/ffmpeg.c | 2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >probably ok
> >
> >it also might make sense to add the testcase to fate as you mentioned "short"
> >
> 
> New patches attached. Will send file to samples-request.
> 
> Gyan

>  ffmpeg.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> a05d0f2f099a64aa3d749a6fbd0617c0bf24ab3b  0001-ffmpeg-switch-to-avformat_seek_file-for-stream_loop.patch
> From 953c9c11d90aa69121825284d5f6bf0c34793b2d Mon Sep 17 00:00:00 2001
> From: Gyan Doshi <ffmpeg at gyani.pro>
> Date: Sat, 31 Aug 2019 19:45:58 +0530
> Subject: [PATCH 1/2] ffmpeg: switch to avformat_seek_file for stream_loop
> 
> Fixes stream_loop with very short files where seeking is generic index
> search
> ---
>  fftools/ffmpeg.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Tested on x86 linux 32/64bit, mingw 32/64, qemu mips & arm

Thanks

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

In a rich man's house there is no place to spit but his face.
-- Diogenes of Sinope
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20190905/60fd58d6/attachment.sig>


More information about the ffmpeg-devel mailing list