[vlc-commits] wasapi: check IAudioClock::GetPosition for error
Rémi Denis-Courmont
git at videolan.org
Thu Aug 2 17:26:05 CEST 2012
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Thu Aug 2 17:52:09 2012 +0300| [e351093a42b312872912687ba2c4e3bd12e28588] | committer: Rémi Denis-Courmont
wasapi: check IAudioClock::GetPosition for error
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=e351093a42b312872912687ba2c4e3bd12e28588
---
modules/audio_output/wasapi.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/modules/audio_output/wasapi.c b/modules/audio_output/wasapi.c
index 726b88d..6c45b83 100644
--- a/modules/audio_output/wasapi.c
+++ b/modules/audio_output/wasapi.c
@@ -100,10 +100,15 @@ static void Play(audio_output_t *aout, block_t *block, mtime_t *restrict drift)
{
UINT64 pos, qpcpos;
- IAudioClock_GetPosition(sys->clock, &pos, &qpcpos);
- qpcpos = (qpcpos + 5) / 10; /* 100ns -> 1µs */
/* NOTE: this assumes mdate() uses QPC() (which it currently does). */
- *drift = mdate() - qpcpos;
+ hr = IAudioClock_GetPosition(sys->clock, &pos, &qpcpos);
+ if (SUCCEEDED(hr))
+ {
+ qpcpos = (qpcpos + 5) / 10; /* 100ns -> 1µs */
+ *drift = mdate() - qpcpos;
+ }
+ else
+ msg_Warn(aout, "cannot get position (error 0x%lx)", hr);
}
for (;;)
More information about the vlc-commits
mailing list