Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Video glitching while playing MPEG-DASH + Widevine in Exynos devices #2009

Closed
Shyri opened this issue Oct 27, 2016 · 18 comments
Closed

Video glitching while playing MPEG-DASH + Widevine in Exynos devices #2009

Shyri opened this issue Oct 27, 2016 · 18 comments

Comments

@Shyri
Copy link
Contributor

Shyri commented Oct 27, 2016

Hi,
We are facing glitches in video playback with DRM protected content in devices with Exynos. We are using h264, MPEG-DASH and Widevine. We have tested in several devices, it is only happening in devices having Exynos processor but not in those with Qualcomm.
Here there's a screen record of the glitches.

ezgif-2386533970

Each bitrate is giving different glitch shapes, but always the same within the same bitrate. In any case it doesn't seem to be a bitrate issue.

Unfortunately I cannot give a link to the content. Exoplayer used was version 2, tag release-v2.

Devices having the issue:

  • SM-G925F - Android 6.0.1
  • SM-T710 - Android 6.0.1
  • SM-N920C - Android 6.0.1

Devices without issue:

  • SM-G900F - Android 6.0.1
  • LGE Nexus 5 - Android 6.0.1
@wvpaf
Copy link

wvpaf commented Nov 2, 2016

@Shyri can you provide a adb log? if the content cannot be shared there may not be much the OEM can do to troubleshoot.

@Shyri
Copy link
Contributor Author

Shyri commented Nov 7, 2016

@wvpaf We've tried with a reprocessed version of the same content, with and without protection. It works properly without protection, so we think is some specific issue with the DRM.

I'll attach a bugreport in case you can see something in there. We'll keep testing further

exoplayer2_report.txt

@Shyri
Copy link
Contributor Author

Shyri commented Nov 8, 2016

Hi @wvpaf , we have an update on this.
We tried to package a small sample of a video using widevine test license server in order to see if it was working properly and there could be some problem of our DRM provider. The result is still same, not glitching for qualcomm, glitching for Exynos. You can see here:

ezgif-411331412

Attached you can see the source and the packaged content with the mpd, so you can test with it, together with a bugreport in case it is useful.

test_video.zip

Thanks

@cagdasdirek
Copy link

@wvpaf any update about this issue?

@Shyri
Copy link
Contributor Author

Shyri commented Nov 17, 2016

Hi @wvpaf
We have another update:
We have tried with Samsung S7 edge, which has Exynos 8 family and glitches are not happening.
Also we have tried a Samsung S6 edge with Android 5.0.1 and it is not happening, but after updating it to Android 6.0.1 it started glitching. Could this be some Samsung bug in their firmware or something?

@ojw28
Copy link
Contributor

ojw28 commented Nov 25, 2016

@wvpaf - Friendly ping. Can we follow up on this? Thanks.

@mlondon1
Copy link

mlondon1 commented Nov 29, 2016

This sounds similar to the issue we were seeing on Samsung devices. If you try Level 3 security rather than default Level 1, does the issue go away? Also are you using Exoplayer 2.0.3 or greater?

@ojw28 ojw28 removed the bug label Dec 2, 2016
@wvpaf
Copy link

wvpaf commented Dec 6, 2016

Hi I was hoping to have more detailed update, however there is good news.

According to the OEM representative the issue has been fixed for few 'familys' of Exynos powered devices.
But have not been able to get updates on what versions will be needed nor how the fixes would be applied.

@Faved
Copy link

Faved commented Jan 24, 2017

Hi All,

I am just posting to see if there has been any further developments regarding this issue. I know wvpaf mentioned that there has been some "fixes" and how they will be applied is not known.

has anyone heard anything?

Many thanks

@Shyri
Copy link
Contributor Author

Shyri commented Jan 25, 2017

Hi again @wvpaf we are still facing this issue and it's blocking us very hard. It seems OEM hasn't release the fix yet... We are running all options here and it would be very useful for us if you can tell what the fix consists of. I mean what was the bug about and how did they fix it.

Thank you very much

@mlondon1
Copy link

mlondon1 commented Jan 25, 2017 via email

@Shyri
Copy link
Contributor Author

Shyri commented Jan 25, 2017

Hi @mlondon1

Maybe I am wrong, but I think the devices don't really need to support level 3 if they already provide level 1.
Trying to force to level 3 on all devices listed on top (ones with exynos) will lead to this exception

android.media.MediaDrm$MediaDrmStateException: Failed to handle provision response: DRM vendor-defined error: -2954
   at android.media.MediaDrm.provideProvisionResponseNative(Native Method)
   at android.media.MediaDrm.provideProvisionResponse(MediaDrm.java:900)
   at com.google.android.exoplayer.drm.StreamingDrmSessionManager.onProvisionResponse(StreamingDrmSessionManager.java:361)
   at com.google.android.exoplayer.drm.StreamingDrmSessionManager.access$700(StreamingDrmSessionManager.java:47)
   at com.google.android.exoplayer.drm.StreamingDrmSessionManager$PostResponseHandler.handleMessage(StreamingDrmSessionManager.java:483)
   at android.os.Handler.dispatchMessage(Handler.java:102)
   at android.os.Looper.loop(Looper.java:158)
   at android.os.HandlerThread.run(HandlerThread.java:61)
   at com.google.android.exoplayer.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40)

also, according to this link http://www.programering.com/a/MDO1EjNwATQ.html L3 should be provided by the manufacturer, it makes sense not to provide L3 is they already are providing L1 in hardware right?

Have you tried? which devices are you using?

@ojw28
Copy link
Contributor

ojw28 commented Jan 25, 2017

As far as I know it should always be possible to force to L3, and L3 does not require manufacturer specific integration work. There were some ExoPlayer releases that didn't handle L3 provisioning correctly, but it should work with the latest 1.x and 2.x releases.

@mlondon1
Copy link

We worked around some of these Samsung CDM issues by using L3 security in Exoplayer 2.x with success on many Android devices. We were having some device specific issues like you have above that were resolved by going this route. Without it, we would be stuck as well.

@wvpaf
Copy link

wvpaf commented Jan 31, 2017

There does seem to be a few issues with the Exynos chip based devices. The OEM has investigated and believes they have a fix. however we do not have any details on the fix, what the defect/solution is, nor what version of the software with the fix.

Do you observe the macroblocking with the widevine exoplayer test content?

@wvpaf
Copy link

wvpaf commented Feb 14, 2017

If no reply i will close next week.

@wvpaf
Copy link

wvpaf commented Mar 14, 2017

Closing

@wvpaf wvpaf closed this as completed Mar 14, 2017
@Shyri
Copy link
Contributor Author

Shyri commented Apr 3, 2017

Finally... Today Samsung released a new update that includes upgrade to Android 7 and a fix to this issue. So at the end all was related to Samsung's firmware...

@google google locked and limited conversation to collaborators Jul 13, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

6 participants