From 409684b2b2924bc0dbd423c277f4f45e613e78a5 Mon Sep 17 00:00:00 2001 From: aymeric Date: Tue, 10 Nov 2009 11:52:18 +0000 Subject: [PATCH] fix time overflow for long calls. git-svn-id: svn+ssh://svn.savannah.nongnu.org/linphone/trunk@757 3f6dc0c8-ddfe-455d-9043-3cd528dc4637 --- linphone/mediastreamer2/src/winsnd2.c | 4 ++-- linphone/mediastreamer2/src/winsndds.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/linphone/mediastreamer2/src/winsnd2.c b/linphone/mediastreamer2/src/winsnd2.c index f8b6f2481..56c8d404c 100755 --- a/linphone/mediastreamer2/src/winsnd2.c +++ b/linphone/mediastreamer2/src/winsnd2.c @@ -914,7 +914,7 @@ typedef struct WinSnd{ WAVEHDR hdrs_write[WINSND_OUT_NBUFS]; queue_t rq; ms_mutex_t mutex; - unsigned int bytes_read; + uint64_t bytes_read; unsigned int nbufs_playing; bool_t running; @@ -943,7 +943,7 @@ static void winsnd_apply_settings(WinSnd *d){ #ifndef _TRUE_TIME static uint64_t winsnd_get_cur_time( void *data){ WinSnd *d=(WinSnd*)data; - uint64_t curtime=((uint64_t)d->bytes_read*1000)/(uint64_t)d->wfx.nAvgBytesPerSec; + uint64_t curtime=(d->bytes_read*1000)/(uint64_t)d->wfx.nAvgBytesPerSec; /* ms_debug("winsnd_get_cur_time: bytes_read=%u return %lu\n",d->bytes_read,(unsigned long)curtime); */ return curtime; } diff --git a/linphone/mediastreamer2/src/winsndds.cpp b/linphone/mediastreamer2/src/winsndds.cpp index fd20609a3..8d6b22ad8 100644 --- a/linphone/mediastreamer2/src/winsndds.cpp +++ b/linphone/mediastreamer2/src/winsndds.cpp @@ -1177,7 +1177,7 @@ typedef struct WinSndDs{ WAVEFORMATEX wfx; queue_t rq; ms_mutex_t mutex; - unsigned int bytes_read; + uint64_t bytes_read; unsigned int nbufs_playing; int32_t stat_input; @@ -1276,7 +1276,7 @@ static void winsndds_apply_settings(WinSndDs *d){ static uint64_t winsndds_get_cur_time( void *data){ WinSndDs *d=(WinSndDs*)data; - uint64_t curtime=((uint64_t)d->bytes_read*1000)/(uint64_t)d->wfx.nAvgBytesPerSec; + uint64_t curtime=(d->bytes_read*1000)/(uint64_t)d->wfx.nAvgBytesPerSec; return curtime; }