psi icon indicating copy to clipboard operation
psi copied to clipboard

Pipeline still accessing PSIStore after leaving call (PSIBot)

Open HannahBruch opened this issue 1 week ago • 1 comments

I've been using PSIbot to join a teams call and record meeting audio and video to a PsiStore. After the call has been ended (but while the bot is still running), I need to do things with the PsiStores created. However, even after the call has ended (and the pipeline seemingly disposed of) the stores are still being accessed by the program, and any attempt to access the file ends up throwing an IOException with message "The process cannot access the file "....Catalog_000000.psi" because it is being used by another process." It's also very easy to see that the files are being accessed when the bot isn't in a call with Process Explorer, which also indicates that it moves on from the previous store when the bot joins a new call. What can I do to ensure the file isn't being accessed by the stream any more after leaving the call? I've tried:

  • Disposing of the exporter in CallHandler's PipelineCompleted event handler (throws a NullReferenceException)
  • Making exporter a property of CallHandler, and disposing of it in CallHandler's dispose method (also throws a NullReferenceException)

HannahBruch avatar Jun 24 '24 22:06 HannahBruch