Closed KingLucius closed 3 weeks ago
- You will email the zip file produced by
adb bugreport
to android-media-github@google.com after filing this issue.
We didn't receive this. Please re-send it with subject Issue #1732
. Thanks!
- You will email the zip file produced by
adb bugreport
to android-media-github@google.com after filing this issue.We didn't receive this. Please re-send it with subject
Issue #1732
. Thanks!
Done
The email contains a logcat snippet, not the zip file produced by adb bugreport
. The full bugreport often contains additional info which can help to understand issues. Please run adb bugreport
after reproducing the issue, and email us the resulting zip file, then update this issue.
The email contains a logcat snippet, not the zip file produced by
adb bugreport
. The full bugreport often contains additional info which can help to understand issues. Please runadb bugreport
after reproducing the issue, and email us the resulting zip file, then update this issue.
Updated the email with adb bugreport
zip file result
Thanks - please can you add an EventLogger
(https://developer.android.com/media/media3/exoplayer/debug-logging) and reproduce and take a new BR.
Please can you also provide a BR of a successful playback using 1.3.1, so we can understand what might be behaving differently.
Thanks - please can you add an
EventLogger
(https://developer.android.com/media/media3/exoplayer/debug-logging) and reproduce and take a new BR.Please can you also provide a BR of a successful playback using 1.3.1, so we can understand what might be behaving differently.
Updated, please check
Thanks - I can't see any EventLogger
output in the BR, so I'm not sure if you added it correctly (you need to add a line like player.addAnalyticsListener(new EventLogger())
).
However I can see a difference between the two BRs without this, that I suspect is responsible for the error you're seeing.
At 1.3.1 we are instantiating an "insecure" (i.e. not HW-secure) video decoder:
OMXMaster: makeComponentInstance(OMX.MTK.VIDEO.DECODER.AVC) in mediacodec process
At 1.4.0 we are instantiating a HW-secure one (note the .secure
suffix):
OMXMaster: makeComponentInstance(OMX.MTK.VIDEO.DECODER.AVC.secure) in mediacodec process
ClearKey doesn't support HW-secure playback.
At a guess, I suspect the change in behaviour might have been introduced by https://github.com/androidx/media/commit/c872af4bc00608be70b74a2f61078e5d65ed8322 where we switched from using MediaCrypto.requiresSecureDecoderComponent(String)
to MediaDrm.requiresSecureDecoder(String)
.
We made a related follow-up fix/workaround that was included in 1.4.1 where MediaDrm.requiresSecureDecoder(String)
was returning false
when it should have been returning true
(and MediaCrypto.requiresSecureDecoderComponent(String)
was returning true
): https://github.com/androidx/media/commit/b184677b7b50652ea9a97d1504c80f171143d7d9 (and then a follow-up fix to this for an edge-case that will be in 1.5.0-beta01: https://github.com/androidx/media/commit/0b86f8949865ed685ff1aad89962867b5629ee8d).
In your case, my hypothesis would suggest that MediaDrm.requiresSecureDecoder(String)
is incorrectly returning true
while MediaCrypto.requiresSecureDecoderComponent(String)
is returning false
. Would you be able to test this hypothesis?
If you have a local dependency on ExoPlayer this is quite easy, because you can just add some logging here in MediaCodecRenderer
:
Something like:
if (codecDrmSession != null
&& (codecDrmSession.getState() == DrmSession.STATE_OPENED
|| codecDrmSession.getState() == DrmSession.STATE_OPENED_WITH_KEYS)) {
Log.w(
"issue-1732",
"drmSession.requiresSecureDecoder()="
+ codecDrmSession.requiresSecureDecoder(checkStateNotNull(inputFormat.sampleMimeType));
}
if (mediaCrypto != null) {
Log.w(
"issue-1732",
"mediaCrypto.requiresSecureDecoderComponent()="
+ mediaCrypto.requiresSecureDecoderComponent(checkStateNotNull(mimeType));
}
Hey @KingLucius. We need more information to resolve this issue but there hasn't been an update in 14 weekdays. I'm marking the issue as stale and if there are no new updates in the next 7 days I will close it automatically.
If you have more information that will help us get to the bottom of this, just add a comment!
Since there haven't been any recent updates here, I am going to close this issue.
@KingLucius if you're still experiencing this problem and want to continue the discussion just leave a comment here and we are happy to re-open this.
Version
Media3 1.4.0
More version details
From 1.4.0 and up has this issue, downgrading to 1.3.1 fixes it
Devices that reproduce the issue
Amazon FireTV Stick 4K (Mantis)
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Not tested
Reproduction steps
I can provide sample ClearKey link in private to test
Expected result
Media working like in 1.3.1
Actual result
Media
Will send to android-media-github@google.com
Bug Report
adb bugreport
to android-media-github@google.com after filing this issue.