diff --git a/pom.xml b/pom.xml
index 39be5804..16757823 100644
--- a/pom.xml
+++ b/pom.xml
@@ -357,7 +357,7 @@
${project.groupId}
jitsi-xmpp-extensions
- 1.0-78-g62d03d4
+ 1.0-82-ge8aacab
org.slf4j
diff --git a/src/main/java/org/jitsi/jigasi/sounds/SoundNotificationManager.java b/src/main/java/org/jitsi/jigasi/sounds/SoundNotificationManager.java
index 7f3872e4..0f7a70cf 100644
--- a/src/main/java/org/jitsi/jigasi/sounds/SoundNotificationManager.java
+++ b/src/main/java/org/jitsi/jigasi/sounds/SoundNotificationManager.java
@@ -235,28 +235,35 @@ public void process(Presence presence)
{
if (gatewaySession.getFocusResourceAddr().equals(presence.getFrom().getResourceOrEmpty().toString()))
{
+ boolean isJibriRecordingOn = false;
RecordingStatus rs = presence.getExtension(RecordingStatus.class);
-
if (rs != null)
{
- notifyRecordingStatusChanged(rs.getRecordingMode(), rs.getStatus());
-
- return;
+ isJibriRecordingOn = true;
}
+ boolean isAudioRecordingOn = false;
ConferenceProperties props = presence.getExtension(ConferenceProperties.class);
+
if (props != null)
{
- props.getProperties().stream()
- .filter(p -> ConferenceProperties.KEY_AUDIO_RECORDING_ENABLED.equals(p.getKey()))
- .findFirst().ifPresent(p ->
- {
- if (p.getValue().equals(Boolean.TRUE.toString()))
- {
- notifyRecordingStatusChanged(JibriIq.RecordingMode.FILE, JibriIq.Status.ON);
- }
- });
+ ConferenceProperties.ConferenceProperty prop
+ = props.getProperties().stream()
+ .filter(p -> ConferenceProperties.KEY_AUDIO_RECORDING_ENABLED.equals(p.getKey()))
+ .findFirst().orElse(null);
+
+ isAudioRecordingOn = prop != null && prop.getValue().equals(Boolean.TRUE.toString());
}
+
+ JibriIq.Status newStatus
+ = isJibriRecordingOn || isAudioRecordingOn ? JibriIq.Status.ON : JibriIq.Status.OFF;
+
+ if (currentJibriStatus.equals(newStatus))
+ {
+ return;
+ }
+
+ notifyRecordingStatusChanged(rs != null ? rs.getRecordingMode() : JibriIq.RecordingMode.FILE, newStatus);
}
}
@@ -269,11 +276,6 @@ public void process(Presence presence)
private void notifyRecordingStatusChanged(
JibriIq.RecordingMode mode, JibriIq.Status status)
{
- // not a change, ignore
- if (currentJibriStatus.equals(status))
- {
- return;
- }
currentJibriStatus = status;
String offSound;