Skip to content

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

@nirb999

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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions