]> code.delx.au - pulseaudio/commitdiff
module-rtp-recv: Request proper rewind after underrun
authorMaarten Bosmans <mkbosmans@gmail.com>
Wed, 12 Jan 2011 06:34:28 +0000 (07:34 +0100)
committerMaarten Bosmans <mkbosmans@gmail.com>
Sun, 16 Jan 2011 01:27:25 +0000 (02:27 +0100)
src/modules/rtp/module-rtp-recv.c

index 49fdf9b5ad81204d8a4af90e7c2815de585574c9..b59519fbbf630b31c0df0fea169f828ed9f41674 100644 (file)
@@ -375,7 +375,9 @@ static int rtpoll_work_cb(pa_rtpoll_item *i) {
     if (pa_memblockq_is_readable(s->memblockq) &&
         s->sink_input->thread_info.underrun_for > 0) {
         pa_log_debug("Requesting rewind due to end of underrun");
-        pa_sink_input_request_rewind(s->sink_input, 0, FALSE, TRUE, FALSE);
+        pa_sink_input_request_rewind(s->sink_input,
+                                     (size_t) (s->sink_input->thread_info.underrun_for == (uint64_t) -1 ? 0 : s->sink_input->thread_info.underrun_for),
+                                     FALSE, TRUE, FALSE);
     }
 
     return 1;