Comments (19)
I noticed a difference between the releases. I ran a video with subtitles enabled.
- QMPlay2 22.08.21 - plays video without audio/subtitle/OSD issues.
- QMPlay2 23.10.22 - crashes when video is about to display subtitles and no audio.
When I disabled subtitles:
Result: QMPlay2 23.10.22 - plays video without audio issues. Still crashes if video control is clicked.
When I disabled audio before playing video:
Result: QMPlay2 23.10.22 - plays video.
Enabled audio during playback:
Result: QMPlay2 23.10.22 - continues playing video. and enables audio - no issue.
Disabled audio during playback (while video/audio enabled), subtitles disabled):
Result: QMPlay2 23.10.22 - application exits.
Disabled audio before playback (video-enabled, audio-disabled, subtitles-enabled):
Result: QMPlay2 23.10.22 - plays video - application will exit before audio/subtitles is initially used in video playback.
I ran strace and Debugger. Will review possible resource lock or handshake condition between Haiku's BSoundPlayer control and QMPlay2 23.10.22.
from qmplay2.
Note: This issue has something to do with QMPlay2 libass interaction on Haiku R1B4. I traced it back to the QMPlay2 22.10.23.
I've attached my Haiku build file showing previous QMPlay2 code build of libass 0.17.1 with QMPlay 22.10.23 before QMPlay2 23.02.05.
qmplay2-22.10.23_libass-0.17.1_haiku.txt
Workaround: Disabling libass support in QMPlay2 23.10.22 resolved our issues for now.
from qmplay2.
Reviewing: 0c9cd8d
- "Improve ASS subtitles sync"
I think the new code commit tickles a resource deadlock mutex handling condition on Haiku R1B4. I'll research it more when time permits as I think this a Haiku R1B4 issue - not QMPlay2 22.10.23 at the moment.
Debug file:
QMPlay2-10879-debug-15-11-2023-08-37-10.txt
Backtrace message: "Can't access memory at address 0x7ff834ea8000"
from qmplay2.
Here are the screenshots from QMPlay2 22.08.21 w/subtoitles enabled. I can also disable subtitles with this test video. (Note: I get the QMutex lockup eventually when moving through the frames (so, not a new issue with QMPlay 23.10.22 (i.e. it seems Haiku-specific when using both QMPlay2 versions)).
Here is the snapshot of the video playing on Youtube w/subtitles (CC) enabled. There is also a video transcript exact to the subttiles.:
from qmplay2.
@zaps166 - We can close for now. The feature is not of high use yet on Haiku. Otherwise, QMPlay2 seems stable on Haiku. Thanks.
from qmplay2.
Strange, nothing changed about volume. Can you use debugger and show where it crashes?
It shows OSD in video, cold you try to zoom in/out video to see if it display OSD properly?
from qmplay2.
Aaah now I noticed it's 22 not 23. Please show me backtrace.
from qmplay2.
Hmm, I didn't touch Haiku code except whitespace and NULL
->nullptr
changes. Also I don't have Haiku to test it.
You can catch the exception in debugger and see where the deadlock happen.
from qmplay2.
Do you use Vulkan or OpenGL for testing?
from qmplay2.
We use mainly use OpenGL. I enabled QMPlay's OpenGL option which ran a little slower in video playback due to OpenGL software rendering. No other issues. Runs A/V optimal with no other issues otherwise.
from qmplay2.
Software Vulkan (mesa's lavapipe) should perform better than Software OpenGL in QMPlay2. Also subtitles works differently with Vulkan - maybe worth to try?
Is libass working stable with other software?
from qmplay2.
OK. I switched to Vulkan which seems smoother. No major issues. libass seems to work with QMPlay 22.08.21 and other software without issues as far as I know. I think QMPlay2 22.10.23 was the starting point for the Haiku platform related OSD/subtitle issues. Possibly, Haiku-specific for now.
from qmplay2.
Good that Vulkan is working better.
But strange issue with libass. I'm aware it'a s lot of work, but yould you find which commit caused this issue with libass?
from qmplay2.
You can put qDebug() << "Point1";
before locking and qDebug() << "Point2";
after locking a mutex (put Point3 and 4 on another locking) and you'll see exactly where deadlock happens.
from qmplay2.
- I noticed the other players didn't show the subtitles of this test file.
- Using Haiku's Debugger/gdb, QMPlay2 shows the initial subtitle line, then there is a A/V sync break in which the audio track still plays fine but the video frame iis locked showing the video display and initial subtitle line. (i.e. this is the point of error). Application seems fine (i.e. video bitrate/buffer status info is progressing) until you try to use GUI menu commands.
- I added what I captured with Haiku's Debugger and gdb so far.
from qmplay2.
Could you send the test file? Or it happen on any video files?
from qmplay2.
Test file: https://youtu.be/oaqHdULqet0?si=pD6Uo3rdie1b0K-y
A/V error point: 0:33 / 2:19:04
from qmplay2.
Hmm, this video doesn't have subtitles, only auto-generated which doesn't work in QMPlay2. How do you see subtitles there?
from qmplay2.
I don't have any idea so far...
from qmplay2.
Related Issues (20)
- Difference between the "video" widget and the shortcut "o" which disable video HOT 2
- yt-dlp failing HOT 2
- Audio stuttering when playing any video HOT 15
- "Vulkan" not active despite all controllers installed (Ryzen + Radeon) HOT 14
- Youtube subtitle encoding problem
- Full dark mode theme even in the top bar HOT 2
- QMPlay2 crashed HOT 6
- Start and Stop recordig video
- runtime selection of YT video stream HOT 4
- Radio Station Icons Missing HOT 1
- How can I prevent the channels from skipping when the channel is frozen? HOT 7
- [macOS] `QMPlay2` 16.04.23 fails to build on 10.6: `OpenGL2Common.hpp: error: 'GLActiveTexture' does not name a type` etc. HOT 26
- MediaBrowser results not playable HOT 1
- FFmpeg 4 build broken HOT 2
- YT video doesn't open, downloads with yt_dlp HOT 21
- Issues for TV Arib Subtitle HOT 4
- Establish compatibility with taglib 2.0 HOT 2
- Segfault when hiding widgets using the vulkan renderer HOT 3
- "Remember playback position" is gone??? HOT 32
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qmplay2.