[vlc-devel] [PATCH 0/1] dshow: Fix assertion when stopping

Hugo Beauzée-Luyssen hugo at beauzee.fr
Tue May 30 18:53:06 CEST 2017


This patch aims at fixing #16935
The basic reason for this assertion to trigger is that the access thread enters
a single thread appartment. When we stop the playback, the audio output will be
flushed, but mmdevice tries to enter a multi thread appartment, which is bound
to fail, triggering the assertion.

As things stand, I don't see a reason for dshow to use a STA. All the
interfaces I checked don't mention such a requirement, and the only
interaction from another thread is FindDevices, which only creates new COM
objects. As such, it is safe to create & release those objects from another
thread without synchronisation.

That being said, this is my current personal understanding, and I'd gladly
stand corrected if I missed something.

Best regards,

Hugo Beauzée-Luyssen (1):
  dshow: Use MTA

 modules/access/dshow/dshow.cpp | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)


More information about the vlc-devel mailing list