diff --git a/services/media_engine/filters/video_capture_filter.cpp b/services/media_engine/filters/video_capture_filter.cpp index 3b6c1b37815d291fb4722136f5dd3ec9869d970d..460b85547de7d5b09569fe25b717e353f47211ee 100644 --- a/services/media_engine/filters/video_capture_filter.cpp +++ b/services/media_engine/filters/video_capture_filter.cpp @@ -103,6 +103,9 @@ VideoCaptureFilter::VideoCaptureFilter(std::string name, FilterType type): Filte VideoCaptureFilter::~VideoCaptureFilter() { MEDIA_LOG_I("video capture filter destroy"); + if (inputSurface_ != nullptr) { + inputSurface_->UnregisterConsumerListener(); + } } Status VideoCaptureFilter::SetCodecFormat(const std::shared_ptr &format)