From: Andreas Eversberg Date: Mon, 20 Sep 2010 06:22:13 +0000 (+0200) Subject: Fix of vbox announcing bug X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=commitdiff_plain;h=1e711b3a83867445c2ad7e7f84e4e3c024ad9572 Fix of vbox announcing bug Hi, here's a simple patch that makes the announcement work again when using the vbox in lcr. Bodo --- diff --git a/vbox.cpp b/vbox.cpp index 6eb0ce2..bc2c369 100644 --- a/vbox.cpp +++ b/vbox.cpp @@ -107,14 +107,14 @@ void VBoxPort::send_announcement(void) class Endpoint *epoint; int temp; struct timeval current_time; - long long now; + long long now; /* Time in samples */ /* don't restart timer, if announcement is played */ if (p_vbox_announce_fh < 0) return; gettimeofday(¤t_time, NULL); - now = current_time.tv_sec * MICRO_SECONDS + current_time.tv_usec; + now = (current_time.tv_sec * MICRO_SECONDS + current_time.tv_usec)/125; /* set time the first time */ if (!p_vbox_audio_start) @@ -122,6 +122,8 @@ void VBoxPort::send_announcement(void) /* calculate the number of bytes */ tosend = (unsigned int)(now - p_vbox_audio_start) - p_vbox_audio_transferred; + if (tosend > sizeof(buffer)) + tosend = sizeof(buffer); /* schedule next event */ temp = ISDN_TRANSMIT + ISDN_TRANSMIT - tosend; @@ -129,9 +131,6 @@ void VBoxPort::send_announcement(void) temp = 0; schedule_timer(&p_vbox_announce_timer, 0, temp*125); - if (tosend > sizeof(buffer)) - tosend = sizeof(buffer); - /* add the number of samples elapsed */ p_vbox_audio_transferred += tosend;