diff --git a/mythtv/libs/libmyth/audio/audiooutputpulse.cpp b/mythtv/libs/libmyth/audio/audiooutputpulse.cpp
index f58a732..3515a67 100644
--- a/mythtv/libs/libmyth/audio/audiooutputpulse.cpp
+++ b/mythtv/libs/libmyth/audio/audiooutputpulse.cpp
@@ -286,7 +286,8 @@ void AudioOutputPulseAudio::WriteAudio(uchar *aubuf, int size)
 
 int AudioOutputPulseAudio::GetBufferedOnSoundcard(void) const
 {
-    pa_usec_t latency = (pa_usec_t) -1;
+    pa_usec_t latency = 0;
+    int latency_negative = 0;
     size_t buffered = 0;
 
     if (!pcontext || pa_context_get_state(pcontext) != PA_CONTEXT_READY)
@@ -301,7 +302,7 @@ int AudioOutputPulseAudio::GetBufferedOnSoundcard(void) const
 
     pa_threaded_mainloop_lock(mainloop);
 
-    while (pa_stream_get_latency(pstream, &latency, NULL) < 0)
+    while (pa_stream_get_latency(pstream, &latency, &latency_negative) < 0)
     {
         if (pa_context_errno(pcontext) != PA_ERR_NODATA)
         {
@@ -313,7 +314,7 @@ int AudioOutputPulseAudio::GetBufferedOnSoundcard(void) const
 
     pa_threaded_mainloop_unlock(mainloop);
 
-    if (latency < 0)
+    if (latency_negative)
     {
         latency = 0;
     }
