Skip to content

When CMCD is enabled in query parameter mode, DASH is not caching HTTP 302 redirection #2475

Description

@nirb999

Version

Media3 main branch

More version details

The DASH-IF IOP guidelines recommends that all 3xx redirects should be 'cached' in Section 3.2.15.3 of https://dashif.org/docs/DASH-IF-IOP-v4.3.pdf.

It is implemented that way in DashMediaSource, but when CMCD is enabled in query parameter mode, a new dataSpec is created for the manifest loading (startLoadingManifest), and the instance equality check in onManifestLoadCompleted returns false, thus skipping the code which uses the 302 redirected URI.

Devices that reproduce the issue

Android TV 12

Devices that do not reproduce the issue

No response

Reproducible in the demo app?

Yes

Reproduction steps

Enable CMCD with default or custom configuration factory, in HTTP query parameter mode
(MODE_QUERY_PARAMETER).
Play any live DASH content where the manifest URL is redirected (by a load-balancer) with HTTP 302 code.

Expected result

manifest redirected URL is persisted by the player.

Actual result

Player keeps calling the original manifest (live content) for every manifest reload, and gets redirected each time with HTTP 302 code.

Media

Not applicable

Bug Report

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions