-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
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
Disable media tunneling by default on known unsupported devices #10122
Conversation
bdcbe55
to
8290449
Compare
BRAVIA_VH2 should be added to this list. |
@peat80 which android version is it running? |
I believe the tv runs android tv 10. |
8290449
to
a184fe9
Compare
@peat80 Please test the APK (see PR description). I hope that everything works as expected. If it does not, please go to the settings > debug and use on of the options which crash the app and show the error screen. The crash info does contain information on your Android version. If it is Android 10 / SDK level 29, go into the video & audio settings > ExoPlayer settings and check whether the option "Disable media tunneling" is enabled. If it is not enabled, enable it and try to play a video. |
Back home now. Can confirm tv indeed runs on android 10. The downloded artifact apk has media tunneling disabled per default now and works. 😀👌 |
BRAVIA_VH1 should probably also be added. There was a closed PR for that: |
a184fe9
to
c25d9d9
Compare
c25d9d9
to
d3f6951
Compare
d3f6951
to
ea9dbf3
Compare
ea9dbf3
to
d8fe82b
Compare
I don't suffer the "no video / black screen" problem, but disabling "media tunneling" with this APK solves the fullscreen problem for me.
I don't know if the device should be added to this list or not? |
d8fe82b
to
0925b95
Compare
@pihug12 I disabled it in case there are other people using the same device. |
0925b95
to
bff90b2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Your changes look mostly good to me, however, I think we should use a complete different approach instead of DB migrations, by using an app preference containing with which version of the app the media tunneling check has been ran and run the check with each NewPipe update.
With this value, we can check if the version matches the current one installed + use some logic with the two preferences storing whether the device has been whitelisted automatically and media tunneling has been enabled by user, in order to know if we need to disable automatically media tunneling or not.
This approach should make maintenance less hard than doing a lot of database migrations every time we add a new device.
Could you also format better and improve your method Javadocs? For instance, you are using line returns to separate titles and descriptions, but they are ignored, so you should also use paragraph elements in this case.
app/src/main/java/org/schabi/newpipe/settings/ExoPlayerSettingsFragment.java
Outdated
Show resolved
Hide resolved
Device ID: BRAVIA_ATV2 Thank you |
Revert removing the Utils related to media tunneling.
Store in preferences whether media tunneling was disabled automatically. Show info in ExoPlayer settings if media tunneling was disabled autmatically.
Sony BRAVIA_VH1, BRAVIA_VH2, BRAVIA_ATV2, BRAVIA_ATV3_4K Phillips 4K (O)LED TV (PH7M_EU_5596) Panasonic 4KTV-JUP (TX_50JXW834) Bouygtel4K (HMB9213NW)
bff90b2
to
40d102f
Compare
e6c3ed5
to
e86c6cc
Compare
app/src/main/java/org/schabi/newpipe/settings/NewPipeSettings.java
Outdated
Show resolved
Hide resolved
e86c6cc
to
3140aee
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think a simple list preference with "Tunneling on, tunneling off, automatic" would have been simpler, since with the current code once you manually disable tunneling there is no way to go back to automatic mode. I think we can postpone this to a small PR after the release.
app/src/main/java/org/schabi/newpipe/settings/ExoPlayerSettingsFragment.java
Outdated
Show resolved
Hide resolved
app/src/main/java/org/schabi/newpipe/settings/NewPipeSettings.java
Outdated
Show resolved
Hide resolved
3140aee
to
d6a1170
Compare
Kudos, SonarCloud Quality Gate passed! |
What is it?
Description of the changes in your PR
In #8875 a setting to disable media tunneling was added. However, the info on devices which do not support media tunneling was removed. That info is re-added and used to disable media tunneling on those devices by default.
Disabling media tunneling seems to also fix the full screen enter/exit bug on Android TVs (#9023)
New models added:
BRAVIA_VH1
)BRAVIA_VH2
), e.g. model A90JBRAVIA_ATV2
)BRAVIA_ATV3_4K
)PH7M_EU_5596
)TX_50JXW834
)HMB9213NW
)Other changes:
Media tunneling setting screenshot
Fixes the following issue(s)
ToDo
APK testing
The APK can be found by going to the "Checks" tab below the title. On the left pane, click on "CI", scroll down to "artifacts" and click "app" to download the zip file which contains the debug APK of this PR. You can find more info and a video demonstration on this wiki page.
Due diligence