@@ -649,27 +649,18 @@ void XmaContextNew::UpdateLoopStatus(XMA_CONTEXT_DATA* data) {
649649 const uint32_t loop_start = std::max (kBitsPerPacketHeader , data->loop_start );
650650 const uint32_t loop_end = std::max (kBitsPerPacketHeader , data->loop_end );
651651
652- if (loop_end < loop_start) {
653- XELOGW (
654- " XmaContext {}: Degenerate loop region (end {} < start {}), ignoring" ,
655- id (), loop_end, loop_start);
652+ if (loop_end <= loop_start) {
656653 return ;
657654 }
658655
659- XELOGAPU (" XmaContext {}: Looped Data: {} > {} (Start: {}) Remaining: {}" ,
656+ XELOGAPU (" XmaContext {}: Looped Data: {} < {} (Start: {}) Remaining: {}" ,
660657 id (), data->input_buffer_read_offset , data->loop_end ,
661658 data->loop_start , data->loop_count );
662659
663- if (data->input_buffer_read_offset <= loop_end) {
660+ if (data->input_buffer_read_offset < loop_end) {
664661 return ;
665662 }
666663
667- // Read offset has advanced past the loop end frame — loop back.
668- XELOGAPU (
669- " XmaContext {}: Loop triggered - offset {} past end {}, "
670- " jumping to start {} (remaining: {} -> {})" ,
671- id (), data->input_buffer_read_offset , loop_end, loop_start,
672- data->loop_count , data->loop_count == 255 ? 255 : data->loop_count - 1 );
673664 data->input_buffer_read_offset = loop_start;
674665 loop_start_skip_pending_ = true ;
675666
0 commit comments