Nikolay Sivov : mf: Forward grabber clock state change calls to user callback.
Alexandre Julliard
julliard at winehq.org
Tue Jun 11 16:54:07 CDT 2019
Module: wine
Branch: master
Commit: 672ce5c7d1c1ea92ef56e762d26cb51d69404e5d
URL: https://source.winehq.org/git/wine.git/?a=commit;h=672ce5c7d1c1ea92ef56e762d26cb51d69404e5d
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Tue Jun 11 15:40:05 2019 +0300
mf: Forward grabber clock state change calls to user callback.
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/mf/samplegrabber.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/dlls/mf/samplegrabber.c b/dlls/mf/samplegrabber.c
index 7bc566f..af9666c 100644
--- a/dlls/mf/samplegrabber.c
+++ b/dlls/mf/samplegrabber.c
@@ -1127,7 +1127,7 @@ static HRESULT WINAPI sample_grabber_clock_sink_OnClockStart(IMFClockStateSink *
sample_grabber_set_state(grabber, SINK_STATE_RUNNING);
- return S_OK;
+ return IMFSampleGrabberSinkCallback_OnClockStart(sample_grabber_get_callback(grabber), systime, offset);
}
static HRESULT WINAPI sample_grabber_clock_sink_OnClockStop(IMFClockStateSink *iface, MFTIME systime)
@@ -1138,14 +1138,16 @@ static HRESULT WINAPI sample_grabber_clock_sink_OnClockStop(IMFClockStateSink *i
sample_grabber_set_state(grabber, SINK_STATE_STOPPED);
- return S_OK;
+ return IMFSampleGrabberSinkCallback_OnClockStop(sample_grabber_get_callback(grabber), systime);
}
static HRESULT WINAPI sample_grabber_clock_sink_OnClockPause(IMFClockStateSink *iface, MFTIME systime)
{
+ struct sample_grabber *grabber = impl_from_IMFClockStateSink(iface);
+
TRACE("%p, %s.\n", iface, wine_dbgstr_longlong(systime));
- return S_OK;
+ return IMFSampleGrabberSinkCallback_OnClockPause(sample_grabber_get_callback(grabber), systime);
}
static HRESULT WINAPI sample_grabber_clock_sink_OnClockRestart(IMFClockStateSink *iface, MFTIME systime)
@@ -1156,14 +1158,16 @@ static HRESULT WINAPI sample_grabber_clock_sink_OnClockRestart(IMFClockStateSink
sample_grabber_set_state(grabber, SINK_STATE_RUNNING);
- return S_OK;
+ return IMFSampleGrabberSinkCallback_OnClockRestart(sample_grabber_get_callback(grabber), systime);
}
static HRESULT WINAPI sample_grabber_clock_sink_OnClockSetRate(IMFClockStateSink *iface, MFTIME systime, float rate)
{
- FIXME("%p, %s, %f.\n", iface, wine_dbgstr_longlong(systime), rate);
+ struct sample_grabber *grabber = impl_from_IMFClockStateSink(iface);
- return E_NOTIMPL;
+ TRACE("%p, %s, %f.\n", iface, wine_dbgstr_longlong(systime), rate);
+
+ return IMFSampleGrabberSinkCallback_OnClockSetRate(sample_grabber_get_callback(grabber), systime, rate);
}
static HRESULT WINAPI sample_grabber_events_QueryInterface(IMFMediaEventGenerator *iface, REFIID riid, void **obj)
More information about the wine-cvs
mailing list