Closed
Bug 1484000
Opened 6 years ago
Closed 6 years ago
Can't instantiate a hardware decoder on Android 9
Categories
(Core :: Audio/Video: Playback, defect)
Tracking
()
RESOLVED
DUPLICATE
of bug 1482847
People
(Reporter: jya, Assigned: jya)
References
Details
Attachments
(2 files, 1 obsolete file)
On a Google Pixel running Android 9, attempting to create a VP9 decoder from within MediaCapabilities.cpp it fails and you then see in the console: 08-16 22:01:32.055 27571-27583/org.mozilla.fennec_jyavenard W/Binder: Binder call failed. java.lang.IllegalArgumentException: account must not be null at android.content.ContentResolver.isSyncActive(ContentResolver.java:2707) at org.mozilla.gecko.fxa.authenticator.AndroidFxAccount.isCurrentlySyncing(AndroidFxAccount.java:698) at org.mozilla.gecko.fxa.sync.FxAccountSyncStatusHelper.onStatusChanged(FxAccountSyncStatusHelper.java:48) at android.content.ContentResolver$1.onStatusChanged(ContentResolver.java:2850) at android.content.ISyncStatusObserver$Stub.onTransact(ISyncStatusObserver.java:54) at android.os.Binder.execTransact(Binder.java:731) 08-16 22:01:32.055 27571-27571/org.mozilla.fennec_jyavenard D/GeckoMemoryMonitor: increasing memory pressure to 2 08-16 22:01:32.085 27571-27583/org.mozilla.fennec_jyavenard W/Binder: Binder call failed. java.lang.IllegalArgumentException: account must not be null at android.content.ContentResolver.isSyncActive(ContentResolver.java:2707) at org.mozilla.gecko.fxa.authenticator.AndroidFxAccount.isCurrentlySyncing(AndroidFxAccount.java:698) at org.mozilla.gecko.fxa.sync.FxAccountSyncStatusHelper.onStatusChanged(FxAccountSyncStatusHelper.java:48) at android.content.ContentResolver$1.onStatusChanged(ContentResolver.java:2850) at android.content.ISyncStatusObserver$Stub.onTransact(ISyncStatusObserver.java:54) at android.os.Binder.execTransact(Binder.java:731) 08-16 22:01:32.114 27571-27583/org.mozilla.fennec_jyavenard W/Binder: Binder call failed. java.lang.IllegalArgumentException: account must not be null at android.content.ContentResolver.isSyncActive(ContentResolver.java:2707) at org.mozilla.gecko.fxa.authenticator.AndroidFxAccount.isCurrentlySyncing(AndroidFxAccount.java:698) at org.mozilla.gecko.fxa.sync.FxAccountSyncStatusHelper.onStatusChanged(FxAccountSyncStatusHelper.java:48) at android.content.ContentResolver$1.onStatusChanged(ContentResolver.java:2850) at android.content.ISyncStatusObserver$Stub.onTransact(ISyncStatusObserver.java:54) at android.os.Binder.execTransact(Binder.java:731) 08-16 22:01:32.328 27571-27585/org.mozilla.fennec_jyavenard E/GeckoRemoteManager: remote codec is dead 08-16 22:01:32.333 27571-28897/org.mozilla.fennec_jyavenard W/System.err: android.os.DeadObjectException 08-16 22:01:32.339 27571-28897/org.mozilla.fennec_jyavenard W/System.err: at android.os.BinderProxy.transactNative(Native Method) 08-16 22:01:32.344 27571-28897/org.mozilla.fennec_jyavenard W/System.err: at android.os.BinderProxy.transact(Binder.java:1127) 08-16 22:01:32.347 27571-28897/org.mozilla.fennec_jyavenard W/System.err: at org.mozilla.gecko.media.ICodec$Stub$Proxy.configure(ICodec.java:233) 08-16 22:01:32.349 27571-28897/org.mozilla.fennec_jyavenard W/System.err: at org.mozilla.gecko.media.CodecProxy.init(CodecProxy.java:154) 08-16 22:01:32.352 27571-28897/org.mozilla.fennec_jyavenard W/System.err: at org.mozilla.gecko.media.RemoteManager.createCodec(RemoteManager.java:135) 08-16 22:01:32.355 27571-28897/org.mozilla.fennec_jyavenard W/System.err: at org.mozilla.gecko.media.CodecProxy.create(CodecProxy.java:132) 08-16 22:01:33.293 27571-28980/org.mozilla.fennec_jyavenard W/System.err: android.os.DeadObjectException 08-16 22:01:33.294 27571-28980/org.mozilla.fennec_jyavenard W/System.err: at android.os.BinderProxy.transactNative(Native Method) at android.os.BinderProxy.transact(Binder.java:1127) 08-16 22:01:33.295 27571-28980/org.mozilla.fennec_jyavenard W/System.err: at org.mozilla.gecko.media.ICodec$Stub$Proxy.configure(ICodec.java:233) at org.mozilla.gecko.media.CodecProxy.init(CodecProxy.java:154) 08-16 22:01:33.295 27571-29005/org.mozilla.fennec_jyavenard E/GeckoRemoteManager: remote codec is dead 08-16 22:01:33.296 27571-28980/org.mozilla.fennec_jyavenard W/System.err: at org.mozilla.gecko.media.RemoteManager.createCodec(RemoteManager.java:135) at org.mozilla.gecko.media.CodecProxy.create(CodecProxy.java:132) 08-16 22:01:34.135 27571-28783/org.mozilla.fennec_jyavenard W/System.err: android.os.DeadObjectException 08-16 22:01:34.135 27571-28783/org.mozilla.fennec_jyavenard W/System.err: at android.os.BinderProxy.transactNative(Native Method) 08-16 22:01:34.136 27571-28783/org.mozilla.fennec_jyavenard W/System.err: at android.os.BinderProxy.transact(Binder.java:1127) at org.mozilla.gecko.media.ICodec$Stub$Proxy.configure(ICodec.java:233) 08-16 22:01:34.137 27571-28783/org.mozilla.fennec_jyavenard W/System.err: at org.mozilla.gecko.media.CodecProxy.init(CodecProxy.java:154) 08-16 22:01:34.137 27571-27584/org.mozilla.fennec_jyavenard E/GeckoRemoteManager: remote codec is dead 08-16 22:01:34.142 27571-28783/org.mozilla.fennec_jyavenard W/System.err: at org.mozilla.gecko.media.RemoteManager.createCodec(RemoteManager.java:135) 08-16 22:01:34.144 27571-28783/org.mozilla.fennec_jyavenard W/System.err: at org.mozilla.gecko.media.CodecProxy.create(CodecProxy.java:132) 08-16 22:01:35.003 27571-29018/org.mozilla.fennec_jyavenard E/GeckoRemoteManager: remote codec is dead 08-16 22:01:35.004 27571-29020/org.mozilla.fennec_jyavenard W/System.err: android.os.DeadObjectException 08-16 22:01:35.006 27571-29020/org.mozilla.fennec_jyavenard W/System.err: at android.os.BinderProxy.transactNative(Native Method) 08-16 22:01:35.007 27571-29020/org.mozilla.fennec_jyavenard W/System.err: at android.os.BinderProxy.transact(Binder.java:1127) 08-16 22:01:35.009 27571-29020/org.mozilla.fennec_jyavenard W/System.err: at org.mozilla.gecko.media.ICodec$Stub$Proxy.configure(ICodec.java:233) 08-16 22:01:35.011 27571-29020/org.mozilla.fennec_jyavenard W/System.err: at org.mozilla.gecko.media.CodecProxy.init(CodecProxy.java:154) 08-16 22:01:35.014 27571-29020/org.mozilla.fennec_jyavenard W/System.err: at org.mozilla.gecko.media.RemoteManager.createCodec(RemoteManager.java:135) 08-16 22:01:35.017 27571-29020/org.mozilla.fennec_jyavenard W/System.err: at org.mozilla.gecko.media.CodecProxy.create(CodecProxy.java:132) Instantiating a VP9 decoder fails..
Assignee | ||
Comment 2•6 years ago
|
||
I'm wondering if the issue occurs because we may be trying to create and initialise multiple decoders simultaneously and if running those in sequence would prevent the problem from occurring.
Assignee | ||
Comment 3•6 years ago
|
||
I'm going to have a hot at it tomorrow, extracting the GlobalAllocPolicy code from MediaFormatReader
Assignee: jolin → jyavenard
Flags: needinfo?(jolin)
Assignee | ||
Comment 4•6 years ago
|
||
Assignee | ||
Comment 5•6 years ago
|
||
Assignee | ||
Comment 6•6 years ago
|
||
Attachment #9001783 -
Attachment is obsolete: true
Assignee | ||
Comment 7•6 years ago
|
||
Can reproduce the same problem with H264.
Summary: Can't instantiate a VP9 decoder on Android 9 → Can't instantiate a hardware decoder on Android 9
Comment 8•6 years ago
|
||
Also reproducible on Lenovo Phab 2 Pro phone running Android 6.0.1. The error shows incorrect width parameter is given: 08-16 16:54:24.665 545 17072 E OMX-VDEC-1080P: Unsupported Width = (4294967295) greater than max supported Width (4096) It looks like a bug in RemoteDataDecoder[1]. [1] https://searchfox.org/mozilla-central/source/dom/media/platforms/android/RemoteDataDecoder.cpp#460
Comment 9•6 years ago
|
||
To be specific, the bug mentioned in the previous comment is that wrong values are used. It should be config.mImage, not config.mDisplay.
Assignee | ||
Comment 10•6 years ago
|
||
As pointed by John, the issue was in the RemoteDataDecoder.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•