Fix crash in voice chat camera enabling.

This commit is contained in:
John Preston 2021-06-11 19:12:14 +04:00
parent 64a6838764
commit 95f7704d14
1 changed files with 8 additions and 2 deletions

View File

@ -1943,7 +1943,10 @@ void GroupCall::setupOutgoingVideo() {
_cameraState.value(
) | rpl::combine_previous(
) | rpl::start_with_next([=](VideoState previous, VideoState state) {
) | rpl::filter([=](VideoState previous, VideoState state) {
// Recursive entrance may happen if error happens when activating.
return (previous != state);
}) | rpl::start_with_next([=](VideoState previous, VideoState state) {
const auto wasPaused = (previous == VideoState::Paused);
const auto wasActive = (previous != VideoState::Inactive);
const auto nowPaused = (state == VideoState::Paused);
@ -1989,7 +1992,10 @@ void GroupCall::setupOutgoingVideo() {
_screenState.value(
) | rpl::combine_previous(
) | rpl::start_with_next([=](VideoState previous, VideoState state) {
) | rpl::filter([=](VideoState previous, VideoState state) {
// Recursive entrance may happen if error happens when activating.
return (previous != state);
}) | rpl::start_with_next([=](VideoState previous, VideoState state) {
const auto wasPaused = (previous == VideoState::Paused);
const auto wasActive = (previous != VideoState::Inactive);
const auto nowPaused = (state == VideoState::Paused);