This is an automated email from the ASF dual-hosted git repository.
solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git
The following commit(s) were added to refs/heads/master by this push:
new fe904b2 [OPENMEETINGS-1955] stream type is preserved
fe904b2 is described below
commit fe904b20cc3dba42fa6ed14c50b18437437312e4
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Mon Oct 29 19:55:22 2018 +0700
[OPENMEETINGS-1955] stream type is preserved
---
.../main/java/org/apache/openmeetings/core/remote/KStream.java | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KStream.java
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KStream.java
index 1bc11f0..a3228fb 100644
---
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KStream.java
+++
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KStream.java
@@ -57,6 +57,7 @@ public class KStream implements IKStream {
private final String sid;
private final String uid;
private final KRoom room;
+ private final StreamType streamType;
private MediaProfileSpecType profile;
private RecorderEndpoint recorder;
private WebRtcEndpoint outgoingMedia = null;
@@ -68,6 +69,7 @@ public class KStream implements IKStream {
this.room = room;
this.sid = sd.getSid();
this.uid = sd.getUid();
+ streamType = sd.getType();
//TODO Min/MaxVideoSendBandwidth
//TODO Min/Max Audio/Video RecvBandwidth
}
@@ -79,12 +81,12 @@ public class KStream implements IKStream {
final boolean hasAudio = sd.hasActivity(Activity.AUDIO);
final boolean hasVideo = sd.hasActivity(Activity.VIDEO);
if ((sdpOffer.indexOf("m=audio") > -1 && !hasAudio)
- || (sdpOffer.indexOf("m=video") > -1 &&
!hasVideo && StreamType.SCREEN != sd.getType()))
+ || (sdpOffer.indexOf("m=video") > -1 &&
!hasVideo && StreamType.SCREEN != streamType))
{
log.warn("Broadcast started without enough rights");
return this;
}
- if (StreamType.SCREEN == sd.getType()) {
+ if (StreamType.SCREEN == streamType) {
type = Type.SCREEN;
} else {
if (hasAudio && hasVideo) {
@@ -115,7 +117,7 @@ public class KStream implements IKStream {
outgoingMedia.addMediaFlowOutStateChangeListener(evt -> {
if (MediaFlowState.NOT_FLOWING == evt.getState()) {
log.warn("Media FlowOut :: {}", evt.getState());
- if (StreamType.SCREEN == sd.getType()) {
+ if (StreamType.SCREEN == streamType) {
h.stopSharing(sid, uid);
} else {
//TODO remove stream ?
@@ -189,7 +191,7 @@ public class KStream implements IKStream {
if (sd.hasActivity(Activity.AUDIO)) {
outgoingMedia.connect(listener,
MediaType.AUDIO);
}
- if (StreamType.SCREEN == sd.getType() ||
sd.hasActivity(Activity.VIDEO)) {
+ if (StreamType.SCREEN == streamType ||
sd.hasActivity(Activity.VIDEO)) {
outgoingMedia.connect(listener,
MediaType.VIDEO);
}
}