I am testing HLS Low latency streams but could not to a low playback latency. For comparison purpose I used Apple HLS-LL stream(https://ll-hls-test.cdn-apple.com/llhls4/ll-hls-test-04/multi.m3u8) where I can get latency of 6 seconds on Safari and AVPlayer.
The main difference between the non-working and working streams is CAN-BLOCK-RELOAD attribute. This is set as YES for Apple HLS-LL test stream where latency is observed as 6 seconds vs other stream where latency is ~= 3 full segments duration(~18 seconds).
As a test I tried to change CAN-BLOCK-RELOAD=YES
to CAN-BLOCK-RELOAD=NO
in variant playlist response of the Apple stream using a proxy tool after which I get same result of latency ~= 3 full segments duration(~18 seconds).
On AVPlayer, I see following log with CAN-BLOCK-RELOAD=YES
which seems to point towards AVPlayer entering low latency mode when setting up blocking reload.
mediaserverd <SEGPUMP> segPumpSetupBlockingReload: 0x1040e7600: Player entering Low Latency mode
Can Apple support or someone forum members who might have experience with this please share if CAN-BLOCK-RELOAD=YES
is mandatory for low latency mode to be enabled in Safari browser and AVPlayer on iOS/tvOS?