add <rtcp-mux/> in description
This commit is contained in:
parent
ef22071bd1
commit
493ca68464
|
@ -102,6 +102,7 @@ public class RtpSessionActivity extends XmppActivity implements XmppConnectionSe
|
||||||
|
|
||||||
private void requestPermissionsAndAcceptCall() {
|
private void requestPermissionsAndAcceptCall() {
|
||||||
if (PermissionUtils.hasPermission(this, ImmutableList.of(Manifest.permission.RECORD_AUDIO), REQUEST_ACCEPT_CALL)) {
|
if (PermissionUtils.hasPermission(this, ImmutableList.of(Manifest.permission.RECORD_AUDIO), REQUEST_ACCEPT_CALL)) {
|
||||||
|
//TODO like wise the propose; we might just wait here for the audio manager to come up
|
||||||
putScreenInCallMode();
|
putScreenInCallMode();
|
||||||
requireRtpConnection().acceptCall();
|
requireRtpConnection().acceptCall();
|
||||||
}
|
}
|
||||||
|
@ -111,7 +112,8 @@ public class RtpSessionActivity extends XmppActivity implements XmppConnectionSe
|
||||||
private void putScreenInCallMode() {
|
private void putScreenInCallMode() {
|
||||||
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
|
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
|
||||||
final JingleRtpConnection rtpConnection = rtpConnectionReference != null ? rtpConnectionReference.get() : null;
|
final JingleRtpConnection rtpConnection = rtpConnectionReference != null ? rtpConnectionReference.get() : null;
|
||||||
if (rtpConnection == null || rtpConnection.getAudioManager().getSelectedAudioDevice() == AppRTCAudioManager.AudioDevice.EARPIECE) {
|
final AppRTCAudioManager audioManager = rtpConnection == null ? null : rtpConnection.getAudioManager();
|
||||||
|
if (audioManager == null || audioManager.getSelectedAudioDevice() == AppRTCAudioManager.AudioDevice.EARPIECE) {
|
||||||
acquireProximityWakeLock();
|
acquireProximityWakeLock();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -139,10 +139,7 @@ public class SessionDescription {
|
||||||
|
|
||||||
attributeMap.put("msid-semantic", " WMS my-media-stream");
|
attributeMap.put("msid-semantic", " WMS my-media-stream");
|
||||||
|
|
||||||
for (Map.Entry<String, RtpContentMap.DescriptionTransport> entry : contentMap.contents.entrySet()) {
|
for (final Map.Entry<String, RtpContentMap.DescriptionTransport> entry : contentMap.contents.entrySet()) {
|
||||||
|
|
||||||
//TODO sprinkle in a few noWhiteSpaces checks into various parameters and types
|
|
||||||
|
|
||||||
final String name = entry.getKey();
|
final String name = entry.getKey();
|
||||||
RtpContentMap.DescriptionTransport descriptionTransport = entry.getValue();
|
RtpContentMap.DescriptionTransport descriptionTransport = entry.getValue();
|
||||||
RtpDescription description = descriptionTransport.description;
|
RtpDescription description = descriptionTransport.description;
|
||||||
|
|
|
@ -235,7 +235,7 @@ public class RtpDescription extends GenericDescription {
|
||||||
final String name = getPayloadTypeName();
|
final String name = getPayloadTypeName();
|
||||||
Preconditions.checkArgument(name != null, "Payload-type name must not be empty");
|
Preconditions.checkArgument(name != null, "Payload-type name must not be empty");
|
||||||
SessionDescription.checkNoWhitespace(name, "payload-type name must not contain whitespaces");
|
SessionDescription.checkNoWhitespace(name, "payload-type name must not contain whitespaces");
|
||||||
return getId()+" "+name+"/"+getClockRate()+(channels == 1 ? "" : "/"+channels);
|
return getId() + " " + name + "/" + getClockRate() + (channels == 1 ? "" : "/" + channels);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getIntId() {
|
public int getIntId() {
|
||||||
|
@ -368,7 +368,7 @@ public class RtpDescription extends GenericDescription {
|
||||||
public static String toSdpString(final String id, List<Parameter> parameters) {
|
public static String toSdpString(final String id, List<Parameter> parameters) {
|
||||||
final StringBuilder stringBuilder = new StringBuilder();
|
final StringBuilder stringBuilder = new StringBuilder();
|
||||||
stringBuilder.append(id).append(' ');
|
stringBuilder.append(id).append(' ');
|
||||||
for(int i = 0; i < parameters.size(); ++i) {
|
for (int i = 0; i < parameters.size(); ++i) {
|
||||||
Parameter p = parameters.get(i);
|
Parameter p = parameters.get(i);
|
||||||
final String name = p.getParameterName();
|
final String name = p.getParameterName();
|
||||||
Preconditions.checkArgument(name != null, String.format("parameter for %s must have a name", id));
|
Preconditions.checkArgument(name != null, String.format("parameter for %s must have a name", id));
|
||||||
|
@ -488,7 +488,7 @@ public class RtpDescription extends GenericDescription {
|
||||||
|
|
||||||
public List<String> getSsrcs() {
|
public List<String> getSsrcs() {
|
||||||
ImmutableList.Builder<String> builder = new ImmutableList.Builder<>();
|
ImmutableList.Builder<String> builder = new ImmutableList.Builder<>();
|
||||||
for(Element child : this.children) {
|
for (Element child : this.children) {
|
||||||
if ("source".equals(child.getName())) {
|
if ("source".equals(child.getName())) {
|
||||||
final String ssrc = child.getAttribute("ssrc");
|
final String ssrc = child.getAttribute("ssrc");
|
||||||
if (ssrc != null) {
|
if (ssrc != null) {
|
||||||
|
@ -580,6 +580,9 @@ public class RtpDescription extends GenericDescription {
|
||||||
for (Map.Entry<String, Collection<Source.Parameter>> source : sourceParameterMap.asMap().entrySet()) {
|
for (Map.Entry<String, Collection<Source.Parameter>> source : sourceParameterMap.asMap().entrySet()) {
|
||||||
rtpDescription.addChild(new Source(source.getKey(), source.getValue()));
|
rtpDescription.addChild(new Source(source.getKey(), source.getValue()));
|
||||||
}
|
}
|
||||||
|
if (media.attributes.containsKey("rtcp-mux")) {
|
||||||
|
rtpDescription.addChild("rtcp-mux");
|
||||||
|
}
|
||||||
return rtpDescription;
|
return rtpDescription;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue