-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
DASH output with CEA-608/708 suffers from decoding error (hardware acceleration enabled) #3502
Comments
The bug seems to be in sei_processor.js, which should not call removeEmu_ to modify the input buffer directly. Because the modified buffer with H264 emulation start sequence removed will not compliant to H264 syntax. That causes decoding error to hardware decoder (software decoder can tolerate it). |
Can you provide a sample manifest URL? It works fine for me with the CEA asset on our demo page. |
It is because your CEA asset in demo page doesn't actually have any H264 emulation bytes to remove :) i.e. removeEmu_(naluData) always return 0 in your demo asset. I have an asset can hit the issue in 100% manner, but I don't have the content right to share. How can I share the URL with you in private? |
Anything you share with [email protected] will not be shared outside the team. Please reference the issue number in your email to make it easy to find, and then reply here so we know to look for it. Thanks! |
@wongfei2009, without content to test, we won't be able to work on this issue right now. Although this is a high priority issue, I'm going to have to bump this to the v3.3 milestone. Please let us know when you can share the content privately, so that we can verify the fix and create a regression test. Thanks! |
Asset able to trigger this issue has been shared via [email protected]. Thank for the attention. |
I think the PR #3610 fixes this! (@enson-choy) |
Cool - indeed, this pull request is contributed by my colleague per my
request ;)
…On Tue, 31 Aug 2021 at 4:21 PM, Álvaro Velad Galván < ***@***.***> wrote:
I think the PR #3610 <#3610>
fixes this! ***@***.*** <https://github.com/enson-choy>)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#3502 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABN6RNGIV3TNT44DIBS3333T7SGILANCNFSM47WOJ73Q>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
When unboxing TKHD, the reader read int64 as trackId instead of int32. Thus unable to find matching timescale when doing TFHD unboxing. Therefore when parsing MDAT, the default timescale will be used which is 90000. All CC timestamps will then be incorrect. This also fixes "Shaka Error MEDIA.VIDEO_ERROR (3,,PIPELINE_ERROR_DECODE: Failed to parse H.264 stream)" error when playing DASH MP4 H.264 streams with CEA-608 CC embedded. It's likely that the VDA bundled in Chromium-based browsers have already included EPB detection & prevention. If we let the player to remove the byte, VDA will complain about stream conformance. Closes #3502
When unboxing TKHD, the reader read int64 as trackId instead of int32. Thus unable to find matching timescale when doing TFHD unboxing. Therefore when parsing MDAT, the default timescale will be used which is 90000. All CC timestamps will then be incorrect. This also fixes "Shaka Error MEDIA.VIDEO_ERROR (3,,PIPELINE_ERROR_DECODE: Failed to parse H.264 stream)" error when playing DASH MP4 H.264 streams with CEA-608 CC embedded. It's likely that the VDA bundled in Chromium-based browsers have already included EPB detection & prevention. If we let the player to remove the byte, VDA will complain about stream conformance. Closes #3502
Have you read the FAQ and checked for duplicate open issues?
Yes.
What version of Shaka Player are you using?
v3.1.1.
Can you reproduce the issue with our latest release version?
Yes.
Can you reproduce the issue with the latest code from
master
?Yes.
Are you using the demo app or your own custom app?
Demo app.
If custom app, can you reproduce the issue using our demo app?
What browser and OS are you using?
Chrome Version 91.0.4472.114 (Official Build) (x86_64) and macOS 11.4.
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
What are the manifest and license server URIs?
What configuration are you using? What is the output of
player.getConfiguration()
?What did you do?
Playback a DASH output with CEA-608/708.
What did you expect to happen?
Playback correctly, won't stop due to decode error.
What actually happened?
As soon as, a video segment with H264 emulation start sequence is parsed and then decode. There will be a pipeline decode error and playback stops.
The text was updated successfully, but these errors were encountered: