Split long strings in stream hls tests (#135271)

This commit is contained in:
epenet 2025-01-10 11:09:20 +01:00 committed by GitHub
parent aa741a9207
commit 8386eaa92b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 19 additions and 16 deletions

View File

@ -119,13 +119,16 @@ def make_playlist(
response.extend(
[
f"#EXT-X-PART-INF:PART-TARGET={part_target_duration:.3f}",
f"#EXT-X-SERVER-CONTROL:CAN-BLOCK-RELOAD=YES,PART-HOLD-BACK={2*part_target_duration:.3f}",
f"#EXT-X-START:TIME-OFFSET=-{EXT_X_START_LL_HLS*part_target_duration:.3f},PRECISE=YES",
"#EXT-X-SERVER-CONTROL:CAN-BLOCK-RELOAD=YES,PART-HOLD-BACK="
f"{2 * part_target_duration:.3f}",
"#EXT-X-START:TIME-OFFSET=-"
f"{EXT_X_START_LL_HLS * part_target_duration:.3f},PRECISE=YES",
]
)
else:
response.append(
f"#EXT-X-START:TIME-OFFSET=-{EXT_X_START_NON_LL_HLS*segment_duration:.3f},PRECISE=YES",
"#EXT-X-START:TIME-OFFSET=-"
f"{EXT_X_START_NON_LL_HLS * segment_duration:.3f},PRECISE=YES",
)
if segments:
response.extend(segments)

View File

@ -99,18 +99,17 @@ def make_segment_with_parts(
if discontinuity:
response.append("#EXT-X-DISCONTINUITY")
response.extend(
f'#EXT-X-PART:DURATION={TEST_PART_DURATION:.3f},URI="./segment/{segment}.{i}.m4s"{",INDEPENDENT=YES" if i%independent_period==0 else ""}'
f'#EXT-X-PART:DURATION={TEST_PART_DURATION:.3f},'
f'URI="./segment/{segment}.{i}.m4s"'
f'{",INDEPENDENT=YES" if i % independent_period == 0 else ""}'
for i in range(num_parts)
)
response.extend(
[
"#EXT-X-PROGRAM-DATE-TIME:"
+ FAKE_TIME.strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3]
+ "Z",
f"#EXTINF:{math.ceil(SEGMENT_DURATION/TEST_PART_DURATION)*TEST_PART_DURATION:.3f},",
f"./segment/{segment}.m4s",
]
response.append(
f"#EXT-X-PROGRAM-DATE-TIME:{FAKE_TIME.strftime('%Y-%m-%dT%H:%M:%S.%f')[:-3]}Z"
)
duration = math.ceil(SEGMENT_DURATION / TEST_PART_DURATION) * TEST_PART_DURATION
response.append(f"#EXTINF:{duration:.3f},")
response.append(f"./segment/{segment}.m4s")
return "\n".join(response)
@ -166,7 +165,7 @@ async def test_ll_hls_stream(
# Fetch playlist
playlist_url = "/" + master_playlist.splitlines()[-1]
playlist_response = await hls_client.get(
playlist_url + f"?_HLS_msn={num_playlist_segments-1}"
playlist_url + f"?_HLS_msn={num_playlist_segments - 1}"
)
assert playlist_response.status == HTTPStatus.OK
@ -465,7 +464,8 @@ async def test_ll_hls_playlist_bad_msn_part(
).status == HTTPStatus.BAD_REQUEST
assert (
await hls_client.get(
f"/playlist.m3u8?_HLS_msn=1&_HLS_part={num_completed_parts-1+hass.data[DOMAIN][ATTR_SETTINGS].hls_advance_part_limit}"
"/playlist.m3u8?_HLS_msn=1&_HLS_part="
f"{num_completed_parts - 1 + hass.data[DOMAIN][ATTR_SETTINGS].hls_advance_part_limit}"
)
).status == HTTPStatus.BAD_REQUEST
stream_worker_sync.resume()
@ -515,13 +515,13 @@ async def test_ll_hls_playlist_rollover_part(
*(
[
hls_client.get(
f"/playlist.m3u8?_HLS_msn=1&_HLS_part={len(segment.parts)-1}"
f"/playlist.m3u8?_HLS_msn=1&_HLS_part={len(segment.parts) - 1}"
),
hls_client.get(
f"/playlist.m3u8?_HLS_msn=1&_HLS_part={len(segment.parts)}"
),
hls_client.get(
f"/playlist.m3u8?_HLS_msn=1&_HLS_part={len(segment.parts)+1}"
f"/playlist.m3u8?_HLS_msn=1&_HLS_part={len(segment.parts) + 1}"
),
hls_client.get("/playlist.m3u8?_HLS_msn=2&_HLS_part=0"),
]