Opened 9 years ago

Closed 9 years ago

#4395 closed defect (fixed)

dv: crash while seeking with enabled lowres

Reported by: ami_stuff Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

git-689e028 05-Jul-2014 - crash
git-42a92a2 01-Jul-2014 - ok

(see also #44)

http://samples.mplayerhq.hu/DV-raw/small_test2.dv

I have no debug build of ffplay atm.

C:\>ffplay -vlowres 3 C:\small_test2.dv
ffplay version N-71042-g83020f8 Copyright (c) 2003-2015 the FFmpeg developers
  built with gcc 4.9.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-lib
modplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrw
b --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinge
r --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --en
able-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
 --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-
libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enab
le-zlib
  libavutil      54. 20.100 / 54. 20.100
  libavcodec     56. 29.100 / 56. 29.100
  libavformat    56. 26.101 / 56. 26.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 13.101 /  5. 13.101
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
[dv @ 03037ba0] Estimating duration from bitrate, this may be inaccurate
Input #0, dv, from 'C:\small_test2.dv':
  Metadata:
    timecode        : 00:27:31:04
  Duration: 00:00:02.84, start: 0.000000, bitrate: 28800 kb/s
    Stream #0:0: Video: dvvideo, yuv420p, 90x72 [SAR 16:15 DAR 4:3], 28800 kb/s,
 25 fps, 25 tbr, 25 tbn, 25 tbc
    Stream #0:1: Audio: pcm_s16le, 32000 Hz, stereo, s16, 1024 kb/s
    Stream #0:2: Audio: pcm_s16le, 32000 Hz, stereo, s16, 1024 kb/s
Seek to 46% ( 0:00:00) of total duration ( 0:00:02)       B f=0/0
   2.66 A-V: -0.018 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0
C:\>

Change History (3)

comment:1 by ami_stuff, 9 years ago

I get this here after seeking with the mouse:

(gdb) r -showmode 1 -vlowres 3 -an small_test2.dv
Starting program: /media/sdb1/ffmpeg/ffplay_g -showmode 1 -vlowres 3 -an small_test2.dv
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
ffplay version 2.6.git Copyright (c) 2003-2015 the FFmpeg developers
  built with gcc 4.7 (Debian 4.7.2-4)
  configuration: --disable-ffserver --disable-ffprobe --enable-ffplay --enable-gpl
  libavutil      54. 20.101 / 54. 20.101
  libavcodec     56. 30.100 / 56. 30.100
  libavformat    56. 26.101 / 56. 26.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 13.101 /  5. 13.101
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
[New Thread 0xb73fcb70 (LWP 2919)]
[New Thread 0xb67c0b70 (LWP 2920)]
[New Thread 0xb5ebeb70 (LWP 2921)]
[dv @ 0x9566100] Estimating duration from bitrate, this may be inaccurate
Input #0, dv, from 'small_test2.dv':
  Metadata:
    timecode        : 00:27:31:04
  Duration: 00:00:02.84, start: 0.000000, bitrate: 28800 kb/s
    Stream #0:0: Video: dvvideo, yuv420p, 90x72 [SAR 16:15 DAR 4:3], 28800 kb/s, 25 fps, 25 tbr, 25 tbn, 25 tbc
    Stream #0:1: Audio: pcm_s16le, 32000 Hz, stereo, s16, 1024 kb/s
    Stream #0:2: Audio: pcm_s16le, 32000 Hz, stereo, s16, 1024 kb/s
[New Thread 0xb569ab70 (LWP 2922)]
Seek to 56% ( 0:00:01) of total duration ( 0:00:02)       B f=0/0   

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb5ebeb70 (LWP 2921)]
dv_frame_offset (timestamp=40, s=<optimized out>, c=<optimized out>, 
    flags=<optimized out>) at libavformat/dv.c:429
429	    int64_t max_offset = ((size - 1) / sys->frame_size) * sys->frame_size;
(gdb) bt
#0  dv_frame_offset (timestamp=40, s=<optimized out>, c=<optimized out>, 
    flags=<optimized out>) at libavformat/dv.c:429
#1  dv_read_seek (s=0x9566100, stream_index=0, timestamp=40, flags=1)
    at libavformat/dv.c:574
#2  0x082c4057 in seek_frame_internal (flags=1, timestamp=40, stream_index=0, 
    s=0x9566100) at libavformat/utils.c:2108
#3  av_seek_frame (s=0x9566100, stream_index=0, timestamp=1599993, flags=1)
    at libavformat/utils.c:2140
#4  0x082c3ed1 in avformat_seek_file (s=0x9566100, stream_index=-1, 
    min_ts=-9223372036854775808, ts=1599993, max_ts=9223372036854775807, 
    flags=0) at libavformat/utils.c:2191
#5  0x080cd210 in read_thread (arg=0xb5ebf020) at ffplay.c:3068
#6  0xb7e254c1 in SDL_RunThread (data=data@entry=0x954f0a0)
    at ../../src/thread/SDL_thread.c:204
#7  0xb7e6ed3b in RunThread (data=0x954f0a0)
    at ../../src/thread/pthread/SDL_systhread.c:47
#8  0xb7db7954 in start_thread (arg=0xb5ebeb70) at pthread_create.c:304
#9  0xb7d37c8e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
(gdb) 

comment:3 by Michael Niedermayer, 9 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.