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

DASH_DUPLICATE_REPRESENTATION_ID error when using supplemental codec with dynamic manifest #7948

Closed
seanbecker15 opened this issue Jan 24, 2025 · 6 comments · Fixed by #7961
Assignees
Labels
component: DASH The issue involves the MPEG DASH manifest format priority: P1 Big impact or workaround impractical; resolve before feature release type: bug Something isn't working correctly
Milestone

Comments

@seanbecker15
Copy link

Have you read the FAQ and checked for duplicate open issues?
Yes

If the problem is related to FairPlay, have you read the tutorial?

N/A

What version of Shaka Player are you using?

4.13.0

Can you reproduce the issue with our latest release version?
Yes

Can you reproduce the issue with the latest code from main?
Yes

Are you using the demo app or your own custom app?
Demo

If custom app, can you reproduce the issue using our demo app?
N/A

What browser and OS are you using?
Chrome macOS 14.5

For embedded devices (smart TVs, etc.), what model and firmware version are you using?
N/A

What are the manifest and license server URIs?

Will send to shaka maintainer group if necessary

What configuration are you using? What is the output of player.getNonDefaultConfiguration()?

Will include if necessary

What did you do?

Play dash with supplemental codec and <MPD type="dynamic">

What did you expect to happen?
This isn't exactly relevant, but since my laptop doesn't seem to support the supplemental codec provided by the manifest (checked using canPlayType on video element) I'd expect the video to play using the codec attribute on the representation.

The supplemental codec doesn't seem relevant to this issue since I believe it's the combination of the existence of a supplemental codec in at least one representation and type="dynamic" that results in the error (below).

What actually happened?

Error thrown DASH_DUPLICATE_REPRESENTATION_ID

Image

Are you planning to send a PR to fix it?
If desired, sure. Based on #7720 and the tests that exist for this file it seems like there isn't coverage for type="dynamic" and supplemental codecs. Since there aren't tests for this path and I couldn't find support matrix it's unclear to me whether supplemental codecs are intended to be supported for dynamic manifests -- if support is intended then I'd be happy to contribute / figure out a fix.

@seanbecker15 seanbecker15 added the type: bug Something isn't working correctly label Jan 24, 2025
@seanbecker15
Copy link
Author

@joeyparrish @avelad

To clarify, this is really a question and bug report:

Question

Is it expected that shaka player currently supports supplemental codecs for dynamic manifests?

Bug Report

If support is intended, I think there's a defect in the dynamic manifest duplicate id check after copying the representations for supplemental codecs.

@shaka-bot shaka-bot added this to the v4.14 milestone Jan 24, 2025
@avelad
Copy link
Member

avelad commented Jan 27, 2025

@seanbecker15 Please send us your manifest url privately so we can resolve this bug Thanks!

@avelad avelad added status: waiting on response Waiting on a response from the reporter(s) of the issue priority: P1 Big impact or workaround impractical; resolve before feature release component: DASH The issue involves the MPEG DASH manifest format labels Jan 27, 2025
@seanbecker15
Copy link
Author

@avelad Manifest url sent to [email protected]. Thank you!

@shaka-bot shaka-bot removed the status: waiting on response Waiting on a response from the reporter(s) of the issue label Jan 27, 2025
@avelad
Copy link
Member

avelad commented Jan 27, 2025

@seanbecker15 I can reproduce the issue, I will work on fixing it tomorrow. Please keep the url active until I can fix it. Thanks!

@seanbecker15
Copy link
Author

@avelad thanks for the quick response time!

As an aside, I noticed that in #7961 there weren't any tests updated and in a related refactoring effort (#7967) there weren't any tests updated - Just wanted to see if there are any plans to update tests to cover this case. While the incremental test coverage says "100%", I think one reason this bug was introduced was because there isn't path coverage for this case. I believe that adding a case where type="dynamic" to https://github.com/shaka-project/shaka-player/blob/main/test/dash/dash_parser_manifest_unit.js#L3683 would hit this path.

@avelad
Copy link
Member

avelad commented Jan 28, 2025

@seanbecker15 I'd be happy to review a PR of yours that adds this unit test, I haven't had time to add it.

avelad added a commit that referenced this issue Jan 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: DASH The issue involves the MPEG DASH manifest format priority: P1 Big impact or workaround impractical; resolve before feature release type: bug Something isn't working correctly
Projects
None yet
3 participants