]> git.sesse.net Git - vlc/commitdiff
"vlc_*_timedwait() expect a time in microseconds". Patch by funman.
authorRémi Duraffort <ivoire@videolan.org>
Thu, 10 Jan 2008 18:11:55 +0000 (18:11 +0000)
committerRémi Duraffort <ivoire@videolan.org>
Thu, 10 Jan 2008 18:11:55 +0000 (18:11 +0000)
modules/misc/audioscrobbler.c

index f2a2db98df37aa72c10c743599e71ebb5980b112..d3b4467885cafb941b98b5cac9e3a479e5cfaf8c 100644 (file)
@@ -267,7 +267,10 @@ static void Run( intf_thread_t *p_intf )
         /* waiting for data to submit, if waiting interval is elapsed */
         vlc_object_lock( p_intf );
         if( time( NULL ) < p_sys->next_exchange )
-            b_die = vlc_object_timedwait( p_intf, p_sys->next_exchange );
+        {
+            mtime_t deadline = (mtime_t)p_sys->next_exchange * (mtime_t)1000000;
+            b_die = ( vlc_object_timedwait( p_intf, deadline) < 0 );
+        }
         else
             b_die = vlc_object_wait( p_intf );
         vlc_object_unlock( p_intf );
@@ -277,6 +280,9 @@ static void Run( intf_thread_t *p_intf )
             msg_Dbg( p_intf, "audioscrobbler is dying");
             return;
         }
+        /* we are signaled each time there is a song to submit */
+        else if( time( NULL ) < p_sys->next_exchange )
+            continue;
 
         /* handshake if needed */
         if( p_sys->b_handshaked == VLC_FALSE )