diff --git a/bin/jni/jni_interface.i b/bin/jni/jni_interface.i index 3a278ee135e00a0642e88f0920206846cce5afd2..ead1d7abc90753c26227dfbebb50aecab7fb207c 100644 --- a/bin/jni/jni_interface.i +++ b/bin/jni/jni_interface.i @@ -313,7 +313,7 @@ void init(ConfigurationCallback* confM, Callback* callM, PresenceCallback* presM exportable_callback<VideoSignal::SetBitrate>(bind(&VideoCallback::setBitrate, videoM, _1, _2)), exportable_callback<VideoSignal::RequestKeyFrame>(bind(&VideoCallback::requestKeyFrame, videoM)), exportable_callback<VideoSignal::StartCapture>(bind(&VideoCallback::startCapture, videoM, _1)), - exportable_callback<VideoSignal::StopCapture>(bind(&VideoCallback::stopCapture, videoM)), + exportable_callback<VideoSignal::StopCapture>(bind(&VideoCallback::stopCapture, videoM, _1)), exportable_callback<VideoSignal::DecodingStarted>(bind(&VideoCallback::decodingStarted, videoM, _1, _2, _3, _4, _5)), exportable_callback<VideoSignal::DecodingStopped>(bind(&VideoCallback::decodingStopped, videoM, _1, _2, _3)), }; diff --git a/bin/jni/videomanager.i b/bin/jni/videomanager.i index 71f4ee589c0a9115d9c97c1008f201076fc45bcc..9fbf5c4627af314b330a204f2be4cf199e2edfea 100644 --- a/bin/jni/videomanager.i +++ b/bin/jni/videomanager.i @@ -47,7 +47,7 @@ public: virtual void setBitrate(const std::string&, const int bitrate) {} virtual void requestKeyFrame(){} virtual void startCapture(const std::string& camid) {} - virtual void stopCapture() {} + virtual void stopCapture(const std::string& camid) {} virtual void decodingStarted(const std::string& id, const std::string& shm_path, int w, int h, bool is_mixer) {} virtual void decodingStopped(const std::string& id, const std::string& shm_path, bool is_mixer) {} }; @@ -445,7 +445,7 @@ public: virtual void setBitrate(const std::string&, const int bitrate) {} virtual void requestKeyFrame(){} virtual void startCapture(const std::string& camid) {} - virtual void stopCapture() {} + virtual void stopCapture(const std::string& camid) {} virtual void decodingStarted(const std::string& id, const std::string& shm_path, int w, int h, bool is_mixer) {} virtual void decodingStopped(const std::string& id, const std::string& shm_path, bool is_mixer) {} }; diff --git a/bin/nodejs/videomanager.i b/bin/nodejs/videomanager.i index 3d55c272b96da7b5c7952a87651e87b70c4a5153..4f5147accce5d28e5c190500bc0cf5ed1766436e 100644 --- a/bin/nodejs/videomanager.i +++ b/bin/nodejs/videomanager.i @@ -33,7 +33,7 @@ public: virtual void getCameraInfo(const std::string& device, std::vector<int> *formats, std::vector<unsigned> *sizes, std::vector<unsigned> *rates) {} virtual void setParameters(const std::string, const int format, const int width, const int height, const int rate) {} virtual void startCapture(const std::string& camid) {} - virtual void stopCapture() {} + virtual void stopCapture(const std::string& camid) {} virtual void decodingStarted(const std::string& id, const std::string& shm_path, int w, int h, bool is_mixer) {} virtual void decodingStopped(const std::string& id, const std::string& shm_path, bool is_mixer) {} }; @@ -65,7 +65,7 @@ public: virtual void getCameraInfo(const std::string& device, std::vector<int> *formats, std::vector<unsigned> *sizes, std::vector<unsigned> *rates){} virtual void setParameters(const std::string, const int format, const int width, const int height, const int rate) {} virtual void startCapture(const std::string& camid) {} - virtual void stopCapture() {} + virtual void stopCapture(const std::string& camid) {} virtual void decodingStarted(const std::string& id, const std::string& shm_path, int w, int h, bool is_mixer) {} virtual void decodingStopped(const std::string& id, const std::string& shm_path, bool is_mixer) {} }; diff --git a/src/jami/videomanager_interface.h b/src/jami/videomanager_interface.h index 337c9d10dd3e1d8409ab26ecf4751f1f688c0eda..261032e6a12b8c205f1137204fecb9d2440c0dc2 100644 --- a/src/jami/videomanager_interface.h +++ b/src/jami/videomanager_interface.h @@ -298,7 +298,7 @@ struct DRING_PUBLIC VideoSignal struct DRING_PUBLIC StopCapture { constexpr static const char* name = "StopCapture"; - using cb_type = void(void); + using cb_type = void(const std::string& /*device*/); }; struct DRING_PUBLIC DeviceAdded { diff --git a/src/media/video/video_input.cpp b/src/media/video/video_input.cpp index aad46f712c5db23085838f30cb3f30558dc98149..c14e2fc5163bcd37dd37623f35ac5e2401037074 100644 --- a/src/media/video/video_input.cpp +++ b/src/media/video/video_input.cpp @@ -83,7 +83,7 @@ VideoInput::~VideoInput() { isStopped_ = true; if (videoManagedByClient()) { - emitSignal<DRing::VideoSignal::StopCapture>(); + emitSignal<DRing::VideoSignal::StopCapture>(decOpts_.input); capturing_ = false; return; } @@ -111,7 +111,6 @@ VideoInput::switchDevice() return; } - emitSignal<DRing::VideoSignal::StopCapture>(); emitSignal<DRing::VideoSignal::StartCapture>(decOpts_.input); capturing_ = true; }