Commit fe9840f2 authored by Maarten Lankhorst's avatar Maarten Lankhorst Committed by Alexandre Julliard

quartz: Make parser start even if some of the pins aren't connected.

parent bcba2705
...@@ -277,6 +277,7 @@ HRESULT WINAPI Parser_Pause(IBaseFilter * iface) ...@@ -277,6 +277,7 @@ HRESULT WINAPI Parser_Pause(IBaseFilter * iface)
EnterCriticalSection(&This->csFilter); EnterCriticalSection(&This->csFilter);
} }
if (SUCCEEDED(hr))
This->state = State_Paused; This->state = State_Paused;
LeaveCriticalSection(&This->csFilter); LeaveCriticalSection(&This->csFilter);
...@@ -298,6 +299,8 @@ HRESULT WINAPI Parser_Run(IBaseFilter * iface, REFERENCE_TIME tStart) ...@@ -298,6 +299,8 @@ HRESULT WINAPI Parser_Run(IBaseFilter * iface, REFERENCE_TIME tStart)
EnterCriticalSection(&pin->thread_lock); EnterCriticalSection(&pin->thread_lock);
EnterCriticalSection(&This->csFilter); EnterCriticalSection(&This->csFilter);
{ {
HRESULT hr_any = VFW_E_NOT_CONNECTED;
if (This->state == State_Running || This->state == State_Paused) if (This->state == State_Running || This->state == State_Paused)
{ {
This->state = State_Running; This->state = State_Running;
...@@ -311,10 +314,11 @@ HRESULT WINAPI Parser_Run(IBaseFilter * iface, REFERENCE_TIME tStart) ...@@ -311,10 +314,11 @@ HRESULT WINAPI Parser_Run(IBaseFilter * iface, REFERENCE_TIME tStart)
for (i = 1; i < (This->cStreams + 1); i++) for (i = 1; i < (This->cStreams + 1); i++)
{ {
hr = OutputPin_CommitAllocator((OutputPin *)This->ppPins[i]); hr = OutputPin_CommitAllocator((OutputPin *)This->ppPins[i]);
if (FAILED(hr)) if (SUCCEEDED(hr))
break; hr_any = hr;
} }
hr_any = hr;
if (SUCCEEDED(hr)) if (SUCCEEDED(hr))
{ {
LeaveCriticalSection(&This->csFilter); LeaveCriticalSection(&This->csFilter);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment