* nsIScreencastServiceClient is not thread safe refcounted so we make nsScreencastService::Session a thread safe refcounted object and keep it alive while there are inflight frames. Once such frames get handled on the main thread we check if the session has been stopped.
* Removed mCaptureCallbackCs in favor of atomic counter (mClient is not accessed only on the main thread).
* HeadlessWindowCapturer now holds RefPtr to the headless window object to avoid use after free when clearing it as a listener on the widget.
* ScreencastEncoder is not ref counted anymore.
Pretty-diff:
|
||
|---|---|---|
| .. | ||
| components.conf | ||
| HeadlessWindowCapturer.cpp | ||
| HeadlessWindowCapturer.h | ||
| moz.build | ||
| nsIScreencastService.idl | ||
| nsScreencastService.cpp | ||
| nsScreencastService.h | ||
| ScreencastEncoder.cpp | ||
| ScreencastEncoder.h | ||
| WebMFileWriter.cpp | ||
| WebMFileWriter.h | ||