# The XMA context's loop fields for the menu bed, read from the running game.
#
# 2026-08-30. run-canary --gpu=null --xma_param_probe=true --log_mask=13
# --log_level=3 (log_mask DISABLES categories: 13 = Kernel+Cpu+Gpu off, APU ON,
# and XELOGAPU is debug level, hence level 3). No Canary patch was needed --
# UpdateLoopStatus already logs these.
#
# Menu reached by the log oracle in 26.8 s; 45 s hold; 8 734 'Looped Data'
# lines, ALL of them after BGM_103's contexts appear. The movie's three ADV
# streams produce NONE, i.e. loop_count = 0 on them.
#
# ctx -> wave, from the probe's own byte_size:
#   ctx0  packets=1893  byte_size=3876864   (wave 0)
#   ctx1  packets=1919  byte_size=3930112   (wave 1)
#
# LOOP FIELDS (bit offsets; loop_count 255 = infinite):
#   ctx0  loop_start =  3 605 682   loop_end = 25 640 423   len = 22 034 741
#   ctx1  loop_start =  3 539 158   loop_end = 26 216 351   len = 22 677 193
#
# READ-OFFSET TRAJECTORY over the 45 s hold:
#   ctx0  min 32  max 16 944 845     ctx1  min 32  max 17 165 054
#   20.0 % of samples are BELOW loop_start in both.
#   Neither reaches loop_end, so NO WRAP was observed in this run.
#
# => playback starts at offset 32 (the first packet header) and runs forward;
#    loop_start is where it returns AFTER loop_end. The first pass is longer
#    than the cycles that follow.
#
# 🔴 A LINEAR bits->seconds conversion is INVALID. Applied to each stem with
# its own byte_size it gives:
#   ctx0  62.34 s     ctx1  63.29 s
# Two stems that play sample-synchronously cannot have loop durations 0.95 s
# apart, so the linearity assumption is refuted by the data itself. XMA frames
# are variable-length in bits.
#
# 🔴 AND IT CONFLICTS with the audio measurement. loop_start at 3.6 M of
# 31.0 M bits is 11.6 % in; linearly that is ~10 s, so the cycle would be
# roughly [10 s, 72 s] of the wave. The audio wave-offset tracking
# (menu-bgm-loop-measured.txt) put the observed offsets at 0.25 .. 57.18 s.
# Both cannot be right. Unresolved.
