arianneorpilla / jidoujisho

A full-featured immersion language learning suite for mobile.
GNU General Public License v3.0
974 stars 62 forks source link

Poor audio quality on version 2.6.7 and up #231

Open jacobpmeyer opened 1 year ago

jacobpmeyer commented 1 year ago

Hello there! I just recently updated to the newest version and noticed that the audio from local video (.mkv file ripped from a blu-ray that I own using MakeMKV) was sounding tinny and without much bass. I did a little manual binary search through the versions between the one I'd just updated and the latest release. Eventually I found the audio quality was changing between versions 2.6.6 and 2.6.7.

I looked through the commit for 2.6.7 and noticed you changed yuuna/pubspec.yaml to use your forked version of flutter_vlc_player.

When I pulled up that fork it looked like the only change you've made so far has been adding mediaPlayer.setAudioOutput("opensles") to FlutterVlcPlayer.java.

I don't know much about Dart/Flutter or Java, so I'm sort of just guessing based on breadcrumbs, but do you think this might be the reason behind the altered audio fidelity?

arianneorpilla commented 1 year ago

This is a change that was necessary to fix #225, #198, #93 and #42, and is an effective remedy to pause/unpause lag issues on the app.

This is something I'll keep in mind if ever I make a settings page to tweak video settings, i.e. hardware acceleration (for HDR).

I can't action this change myself as I'm on hiatus -- I'm not an audiophile myself, though I sympathize with your concerns.

My suggestion for now is to stay on an outdated version or fork the project to exclude this change if you wish. The ultimate solution to this issue is to find a way to fix the audio lag issue that doesn't require relying on OpenSL ES.

Since you seem to savvy digging into source changes yourself, if you have the determination...

If you can manage to do some more digging and experimenting in regards to VLC and find a different parameter I can use that will not result in decreased audio fidelity and effectively fix the linked issues above, you can help me resolve this sooner by reporting your findings or making a pull request.

Again, I'm on a long overdue hiatus (aside from really really really critical or trivial to fix issues) so apologies that I can't action this as soon as possible, but I hope that answers your questions and gives you direction 👍@jacobpmeyer

jacobpmeyer commented 1 year ago

I totally understand about being on hiatus. Everyone needs time to unplug and rest.

I appreciate the context re: those 4 bugs. I didn't realize the change was making such an impact. Thanks for getting back to me and thanks for the direction. I'll poke around and let you know if I find anything / open a PR about it.

I hope you enjoy the rest of your hiatus!

arianneorpilla commented 1 year ago

Thought I would mention it but a long-term consideration is for the app to migrate from using VLC to an mpv-based solution via media_kit, which is still in development but looks very, very promising and will seem to get active support.

This would fix problems with HDR and hardware acceleration, and hopefully fix this issue as well as any VLC-specific or media format compatibility issues.

This issue gets reported often enough in some form so I've decided that all new issues opened that are linked to this will be redirected here instead.

anewstheart commented 1 year ago

I also have this issue and I am glad to find this explanation.

I spent too long searching for dart flutter vlc audio quality a week ago 🤦🏻.

Enjoy the vacation @lrorpilla 😁

arianneorpilla commented 1 year ago

@anewstheart @jacobpmeyer I added an option to toggle this behavior in 2.8.0, so you don't need to use your own fork.

arianneorpilla commented 1 year ago

I've decided to re-open this to keep tracking the audio lag issue to see if there is a better solution to the issues linked above.

jacobpmeyer commented 1 year ago

Thanks so much for taking the time to look into this. I really appreciate it! I just tried it out and I'm loving it. Unrelated, but also thanks for adding auto pause. Both these new features are real game changers for me personally.

Lyhcan commented 1 year ago

@anewstheart @jacobpmeyer I added an option to toggle this behavior in 2.8.0, so you don't need to use your own fork.

Where is that option I can't seem to find it? Is it a feature on the app itself that can be enabled/disabled? The audio issue is really bothering me

arianneorpilla commented 1 year ago

This option is already on by default, the only thing that can be done about this issue is to migrate the app from VLC to MPV

I am looking to do that sometime but I am on hiatus

Lyhcan commented 1 year ago

This option is already on by default, the only thing that can be done about this issue is to migrate the app from VLC to MPV

I am looking to do that sometime but I am on hiatus

Oh ok 🫡, for now, I'm sticking to the version 2.7.4 wish was the last version I managed to rebuild myself fixing the audio issue. Enjoy ur break!

arianneorpilla commented 1 year ago

If you select the Player tab, there is a gear icon beside the media source which allows you to toggle off this option on the latest version

Lyhcan commented 1 year ago

If you select the Player tab, there is a gear icon beside the media source which allows you to toggle off this option on the latest version

Disabling the OpenSL ES audio setting did the trick, I must be blind for not finding that gear icon lol thank you!