"""Детерминированность модели и запрет позднего видеофрагмента.""" from __future__ import annotations import json from protocol.video_stream_transport import FrameReassembler, FrameType, VideoFragment from tools.video004_transport import ( BASELINE_160, BASELINE_320, CODEC_RESULTS, _frames, simulate, ) def test_v2_fragment_can_enter_reassembler_without_reserialization() -> None: receiver = FrameReassembler(19, 1012, max_age_ms=300) fragment = VideoFragment(19, 0, 0, 1, FrameType.KEYFRAME, 10, b"h264") completed = receiver.offer_fragment(fragment, 10) assert completed is not None and completed.data == b"h264" assert receiver.offer_fragment(fragment, 11) is None def test_loss_model_repeats_and_zero_loss_shows_all_normal_frames() -> None: codec = json.loads(CODEC_RESULTS.read_text(encoding="utf-8")) baseline = json.loads(BASELINE_320.read_text(encoding="utf-8")) baseline_160 = json.loads(BASELINE_160.read_text(encoding="utf-8")) combined, _ = _frames("NORMAL", 640, 360, 10, baseline["windows"][0], codec, baseline_160) frames = [frame for frame in combined if frame.stream_id == 0x56303334] clean = simulate(frames, 10, "2/3", 8, 1, ("random", 0)) first = simulate(frames, 10, "2/3", 8, 2, ("random", 5)) second = simulate(frames, 10, "2/3", 8, 2, ("random", 5)) assert clean["displayed_frames"] == clean["input_frames"] == 60 assert first == second assert first["parity_recoveries"] > 0 assert first["no_old_frame_replay"]