• Yuxuan Shui's avatar
    mfmediaengine: Don't send event notify when engine is shutdown. · e8943a64
    Yuxuan Shui authored
    I've also tried saving a cancel cookie from `BeginCreateObject*` and using it to cancel the
    operation in engine shutdown. However there are 2 problems:
    
      1. Callback might still get called after `CancelObjectCreation`. Microsoft's
         [own documentation](https://learn.microsoft.com/en-us/windows/win32/api/mfidl/nf-mfidl-imfsourceresolver-cancelobjectcreation)
         says as much:
           > Because these methods are asynchronous, however, they might be completed before the
           > operation can be canceled. Therefore, your callback might still be invoked after you
           > call this method.
      2. Our implementations of `BeginCreateObject*` are not cancellable. They call either
         `MFPutWorkItem` or `IMFByteStream_BeginRead`, neight of which provides cancellation.
         (and our `CancelObjectCreation` doesn't actually work. AsyncResult objects aren't added to
         `handler->results` list until they are completed, which means any attempts to cancel an
         yet-to-be-completed object creation will always fail with `MF_E_UNEXPECTED`)
    e8943a64
Name
Last commit
Last update
dlls Loading commit data...
documentation Loading commit data...
fonts Loading commit data...
include Loading commit data...
libs Loading commit data...
loader Loading commit data...
nls Loading commit data...
po Loading commit data...
programs Loading commit data...
server Loading commit data...
tools Loading commit data...
.editorconfig Loading commit data...
.gitlab-ci.yml Loading commit data...
.mailmap Loading commit data...
ANNOUNCE Loading commit data...
AUTHORS Loading commit data...
COPYING.LIB Loading commit data...
LICENSE Loading commit data...
LICENSE.OLD Loading commit data...
MAINTAINERS Loading commit data...
README Loading commit data...
VERSION Loading commit data...
aclocal.m4 Loading commit data...
configure Loading commit data...
configure.ac Loading commit data...