Maarten Lankhorst : quartz: Make sure at least 1 sample is processed before returning.
Alexandre Julliard
julliard at winehq.org
Thu Apr 17 07:38:34 CDT 2008
Module: wine
Branch: master
Commit: 97b9e9c3add01235817b172b19626718fc2a02e7
URL: http://source.winehq.org/git/wine.git/?a=commit;h=97b9e9c3add01235817b172b19626718fc2a02e7
Author: Maarten Lankhorst <m.b.lankhorst at gmail.com>
Date: Wed Apr 16 14:26:15 2008 -0700
quartz: Make sure at least 1 sample is processed before returning.
---
dlls/quartz/pin.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/dlls/quartz/pin.c b/dlls/quartz/pin.c
index 71f33ec..0c333f7 100644
--- a/dlls/quartz/pin.c
+++ b/dlls/quartz/pin.c
@@ -1382,7 +1382,11 @@ static void CALLBACK PullPin_Thread_Process(ULONG_PTR iface)
TRACE("Start\n");
- while (This->rtCurrent < This->rtStop && hr == S_OK && !This->stop_playback)
+ if (This->rtCurrent >= This->rtStop)
+ {
+ FIXME("Send an EndOfStream?\n");
+ }
+ else do
{
/* FIXME: to improve performance by quite a bit this should be changed
* so that one sample is processed while one sample is fetched. However,
@@ -1427,7 +1431,7 @@ static void CALLBACK PullPin_Thread_Process(ULONG_PTR iface)
if (pSample)
IMediaSample_Release(pSample);
- }
+ } while (This->rtCurrent < This->rtStop && hr == S_OK && !This->stop_playback);
CoUninitialize();
EnterCriticalSection(This->pin.pCritSec);
More information about the wine-cvs
mailing list