Open tito opened 3 years ago
A tiny different backtrace after multiple unload/load that works
[Thread 0x7fff9e7fc640 (LWP 39235) exited]
[Thread 0x7fff97fff640 (LWP 39239) exited]
--Type <RET> for more, q to quit, c to continue without paging--2;11u
Thread 86 "SDLAudioP2" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff5f7be640 (LWP 38571)]
0x00007fffe67b24fa in __pyx_f_10ffpyplayer_6player_4core_10VideoState_audio_decode_frame (__pyx_v_self=<optimized out>) at /tmp/pip-req-build-t3rjrbgv/ffpyplayer/player/core.c:18270
18270 /tmp/pip-req-build-t3rjrbgv/ffpyplayer/player/core.c: Aucun fichier ou dossier de ce type.
(gdb) bt
#0 0x00007fffe67b24fa in __pyx_f_10ffpyplayer_6player_4core_10VideoState_audio_decode_frame (__pyx_v_self=<optimized out>) at /tmp/pip-req-build-t3rjrbgv/ffpyplayer/player/core.c:18270
#1 __pyx_f_10ffpyplayer_6player_4core_10VideoState_audio_decode_frame (__pyx_v_self=0x555556530ed0) at /tmp/pip-req-build-t3rjrbgv/ffpyplayer/player/core.c:18114
#2 0x00007fffe67b21b9 in __pyx_f_10ffpyplayer_6player_4core_10VideoState_sdl_audio_callback (__pyx_v_self=0x555556530ed0, __pyx_v_stream=0x7fffa402ed40 "", __pyx_v_len=4096) at /tmp/pip-req-build-t3rjrbgv/ffpyplayer/player/core.c:19374
#3 0x00007fffeef98bf9 in SDL_RunAudio (devicep=devicep@entry=0x7fffa47e4af0) at /root/ffmpeg_sources/SDL2-2.0.10/src/audio/SDL_audio.c:735
#4 0x00007fffeeff917c in SDL_RunThread (data=0x7fffa402ca50) at /root/ffmpeg_sources/SDL2-2.0.10/src/thread/SDL_thread.c:283
#5 0x00007fffef07d709 in RunThread (data=<optimized out>) at /root/ffmpeg_sources/SDL2-2.0.10/src/thread/pthread/SDL_systhread.c:79
#6 0x00007ffff7f72259 in start_thread () from /usr/lib/libpthread.so.0
#7 0x00007ffff7e9b5e3 in clone () from /usr/lib/libc.so.6
I had strange segfaults when displaying 2 identical videos next to each other when trying to "simultanously" unload them. It was no real use case, just for testing, so i ignored it for now. But IIRC it was also a thing with SDL audio (need to double check).
There's also some issues in the kivy tracker complaining about audio tracks continue to run if player gets stopped and i have another one in mind ranting about issues with SDL mixer and playing multiple audio tracks (forgive me if this was no issue with ffpyplayer).
Also, on linux systems, ffpyplayer won't work if pulseaudio is not installed (not tried with jack), but at least ALSA only won't work.
So obviously there's some issue(s) about how ffpyplayer interferes with SDL Audio.
I can help out testing potential fixes, but a deeper look what might cause those issues should be done by someone with deeper knowledge about SDL audio.
I'm in for helping out wherever i can ;)
@rnixx Could you reference others bugs reported that may be the same as this one ? And if you have a snippet that replicate the issue to dig in that would be perfect :)
I got right now a replicable bug when i try to load some videos, but only after unloading previous one. See by yourself:
Just posting this, cannot share the video, but here is the ffprobe on it:
There is only one video fullscreen, but 2 others are in background paused, ready to be played. Dunno if that behavior trigger the bug, if i have time, i'll try to post a code to replicate the issue.