diff --git a/daemon/src/video/video_receive_thread.cpp b/daemon/src/video/video_receive_thread.cpp index 43d9663bbfb2372ec0fc4007fe79df26ca8536e6..52892b3c84592e03f7f74dd53e5c1e4dbaf55416 100644 --- a/daemon/src/video/video_receive_thread.cpp +++ b/daemon/src/video/video_receive_thread.cpp @@ -235,11 +235,13 @@ void VideoReceiveThread::exitConference() if (!isRunning()) return; - EXIT_IF_FAIL(sink_.start(), "RX: sink startup failed"); - if (attach(&sink_)) { - Manager::instance().getVideoControls()->startedDecoding(id_+"RX", sink_.openedName(), dstWidth_, dstHeight_); - DEBUG("RX: shm sink <%s> started: size = %dx%d", - sink_.openedName().c_str(), dstWidth_, dstHeight_); + if (sink_.openedName().empty()) { + EXIT_IF_FAIL(sink_.start(), "RX: sink startup failed"); + if (attach(&sink_)) { + Manager::instance().getVideoControls()->startedDecoding(id_+"RX", sink_.openedName(), dstWidth_, dstHeight_); + DEBUG("RX: shm sink <%s> started: size = %dx%d", + sink_.openedName().c_str(), dstWidth_, dstHeight_); + } } }