diff --git a/Telegram/Resources/qrc/telegram/sounds.qrc b/Telegram/Resources/qrc/telegram/sounds.qrc
index d9f7cf8b5a..1ffc48b052 100644
--- a/Telegram/Resources/qrc/telegram/sounds.qrc
+++ b/Telegram/Resources/qrc/telegram/sounds.qrc
@@ -10,5 +10,6 @@
../../sounds/group_call_connect.mp3
../../sounds/group_call_end.mp3
../../sounds/group_call_allowed.mp3
+ ../../sounds/group_call_recording_start.mp3
diff --git a/Telegram/Resources/sounds/group_call_recording_start.mp3 b/Telegram/Resources/sounds/group_call_recording_start.mp3
new file mode 100644
index 0000000000..0060e82c37
Binary files /dev/null and b/Telegram/Resources/sounds/group_call_recording_start.mp3 differ
diff --git a/Telegram/SourceFiles/calls/calls_instance.cpp b/Telegram/SourceFiles/calls/calls_instance.cpp
index d79a317018..a04db8bdb7 100644
--- a/Telegram/SourceFiles/calls/calls_instance.cpp
+++ b/Telegram/SourceFiles/calls/calls_instance.cpp
@@ -164,6 +164,8 @@ void Instance::Delegate::groupCallPlaySound(GroupCallSound sound) {
case GroupCallSound::Ended: return "group_call_end";
case GroupCallSound::AllowedToSpeak: return "group_call_allowed";
case GroupCallSound::Connecting: return "group_call_connect";
+ case GroupCallSound::RecordingStarted:
+ return "group_call_recording_start";
}
Unexpected("GroupCallSound in Instance::groupCallPlaySound.");
}());
diff --git a/Telegram/SourceFiles/calls/group/calls_group_call.cpp b/Telegram/SourceFiles/calls/group/calls_group_call.cpp
index 8663c534c3..6714d32fac 100644
--- a/Telegram/SourceFiles/calls/group/calls_group_call.cpp
+++ b/Telegram/SourceFiles/calls/group/calls_group_call.cpp
@@ -2685,6 +2685,10 @@ void GroupCall::emitShareScreenError(Error error) {
_errors.fire_copy(error);
}
+void GroupCall::playSoundRecordingStarted() const {
+ _delegate->groupCallPlaySound(Delegate::GroupCallSound::RecordingStarted);
+}
+
void GroupCall::setupOutgoingVideo() {
using Webrtc::VideoState;
diff --git a/Telegram/SourceFiles/calls/group/calls_group_call.h b/Telegram/SourceFiles/calls/group/calls_group_call.h
index e727173cd3..a78d3ab258 100644
--- a/Telegram/SourceFiles/calls/group/calls_group_call.h
+++ b/Telegram/SourceFiles/calls/group/calls_group_call.h
@@ -205,6 +205,7 @@ public:
Connecting,
AllowedToSpeak,
Ended,
+ RecordingStarted,
};
virtual void groupCallPlaySound(GroupCallSound sound) = 0;
virtual auto groupCallGetVideoCapture(const QString &deviceId)
@@ -283,6 +284,7 @@ public:
const QString &title,
bool video,
bool videoPortrait);
+ void playSoundRecordingStarted() const;
[[nodiscard]] bool recordingStoppedByMe() const {
return _recordingStoppedByMe;
}
diff --git a/Telegram/SourceFiles/calls/group/calls_group_panel.cpp b/Telegram/SourceFiles/calls/group/calls_group_panel.cpp
index 3a40c36f49..f3d2c524ed 100644
--- a/Telegram/SourceFiles/calls/group/calls_group_panel.cpp
+++ b/Telegram/SourceFiles/calls/group/calls_group_panel.cpp
@@ -1175,6 +1175,7 @@ void Panel::subscribeToChanges(not_null real) {
const auto isVideo = real->recordVideo();
if (recorded) {
*startedAsVideo = isVideo;
+ _call->playSoundRecordingStarted();
}
validateRecordingMark(recorded);
uiShow()->showToast((recorded