mirror of
https://github.com/samsonjs/media.git
synced 2026-03-28 09:55:48 +00:00
opt out of using DummySurface on specific Fire TV device
This commit is contained in:
parent
9c76ba0603
commit
cbfa602866
1 changed files with 8 additions and 1 deletions
|
|
@ -825,10 +825,11 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer {
|
|||
private boolean shouldUseDummySurface(MediaCodecInfo codecInfo) {
|
||||
return Util.SDK_INT >= 23
|
||||
&& !tunneling
|
||||
&& !codecNeedsDummySurfaceWorkaround(codecInfo.name)
|
||||
&& !codecNeedsSetOutputSurfaceWorkaround(codecInfo.name)
|
||||
&& (!codecInfo.secure || DummySurface.isSecureSupported(context));
|
||||
}
|
||||
|
||||
|
||||
private void setJoiningDeadlineMs() {
|
||||
joiningDeadlineMs = allowedJoiningTimeMs > 0
|
||||
? (SystemClock.elapsedRealtime() + allowedJoiningTimeMs) : C.TIME_UNSET;
|
||||
|
|
@ -1171,6 +1172,12 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer {
|
|||
return Util.SDK_INT <= 22 && "foster".equals(Util.DEVICE) && "NVIDIA".equals(Util.MANUFACTURER);
|
||||
}
|
||||
|
||||
private static boolean codecNeedsDummySurfaceWorkaround(String name) {
|
||||
// Work around https://github.com/google/ExoPlayer/issues/4419.
|
||||
return (("needle".equals(Util.DEVICE)) // FireTV 4K
|
||||
&& "OMX.amlogic.avc.decoder.awesome".equals(name));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether the device is known to implement {@link MediaCodec#setOutputSurface(Surface)}
|
||||
* incorrectly.
|
||||
|
|
|
|||
Loading…
Reference in a new issue