ffpyplayer icon indicating copy to clipboard operation
ffpyplayer copied to clipboard

Crash on playing a sequence of videos.

Open RobertFlatt opened this issue 3 years ago • 1 comments

While playing some sequences of video files a given file crashes, but the specific file never crashes if it is the first file in the sequence.

There is no dependency on the interval between stop and play. It is repeatable.

Files are played with kivy.uix.ffpyplayer and started and stopped with state. source is only set if state == 'stop'. There is always at least one timestep between stop and play.

The Android stack trace contains:

05-28 18:24:23.989 30495 30495 F DEBUG   : Cause: null pointer dereference
05-28 18:24:23.989 30495 30495 F DEBUG   :     r0  00000000  r1  00000000  r2  00000080  r3  00000000
05-28 18:24:23.989 30495 30495 F DEBUG   :     r4  c71d7cc0  r5  f5862980  r6  00000080  r7  c7a5d038
05-28 18:24:23.989 30495 30495 F DEBUG   :     r8  e14efa34  r9  00000000  r10 f5862980  r11 c7a5d070
05-28 18:24:23.989 30495 30495 F DEBUG   :     ip  c5ff8dd4  sp  c7a5d020  lr  c5fe3015  pc  c7dd5f16
05-28 18:24:23.989 30495 30495 F DEBUG   : backtrace:
05-28 18:24:23.989 30495 30495 F DEBUG   :   NOTE: Function names and BuildId information is missing for some frames due
05-28 18:24:23.989 30495 30495 F DEBUG   :   NOTE: to unreadable libraries. For unwinds of apps, only shared libraries
05-28 18:24:23.989 30495 30495 F DEBUG   :   NOTE: found under the lib/ directory are readable.
05-28 18:24:23.989 30495 30495 F DEBUG   
05-28 18:24:23.989 30495 30495 F DEBUG   :       #00 pc 0000ff16  /data/app/~~6z9PLcMlVhlbxyS9Ho00cQ==/org.test.receive-YxZnQ5_ncZfJm-87Dr3UdQ==/lib/arm/libSDL2_mixer.so (Mix_Volume+122) (BuildId: c24f11eab812fe1e44fb36d3347d15873e880e79)
05-28 18:24:23.989 30495 30495 F DEBUG   :       #01 pc 00008011  /data/data/org.test.receive/files/app/_python_bundle/site-packages/ffpyplayer/player/player.so

Which looks like the issue is related to https://github.com/matham/ffpyplayer/blob/master/ffpyplayer/player/player.pyx#L61-L66

and https://github.com/matham/ffpyplayer/blob/master/ffpyplayer/player/player.pyx#L685-L687

Presumably one of the Mix_Volume arguments is null?

RobertFlatt avatar May 30 '22 02:05 RobertFlatt

I'm also encountered this bug on Windows, it happens when playing video file without audio stream after file with audio stream. In this case using player function set_volume() leads to 100% crash. Very annoying, because there is no way to preventive check audio stream presence in next opened file - get_volume() anyway returning 1.0 and there is no audio related info in get_metadata() output... The only workaround i found - disable audio completely, by ffmpeg parameter an:True

RV666 avatar May 31 '24 18:05 RV666