这是indexloc提供的服务,不要输入任何密码
Skip to content

Request to open up configurability for Segment download collapsing #10949

@ronak2121

Description

@ronak2121

When filing a feature request:

Replace the content in the sections below.

[REQUIRED] Use case description

We are using Exoplayer's Dash Downloader to download our long form audio only content and we see a large degradation in download speeds. Our segment sizes are already set to 20 seconds and our content can be up to 154 hours long.

We saw that Exoplayer already collapses adjacent segments together to optimize the amount of network chattiness on the wire. c8e7ecd. As our segment sizes are already 20s long this collapsing doesn't kick in.

Based on our testing, bumping up this number to something much higher like 2000, or 3000 gives us the speed ups we need.

Proposed solution

We are requesting Exoplayer to make the segment size collapsing configurable via a parameter into the SegmentDownloader instead of a hardcoded value:

private static final long MAX_MERGED_SEGMENT_START_TIME_DIFF_US = 20 * C.MICROS_PER_SECOND;

This can continue to be the default value, but clients can override it with their own values so it works in each of their contexts. (I understand this value was probably selected for video use cases in mind only).

Alternatives considered

Alternatively we can add logic on the server side to dynamically manipulate the segment sizes if Android is trying to download the stream, but this will reduce our cache hit ratios, add special logic to our infrastructure to work around this limitation, and potentially impact stall rates and latency with streaming while we download the stream.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions