We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
报告(部分):
... Crashed Thread: 11 PlayThread Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000018 Exception Note: EXC_CORPSE_NOTIFY Termination Signal: Segmentation fault: 11 Termination Reason: Namespace SIGNAL, Code 0xb Terminating Process: exc handler [12053] ... Thread 11 Crashed:: PlayThread 0 com.yourcompany.Beslyric-for-X 0x0000000107496a99 packet_queue_flush(PacketQueue*) + 73 (musicPlayer.cpp:120) 1 com.yourcompany.Beslyric-for-X 0x0000000107498847 PlayThread::generateAudioDataLoop() + 1159 (musicPlayer.cpp:605) 2 com.yourcompany.Beslyric-for-X 0x0000000107497214 PlayThread::run() + 196 (musicPlayer.cpp:279) 3 org.qt-project.QtCore 0x000000010a426fd3 0x10a405000 + 139219 4 libsystem_pthread.dylib 0x00007fff6a2bf33d _pthread_body + 126 5 libsystem_pthread.dylib 0x00007fff6a2c22a7 _pthread_start + 70 6 libsystem_pthread.dylib 0x00007fff6a2be425 thread_start + 13 ...
... Crashed Thread: 4 PlayThread Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000018 Exception Note: EXC_CORPSE_NOTIFY Termination Signal: Segmentation fault: 11 Termination Reason: Namespace SIGNAL, Code 0xb Terminating Process: exc handler [622] ... Thread 4 Crashed:: PlayThread 0 com.yourcompany.Beslyric-for-X 0x000000010475d2b9 packet_queue_flush(PacketQueue*) + 73 (musicPlayer.cpp:120) 1 com.yourcompany.Beslyric-for-X 0x000000010475f74c PlayThread::clearContextAndCloseDevice() + 124 (musicPlayer.cpp:627) 2 com.yourcompany.Beslyric-for-X 0x000000010475eaa8 PlayThread::ReleaseAll() + 56 (musicPlayer.cpp:663) 3 com.yourcompany.Beslyric-for-X 0x000000010475d933 PlayThread::run() + 211 (musicPlayer.cpp:259) 4 org.qt-project.QtCore 0x0000000107e7aba9 QThreadPrivate::start(void*) + 329 5 libsystem_pthread.dylib 0x00007fff634a4e65 _pthread_start + 148 6 libsystem_pthread.dylib 0x00007fff634a083b thread_start + 15 ...
检查packet_queue_flush(PacketQueue *q):
packet_queue_flush(PacketQueue *q)
https://github.com/Beslyric-for-X/Beslyric-for-X/blob/0dee64a8834f1ba294b12f99fee97acc438ee500/Entities/MusicPlayer/musicPlayer.cpp#L113-L133
移除对pkt1->pkt.data的测试,或者增加对pkt1的空指针测试,问题不再出现:
pkt1->pkt.data
pkt1
- if(pkt1->pkt.data != (uint8_t *)"FLUSH") + if(pkt1 != nullptr && pkt1->pkt.data != (uint8_t *)"FLUSH") { ; }
截至目前,这个问题在 Windows 7 / 10 、 Ubuntu 18.04 上都未曾出现过。
The text was updated successfully, but these errors were encountered:
MusicPlayer 似乎可根据 35.FFmpeg学习笔记 - ffplay源码解读3之读文件_周洪伟的博客-CSDN博客 、 ffplay播放控制代码分析_RonnieLiGe的专栏-CSDN博客 和 ffplay源码分析7-播放控制 - 叶余 - 博客园 中的内容进行调整。
实际上,读ffplay.c,也许就能解答很多问题了。
ffplay.c
Sorry, something went wrong.
Successfully merging a pull request may close this issue.
环境
seek 时崩溃
报告(部分):
重新播放时崩溃
可能的解决方案
检查
packet_queue_flush(PacketQueue *q)
:https://github.com/Beslyric-for-X/Beslyric-for-X/blob/0dee64a8834f1ba294b12f99fee97acc438ee500/Entities/MusicPlayer/musicPlayer.cpp#L113-L133
移除对
pkt1->pkt.data
的测试,或者增加对pkt1
的空指针测试,问题不再出现:截至目前,这个问题在 Windows 7 / 10 、 Ubuntu 18.04 上都未曾出现过。
The text was updated successfully, but these errors were encountered: