From: "Zebediah Figura (she/her)" Subject: Re: [PATCH v2 2/2] quartz: Fix IMediaEventEx::SetNotifyFlags behavior. Message-Id: Date: Mon, 15 Feb 2021 18:49:14 -0600 In-Reply-To: <20210214151307.365944-2-baskanov@gmail.com> References: <20210214151307.365944-1-baskanov@gmail.com> <20210214151307.365944-2-baskanov@gmail.com> 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.] -----BEGIN PGP SIGNATURE----- wsB5BAABCAAjFiEENTo75Twe9rbPART3DZ01igeheEAFAmArFooFAwAAAAAACgkQDZ01igeheEBb TAgApY8WautyUwBdMgb4pabrNN3Z8ey0PImtF9EYzW+/v2s6ztYBDqeW8e1l+r5jTKW0AuuxZ3Ir OSNRRda86V5idVJF46q2fD549rty5aPPSqLYGHtk8EI8NuBNXIF1ZqgTHW9pSniykcIyisvd7Z4n oZ2Q94p6V40FBLUeiXFWfA7ecQ3b3Owdbj+wafFAdelAp6aIFXAb7zjg8NZruobDGtgGIuuVvxnJ PN38VRIABdHkqffGbIvk/ApVyeJNq8wLQcgbBUeqhCybHGwpyj+u7kN5eiANirHmIeytLkMq8Trk wqsto6lQD3MuB0uNAkBvICNfAqOgh9Hk5ugQiQSvKQ== =XysE -----END PGP SIGNATURE-----