XilinJia / Podcini

Open source podcast instrument for Android supporting contents from YouTube and YT Music as well as normal podcasts.
GNU General Public License v3.0
210 stars 8 forks source link

Video playback issues #81

Closed dyeray closed 2 months ago

dyeray commented 3 months ago

Checklist

App version

6.3.7

Where did you get the app from

F-Droid

Android version

Android 14 (GrapheneOS)

Device model

No response

First occurred

No response

Steps to reproduce

Not sure how the issue happened. Just navigating the menus while playing a video triggered an exception (see logs below). I think it happens pressing play, then going back to the podcast list, then play again, then back 2 or 3 times and the app will crash.

I'd like to also report some quality of life issues with video playback.

When a video podcast is played, the detailed view is opened. If the user gets out of this detailed view, the podcast is paused. If the user turns on full screen mode, the video is paused. If the user gets out of full screen mode, the video is paused. I don't know if there are more cases where this happens. In my mind, playback should not be paused, except when the user pushes pause explicitly. I think the main feature of a podcast app is listening. Having video is nice (and I'm a heavy user of video podcasts), but when moving away I think playback should continue on. I think in fact, the only way to listen to video is switching to full screen and then pushing the musical note icon while in full screen (audio only button). Note if in this state, the user goes back to full screen mode, the video will pause, but the state of the controls will suppose the video is playing, so the pause button will show on screen and the user will need to touch to play/pause twice so the status of play/pause syncs with the real pause/play status of the video.

Expected behaviour

No response

Current behaviour

No response

Logs

type: crash osVersion: google/bluejay/bluejay:14/AP2A.240805.005.F1/2024080600:user/release-keys package: ac.mdiq.podcini.R:3020231 process: ac.mdiq.podcini.R processUptime: 16066 + 431 ms installer: com.android.packageinstaller

java.lang.IllegalStateException: Fragment VideoEpisodeFragment{118df93} (4e4e666a-c3c9-4605-acd1-eb0c5c468770) not attached to a context. at androidx.fragment.app.Fragment.requireContext(SourceFile:977) at ac.mdiq.podcini.ui.fragment.VideoEpisodeFragment.hideVideoControls(SourceFile:467) at ac.mdiq.podcini.ui.fragment.VideoEpisodeFragment.hideVideoControls$lambda$11(SourceFile:446) at ac.mdiq.podcini.ui.fragment.VideoEpisodeFragment.$r8$lambda$DfwEYLuIyKNQBB1yPfpYcPsZplc(SourceFile:0) at ac.mdiq.podcini.ui.fragment.VideoEpisodeFragment$$ExternalSyntheticLambda1.run(SourceFile:0) at android.os.Handler.handleCallback(Handler.java:959) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loopOnce(Looper.java:232) at android.os.Looper.loop(Looper.java:317) at android.app.ActivityThread.main(ActivityThread.java:8623) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580) at com.android.internal.os.ExecInit.main(ExecInit.java:50) at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method) at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:369)

XilinJia commented 3 months ago

Thanks for reporting. The video part of the app has been left alone for quite long. Will update shortly.

XilinJia commented 3 months ago

Wasn't able to reproduce the crash.

dyeray commented 3 months ago

Me neither now... I was reproducing it consistently at some point. Should have recorded a video. If I'm able to reproduce it again, I'll record the exact steps.

Update: I got it, let me edit the video a bit and upload it.

dyeray commented 3 months ago

https://github.com/user-attachments/assets/af70c664-6441-4ae0-a07b-3de11453df8f

dyeray commented 3 months ago

See how at some point when the app crashed, when opening it again, the video would start playing automatically, or at the end, when stopping the recording, the notification itself started the play of the video again.

XilinJia commented 2 months ago

6.5.0 should have fixed the crash bug and also improved on behavior of video mode toggling. Other suggestions will be implemented shortly.

XilinJia commented 2 months ago

6.5.1 has more enhancement based on your suggestions.

dyeray commented 2 months ago

Thanks a lot! I've done a quick test of 6.5.1 and seems much better. I've found a small bug though. It seems video in fullscreen is now played in a small window instead of taking the whole screen. I think it is the same size as the video when it is not in full screen. I think ideally it should take most of available screen while keeping aspect ratio and showing full video (meaning using black bands on top/bottom or left/right when aspect ratio does not match screen).

XilinJia commented 2 months ago

The old video player has quite some problems on sizing the video. Refined it in 6.5.5.

XilinJia commented 2 months ago

close this for now. feel free to reopen