diff --git a/dlls/amstream/multimedia.c b/dlls/amstream/multimedia.c index e77392e483a..e058e639ddb 100644 --- a/dlls/amstream/multimedia.c +++ b/dlls/amstream/multimedia.c @@ -442,6 +442,8 @@ static HRESULT WINAPI multimedia_stream_OpenFile(IAMMultiMediaStream *iface, if (SUCCEEDED(ret) && !(flags & AMMSF_NORENDER)) ret = IGraphBuilder_Render(This->graph, This->ipin); + IMediaStreamFilter_SupportSeeking(This->filter, This->type == STREAMTYPE_READ); + if (EnumPins) IEnumPins_Release(EnumPins); if (BaseFilter) diff --git a/dlls/amstream/tests/amstream.c b/dlls/amstream/tests/amstream.c index a9d79e6b7a9..f082b78347a 100644 --- a/dlls/amstream/tests/amstream.c +++ b/dlls/amstream/tests/amstream.c @@ -224,9 +224,13 @@ static void test_openfile(void) if (pgraph) IGraphBuilder_Release(pgraph); + check_interface(pams, &IID_IMediaSeeking, FALSE); + hr = IAMMultiMediaStream_OpenFile(pams, L"test.avi", 0); ok(hr==S_OK, "IAMMultiMediaStream_OpenFile returned: %x\n", hr); + check_interface(pams, &IID_IMediaSeeking, TRUE); + hr = IAMMultiMediaStream_GetFilterGraph(pams, &pgraph); ok(hr==S_OK, "IAMMultiMediaStream_GetFilterGraph returned: %x\n", hr); ok(pgraph!=NULL, "Filtergraph should be created\n");