Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 0610341f authored by Leena Winterrowd's avatar Leena Winterrowd Committed by Gerrit - the friendly Code Review server
Browse files

httplive: Resolve buffering standoff in HLS

It is possible for the HLS stack to accumulate more data for one
stream than the other over time. Once the buffering for this stream
exceeds the HLS buffering threshold, buffering is stopped for all
streams, even if the other active streams have no data buffered.

In such a case, dequeue of the fully-buffered stream is blocked
waiting for a packet to exist in the 'other stream' (eg the video
stream if dequeueing audio), but due to the aforementioned buffering
threshold, no additional data will ever be fetched.

Since the TS parser is aware of the existing streams once startup
is complete (at least 1 packet from each source type has been found),
require all streams, instead of just one stream, to meet the buffering
requirements once startup is complete. Retain the 'largest buffered
stream' requirement during startup only to ensure that we do not wait
for a stream type that is not present.

CRs-Fixed: 803835
Change-Id: I597664b508b7539d9fe0ee4fc7cee986df2970ae
parent 0c52765e
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment