Maarten Lankhorst : quartz: Make parser start even if some of the pins aren 't connected.
Alexandre Julliard
julliard at winehq.org
Thu Jul 10 08:58:51 CDT 2008
Module: wine
Branch: master
Commit: fe9840f213d12967d99deda02d1c703b77a3ac94
URL: http://source.winehq.org/git/wine.git/?a=commit;h=fe9840f213d12967d99deda02d1c703b77a3ac94
Author: Maarten Lankhorst <m.b.lankhorst at gmail.com>
Date: Wed Jul 9 13:00:43 2008 -0700
quartz: Make parser start even if some of the pins aren't connected.
---
dlls/quartz/parser.c | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/dlls/quartz/parser.c b/dlls/quartz/parser.c
index 0848e84..6883e47 100644
--- a/dlls/quartz/parser.c
+++ b/dlls/quartz/parser.c
@@ -277,7 +277,8 @@ HRESULT WINAPI Parser_Pause(IBaseFilter * iface)
EnterCriticalSection(&This->csFilter);
}
- This->state = State_Paused;
+ if (SUCCEEDED(hr))
+ This->state = State_Paused;
LeaveCriticalSection(&This->csFilter);
LeaveCriticalSection(&pin->thread_lock);
@@ -298,6 +299,8 @@ HRESULT WINAPI Parser_Run(IBaseFilter * iface, REFERENCE_TIME tStart)
EnterCriticalSection(&pin->thread_lock);
EnterCriticalSection(&This->csFilter);
{
+ HRESULT hr_any = VFW_E_NOT_CONNECTED;
+
if (This->state == State_Running || This->state == State_Paused)
{
This->state = State_Running;
@@ -311,10 +314,11 @@ HRESULT WINAPI Parser_Run(IBaseFilter * iface, REFERENCE_TIME tStart)
for (i = 1; i < (This->cStreams + 1); i++)
{
hr = OutputPin_CommitAllocator((OutputPin *)This->ppPins[i]);
- if (FAILED(hr))
- break;
+ if (SUCCEEDED(hr))
+ hr_any = hr;
}
+ hr_any = hr;
if (SUCCEEDED(hr))
{
LeaveCriticalSection(&This->csFilter);
More information about the wine-cvs
mailing list