One more thing that was nagging me, that I just had to check...
On 2/14/21 9:13 AM, Anton Baskanov wrote:
@@ -1748,6 +1759,9 @@ static HRESULT graph_start(struct filter_graph *graph, REFERENCE_TIME stream_sta graph->EcCompleteCount = 0; update_render_count(graph);
- if (graph->notif.disabled)
ResetEvent(graph->evqueue.msg_event);
- if (graph->defaultclock && !graph->refClock) IFilterGraph2_SetDefaultSyncSource(&graph->IFilterGraph2_iface);
It seems that if you queue EC_COMPLETE, then stop and restart the graph, that the event gets lost. So this should probably not be keyed on "disabled", and it should probably also clear existing events (just EC_COMPLETE, though, or all of them?)
That deserves tests, of course, and should probably be part of a separate test function [not test_ec_complete(), which is focused on which filters are considered renderers, or test_set_notify_flags(), which is focused on what happens when events are disabled.]