Open HyowonHwang opened 4 months ago
Hi @HyowonHwang,
Thanks for filing the issue! Looking at some contexts when we developed the support for LL-HLS, I saw that we marked the preload segment with FLAG_MIGHT_NOT_USE_FULL_NETWORK_SPEED
intentionally.
In fact, bandwidth estimation based on transfers is only possible if the transfers happen as fast as possible, that is, the transfer events we receive assume that the underlying network connection is working as fast as possible and thus the resulting estimate can be used for any future data transfer. This assumption may be violated in the case of Low-latency live streaming where the measured bandwidth may also be limited by the speed in which the downloaded content is generated on the server. For example, low-latency live streaming systems that allow fetching unfinished chunks can't be faster than the real-time playback speed.
I'm leaving this open as an enhancement given that I didn't find any previous equivalent issue that tracks this, but this may not be revisited for a better solution in the very near future I'm afraid.
[REQUIRED] Use case description
Currently I use blocking media segment feature by
EXT-X-PRELOAD-HINT
like below. However, Exoplayer cannot addSample when tranferring segments by below codes. https://github.com/androidx/media/blob/release/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/DefaultBandwidthMeter.java#L398 Is threre any ways to solve this, please?