Skip to content

Commit 40d102f

Browse files
committed
Disable media tunneling by default on new devices
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)
1 parent 1db7337 commit 40d102f

1 file changed

Lines changed: 52 additions & 5 deletions

File tree

app/src/main/java/org/schabi/newpipe/util/DeviceUtils.java

Lines changed: 52 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,8 @@ public final class DeviceUtils {
3636
private static Boolean isTV = null;
3737
private static Boolean isFireTV = null;
3838

39-
/*
40-
* Devices that do not support media tunneling
41-
*/
4239

40+
// region: devices not supporting media tunneling
4341
/**
4442
* Formuler Z8 Pro, Z8, CC, Z Alpha, Z+ Neo.
4543
*/
@@ -55,11 +53,53 @@ public final class DeviceUtils {
5553
*/
5654
private static final boolean REALTEKATV = Build.VERSION.SDK_INT == 25
5755
&& Build.DEVICE.equals("RealtekATV");
56+
/**
57+
* <p>Phillips 4K (O)LED TV.</p>
58+
* Supports custom ROMs with different API levels
59+
*/
60+
private static final boolean PH7M_EU_5596 = Build.VERSION.SDK_INT >= 26
61+
&& Build.DEVICE.equals("PH7M_EU_5596");
5862
/**
5963
* Philips QM16XE.
6064
*/
6165
private static final boolean QM16XE_U = Build.VERSION.SDK_INT == 23
6266
&& Build.DEVICE.equals("QM16XE_U");
67+
/**
68+
* <p>Sony Bravia VH1.</p>
69+
* Processor: MT5895
70+
*/
71+
private static final boolean BRAVIA_VH1 = Build.VERSION.SDK_INT == 29
72+
&& Build.DEVICE.equals("BRAVIA_VH1");
73+
/**
74+
* <p>Sony Bravia VH2.</p>
75+
* This includes model A90J.
76+
*/
77+
private static final boolean BRAVIA_VH2 = Build.VERSION.SDK_INT == 29
78+
&& Build.DEVICE.equals("BRAVIA_VH2");
79+
/**
80+
* <p>Sony Bravia Android TV platform 2.</p>
81+
* Uses a MediaTek MT5891 (MT5596) SoC.
82+
* @see <a href="https://github.com/CiNcH83/bravia_atv2">
83+
* https://github.com/CiNcH83/bravia_atv2</a>
84+
*/
85+
private static final boolean BRAVIA_ATV2 = Build.DEVICE.equals("BRAVIA_ATV2");
86+
/**
87+
* <p>Sony Bravia Android TV platform 3 4K.</p>
88+
* Uses ARM MT5891 and a {@link #BRAVIA_ATV2} motherboard.
89+
* @see <a href="https://browser.geekbench.com/v4/cpu/9101105">
90+
* https://browser.geekbench.com/v4/cpu/9101105</a>
91+
*/
92+
private static final boolean BRAVIA_ATV3_4K = Build.DEVICE.equals("BRAVIA_ATV3_4K");
93+
/**
94+
* Panasonic 4KTV-JUP.
95+
*/
96+
private static final boolean TX_50JXW834 = Build.DEVICE.equals("TX_50JXW834");
97+
/**
98+
* <p>Bouygtel4K / Bouygues Telecom Bbox 4K.</p>
99+
* Reported at https://github.com/TeamNewPipe/NewPipe/pull/10122#issuecomment-1638475769
100+
*/
101+
private static final boolean HMB9213NW = Build.DEVICE.equals("HMB9213NW");
102+
// endregion
63103

64104
private DeviceUtils() {
65105
}
@@ -251,7 +291,7 @@ public static int getWindowHeight(@NonNull final WindowManager windowManager) {
251291
}
252292

253293
/**
254-
* Some devices have broken tunneled video playback but claim to support it.
294+
* <p>Some devices have broken tunneled video playback but claim to support it.</p>
255295
* See https://github.com/TeamNewPipe/NewPipe/issues/5911
256296
* @Note Add a new {@link org.schabi.newpipe.settings.SettingMigrations.Migration} which calls
257297
* {@link org.schabi.newpipe.settings.NewPipeSettings#setMediaTunneling(Context)}
@@ -263,6 +303,13 @@ public static boolean shouldSupportMediaTunneling() {
263303
return !HI3798MV200
264304
&& !CVT_MT5886_EU_1G
265305
&& !REALTEKATV
266-
&& !QM16XE_U;
306+
&& !QM16XE_U
307+
&& !BRAVIA_VH1
308+
&& !BRAVIA_VH2
309+
&& !BRAVIA_ATV2 // crash caused by exiting full screen
310+
&& !BRAVIA_ATV3_4K // crash caused by exiting full screen
311+
&& !PH7M_EU_5596
312+
&& !TX_50JXW834
313+
&& !HMB9213NW; // crash caused by exiting full screen
267314
}
268315
}

0 commit comments

Comments
 (0)