quartz/tests: Test adding and removing filters while the graph is running.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2020-11-15 11:04:33 -06:00 committed by Alexandre Julliard
parent b2148c2fff
commit 57eddc004b
1 changed files with 29 additions and 0 deletions

View File

@ -3708,6 +3708,35 @@ todo_wine
hr = IMediaControl_Stop(control);
ok(hr == S_OK, "Got hr %#x.\n", hr);
/* Add and remove a filter while the graph is running. */
hr = IFilterGraph2_AddFilter(graph, &dummy.IBaseFilter_iface, L"dummy");
ok(hr == S_OK, "Got hr %#x.\n", hr);
ok(dummy.state == State_Stopped, "Got state %#x.\n", dummy.state);
hr = IMediaControl_Pause(control);
ok(hr == S_OK, "Got hr %#x.\n", hr);
check_filter_state(graph, State_Paused);
ok(dummy.state == State_Paused, "Got state %#x.\n", dummy.state);
hr = IFilterGraph2_RemoveFilter(graph, &dummy.IBaseFilter_iface);
ok(hr == S_OK, "Got hr %#x.\n", hr);
todo_wine ok(dummy.state == State_Paused, "Got state %#x.\n", dummy.state);
hr = IFilterGraph2_AddFilter(graph, &dummy.IBaseFilter_iface, L"dummy");
ok(hr == S_OK, "Got hr %#x.\n", hr);
todo_wine ok(dummy.state == State_Paused, "Got state %#x.\n", dummy.state);
if (dummy.state == State_Stopped)
dummy.expect_stop_prev = State_Stopped;
hr = IMediaControl_Stop(control);
ok(hr == S_OK, "Got hr %#x.\n", hr);
check_filter_state(graph, State_Stopped);
hr = IFilterGraph2_RemoveFilter(graph, &dummy.IBaseFilter_iface);
ok(hr == S_OK, "Got hr %#x.\n", hr);
ok(dummy.state == State_Stopped, "Got state %#x.\n", dummy.state);
/* Destroying the graph while it's running stops all filters. */
hr = IMediaControl_Run(control);