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
Loading
Please register or sign in to comment