Module: wine Branch: master Commit: 9d9bf6f158cd8e9a734fddb311f3aee30ba4d486 URL: http://source.winehq.org/git/wine.git/?a=commit;h=9d9bf6f158cd8e9a734fddb311...
Author: Maarten Lankhorst m.b.lankhorst@gmail.com Date: Fri Apr 18 22:04:55 2008 -0700
quartz: Only drop Preroll samples after obtaining its time.
---
dlls/quartz/dsoundrender.c | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/dlls/quartz/dsoundrender.c b/dlls/quartz/dsoundrender.c index 963ec16..9bcb417 100644 --- a/dlls/quartz/dsoundrender.c +++ b/dlls/quartz/dsoundrender.c @@ -245,12 +245,6 @@ static HRESULT DSoundRender_Sample(LPVOID iface, IMediaSample * pSample) * pause completion here, but for sound playing a single frame doesn't make sense */
- if (IMediaSample_IsPreroll(pSample) == S_OK) - { - TRACE("Preroll!\n"); - return S_OK; - } - if (This->state == State_Paused) return S_FALSE;
@@ -272,6 +266,12 @@ static HRESULT DSoundRender_Sample(LPVOID iface, IMediaSample * pSample) FIXME("Unexpected discontinuity: Last: %lld, tStart: %lld\n", This->rtLastStop, tStart); This->rtLastStop = tStop;
+ if (IMediaSample_IsPreroll(pSample) == S_OK) + { + TRACE("Preroll!\n"); + return S_OK; + } + cbSrcStream = IMediaSample_GetActualDataLength(pSample); TRACE("Sample data ptr = %p, size = %ld\n", pbSrcStream, cbSrcStream);