futo-org / grayjay-android

Read-only mirror of Grayjay repo for issue tracking
https://gitlab.futo.org/videostreaming/grayjay
Other
790 stars 49 forks source link

Play/Resume when Completely Undesired #1460

Open David-Prock opened 2 weeks ago

David-Prock commented 2 weeks ago

What happened?

It doesn't matter what phone. It's happened on Pixel 7, Pixel 8, and Pixel 9. And every version of grayjay from when I started using it a long time ago. It doesn't matter what plug-in source I am using. I have tried to look around in settings to see if I see something worded in such a way that might solve my problem, I kind of sort of thought I did, but nope. It does not matter if I am connected to a Bluetooth device or if Bluetooth is even on or off. If I have been playing a video and I pause it and put it in the background. Just about anything will make it automatically start playing. If I am on another application and I want to use voice to text, it doesn't matter if I am using the FUTO keyboard with the built-in voice or separate. If I get a phone call when I hang up, it will start playing. If I get a phone call and I do not answer it, when the call stops ringing, it will resume playing. If I get a Discord call, Telegram call, etc, If I answer the call or not, so if I answer when I hang up, it will resume, or when the call ends without me answering, it will resume. If I am connected to radio via bluetooth, Switching to different sources and landing on Bluetooth will make it start playing, but that one is debatable. Maybe the radio is automatically sending the play signal. If I use the Google app to ask it a question via voice, Google's microphone input, it will automatically start playing once Google stops speaking. While the Futo keyboard is processing a long block of speech to text, taking multiple seconds, it only starts playing once it's completely finished processing the voice. But strangely enough, I have a voice recorder app that I installed from fjoyed. Its package name is... com.simplemobiletools.voicerecorder When I use that application to take a voice recording, It does not automatically start playing. Maybe that can help. That is the only app that I have found if it activates the microphone. It doesn't make it automatically resume! But keep in mind, getting a phone call through cell phone carrier provider or a piece of software like Discord, Clubhouse, Telegram, ETC if I don't answer, When the ringing stops, it will automatically resume playing. I have dealt with this for so long and it is extremely annoying.

Grayjay Version

264

What plugins are you seeing the problem on?

All

Plugin Version

No response

When do you experience the issue?

Relevant log output

No logs
David-Prock commented 2 weeks ago

The voice to text just made an error that I just now caught fjoyed = fdroid

support-grayjay commented 2 weeks ago

I was not able to reproduce this. On what phones and android version did you test this?

Also to clarify reproduction steps a bit more, you did the following?

  1. Play video
  2. Pause video
  3. Press on the Background button to background the video
  4. Leave the app?
David-Prock commented 2 weeks ago

Running GrapheneOS on the Pixel 7 Pro, the Pixel 8 Pro, and the Pixel 9 Pro XL. I do not use the background button. In the settings I have the option to reduce data usage when put to background. The video must be started. It doesn't matter how far into the video, once paused It is susceptible to what I mentioned. Grayjay has done this from the very first time I used it starting when the Google Pixel 7 Pro was the latest phone.

David-Prock commented 2 weeks ago

I can leave the app by swiping up on the home screen to open another app or even if I am on the app itself pause the video Not be around my phone. Get a phone call. Miss the call. The paused video starts playing.

David-Prock commented 2 weeks ago

Playing a game while Greyjay is paused, the sounds of the game do not resume it, but when I get an advertisement in the game and the audio of the advertisement ends, then it resumes.

support-grayjay commented 2 weeks ago

Okay I have Pixel 7 Pro on GrapheneOS, Android 15 on me and I'm not able to reproduce this. I presume you have Background Behavior set to Keep Playing and Switch to Audio in Background enabled in Settings under Player options.

My steps to reproduce this are now:

  1. Play a video (tried WiFi and data)
  2. Pause the video
  3. Go to home to leave the app
  4. Receive a call (tried answering and rejecting)

But the video doesn't continue to play. Does it happen only on data or on WiFi too?

David-Prock commented 2 weeks ago

Both of them settings are set the same way you mentioned them and it happens on Wi-Fi or cellular. But you did just draw my attention to the culprit. But I am wondering is the culprit broken? Restart after audio focus loss. Default was always. If I set it to never and reject or miss a phone call, it does not automatically resume. So I set it to the 10 second option. Pause the video. Use my voice assistant and it does not resume and ten seconds later it does not resume. Then I play the video and while the video is playing, activate my microphone using my voice assistant speaking a really long paragraph so it takes more than 10 seconds to listen to me. When the voice assistant is done listening, it does not resume. And then I wait 10 more seconds and a bit past and it does not resume. So is the 10 second and 30 second option in that setting broken. But setting it to never fixes what was annoying me.

support-grayjay commented 2 weeks ago

Default was always.

New default is Within 10 seconds of loss but yours seems to be set to Always since the older version of the app.

Just to clarify how the option works, it will resume the video if a call interrupted the video for less then 10/30 seconds. There is no need to wait for another 10 seconds to see if it will resume. Just retested this function and works as intended.

However, it should never resume paused video which seems to be a bug you are experiencing and one I can't reproduce.

David-Prock commented 2 weeks ago

And the setting, background Behavior / keep playing. When you put it to the background, there is like a second pause and then it resumes a very brief interruption. That is annoying but very minor. But I just figured out if you set... Background Behavior / Player overlay It fixes that. There's not even a microsecond pause. It's flawlessly smooth.

David-Prock commented 2 weeks ago

I just now figured out that about that setting.

David-Prock commented 2 weeks ago

So maybe set those two settings the way I mentioned them as defaults for a better out-of-the-box new beginner experience.

David-Prock commented 2 weeks ago

Default was always.

New default is Within 10 seconds of loss but yours seems to be set to Always since the older version of the app.

Just to clarify how the option works, it will resume the video if a call interrupted the video for less then 10/30 seconds. There is no need to wait for another 10 seconds to see if it will resume. Just retested this function and works as intended.

However, it should never resume paused video which seems to be a bug you are experiencing and one I can't reproduce.

Could it be because of the very first time I set it up anytime I switch phones or for whatever crazy reason would uninstall and reinstall? I exported everything and always import from that last export. Could that be what is bringing the bug over?

David-Prock commented 2 weeks ago

Default was always.

New default is Within 10 seconds of loss but yours seems to be set to Always since the older version of the app.

Just to clarify how the option works, it will resume the video if a call interrupted the video for less then 10/30 seconds. There is no need to wait for another 10 seconds to see if it will resume. Just retested this function and works as intended.

However, it should never resume paused video which seems to be a bug you are experiencing and one I can't reproduce.

Could it be because of the very first time I set it up anytime I switch phones or for whatever crazy reason would uninstall and reinstall? I exported everything and always import from that last export. Could that be what is bringing the bug over?

If it's important enough to you, maybe you could uninstall and install a much earlier version where "always" was the default, make a new profile, set up a few things, customize it, export, and then uninstall and reinstall the latest version and import the export that was built from the much earlier version.

If you do that and that allows you to reproduce maybe review over the import export code? to allow new defaults that are for fixes or for a better experience to override the import?

support-grayjay commented 2 weeks ago

So maybe set those two settings the way I mentioned them as defaults for a better out-of-the-box new beginner experience.

Think those are new defaults now. This turns to be a bit troublesome to troubleshoot. I'll leave the ticket open in case someone encounters the same issue since it's not really fixed. Even though you found a workaround.