strmbase: Introduce renderer_init_stream().

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2019-10-22 18:30:05 -05:00 committed by Alexandre Julliard
parent eca7b245f0
commit 675af1eb33
2 changed files with 6 additions and 0 deletions

View File

@ -438,6 +438,9 @@ HRESULT WINAPI BaseRendererImpl_Run(IBaseFilter * iface, REFERENCE_TIME tStart)
if (This->filter.state == State_Running) if (This->filter.state == State_Running)
goto out; goto out;
if (This->filter.state == State_Stopped && This->pFuncsTable->renderer_init_stream)
This->pFuncsTable->renderer_init_stream(This);
SetEvent(This->state_event); SetEvent(This->state_event);
if (This->sink.pin.peer) if (This->sink.pin.peer)
@ -477,6 +480,8 @@ HRESULT WINAPI BaseRendererImpl_Pause(IBaseFilter * iface)
hr = S_FALSE; hr = S_FALSE;
} }
This->sink.end_of_stream = FALSE; This->sink.end_of_stream = FALSE;
if (This->pFuncsTable->renderer_init_stream)
This->pFuncsTable->renderer_init_stream(This);
} }
else if (This->sink.pin.peer && This->pFuncsTable->renderer_stop_stream) else if (This->sink.pin.peer && This->pFuncsTable->renderer_stop_stream)
This->pFuncsTable->renderer_stop_stream(This); This->pFuncsTable->renderer_stop_stream(This);

View File

@ -550,6 +550,7 @@ typedef HRESULT (WINAPI *BaseRenderer_CompleteConnect) (BaseRenderer *This, IPin
typedef struct BaseRendererFuncTable { typedef struct BaseRendererFuncTable {
BaseRenderer_CheckMediaType pfnCheckMediaType; BaseRenderer_CheckMediaType pfnCheckMediaType;
BaseRenderer_DoRenderSample pfnDoRenderSample; BaseRenderer_DoRenderSample pfnDoRenderSample;
void (*renderer_init_stream)(BaseRenderer *iface);
void (*renderer_start_stream)(BaseRenderer *iface); void (*renderer_start_stream)(BaseRenderer *iface);
void (*renderer_stop_stream)(BaseRenderer *iface); void (*renderer_stop_stream)(BaseRenderer *iface);
BaseRenderer_ShouldDrawSampleNow pfnShouldDrawSampleNow; BaseRenderer_ShouldDrawSampleNow pfnShouldDrawSampleNow;