Skip to content

Commit 45cffb2

Browse files
committed
fix: improve audio buffer resync handling and logging
1 parent 8092426 commit 45cffb2

1 file changed

Lines changed: 5 additions & 8 deletions

File tree

‎src/receiver.c‎

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -551,19 +551,16 @@ static bool maybe_resync_audio_buffer(struct irl_source *ctx, int64_t peek,
551551
if (gap_ns >= -50000000LL)
552552
return false;
553553

554-
int skipped = audio_buffer_skip_until_pts(&ctx->audio_buf, expected);
555-
if (skipped <= 0)
556-
return false;
557-
558-
ctx->audio_resync_skipped_chunks += (uint64_t)skipped;
554+
ctx->audio_resync_skipped_chunks += (uint64_t)chunk_count;
555+
audio_buffer_flush(&ctx->audio_buf);
559556
if (reset_stretch)
560557
irl_stretch_reset(ctx);
561-
reanchor_audio_output_clock(ctx);
558+
reset_audio_timing_state(ctx);
562559
ctx->current_speed = 1.0f;
563560
ctx->last_speed_adjust_time = 0;
564561
blog(LOG_INFO,
565-
"[irl-source] Audio re-sync: skipped %d stale chunks (gap=%lldms)",
566-
skipped, (long long)(gap_ns / 1000000));
562+
"[irl-source] Audio re-sync: flushed %d stale chunks (gap=%lldms)",
563+
chunk_count, (long long)(gap_ns / 1000000));
567564
return true;
568565
}
569566

0 commit comments

Comments
 (0)