We are using in our app multiple players and dynamically switch the surface. This behaviour makes ExoPlayer crash or produce an ANR on one specific Philips TV model (QM163E). We could not reproduce this behaviour on other Android devices (mobile and TVs), even not on other Philips TV models (MT5593FHT_EU, PH7M_EU_5596).
This has been confirmed using ExoPlayer versions 2.7.1, 2.7.0, 2.6.x, 2.5.x.
This seems to be related to: #3835
Applying the workaround by adding it to the list in MediaCodecVideoRender/codecNeedsSetOutputSurfaceWorkaround() for OMX.MTK.VIDEO.DECODER.AVC fixes the issue:
private static boolean codecNeedsSetOutputSurfaceWorkaround(String name) {
return ...
|| ((...
|| "QM16XE_U".equals(Util.DEVICE)) // Philips QM163E
&& "OMX.MTK.VIDEO.DECODER.AVC".equals(name))
|| ...;
}
Affected devices:
Not affected:
- All Android mobile phones tested
- Other Philips TVs (MT5593FHT_EU, PH7M_EU_5596)
- Other Android TVs tested
bugreport-NZH54D-2018-04-03-16-40-08.zip
We are using in our app multiple players and dynamically switch the surface. This behaviour makes ExoPlayer crash or produce an ANR on one specific Philips TV model (QM163E). We could not reproduce this behaviour on other Android devices (mobile and TVs), even not on other Philips TV models (MT5593FHT_EU, PH7M_EU_5596).
This has been confirmed using ExoPlayer versions 2.7.1, 2.7.0, 2.6.x, 2.5.x.
This seems to be related to: #3835
Applying the workaround by adding it to the list in MediaCodecVideoRender/codecNeedsSetOutputSurfaceWorkaround() for OMX.MTK.VIDEO.DECODER.AVC fixes the issue:
Affected devices:
Not affected:
bugreport-NZH54D-2018-04-03-16-40-08.zip