You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openmeetings.apache.org by co...@google.com on 2013/03/06 11:29:18 UTC
[red5phone] r103 committed - setUserAVSettings is fixed: customizable
mode+valid set of parameters;...
Revision: 103
Author: solomax666@gmail.com
Date: Wed Mar 6 02:28:58 2013
Log: setUserAVSettings is fixed: customizable mode+valid set of
parameters;
AV settings are set to "av" on video stream start;
http://code.google.com/p/red5phone/source/detail?r=103
Modified:
/branches/red5sip/src/java/org/red5/sip/app/RTMPRoomClient.java
=======================================
--- /branches/red5sip/src/java/org/red5/sip/app/RTMPRoomClient.java Tue
Mar 5 21:44:18 2013
+++ /branches/red5sip/src/java/org/red5/sip/app/RTMPRoomClient.java Wed
Mar 6 02:28:58 2013
@@ -59,6 +59,7 @@
private String sipNumber = null;
private ISipNumberListener sipNumberListener = null;
private long lastSendActivityMS = 0L;
+ private boolean videoStarted = false;
private final Runnable updateTask = new Runnable() {
public void run() {
while (true) {
@@ -199,12 +200,12 @@
conn.invoke("setSipTransport", new Object[] { Long.valueOf(roomId),
publicSID, "" + broadCastId }, this);
}
- protected void setUserAVSettings() {
+ protected void setUserAVSettings(String mode) {
String[] remoteMessage = new String[3];
remoteMessage[0] = "avsettings";
remoteMessage[1] = "0";
- remoteMessage[2] = "av";
- conn.invoke("setUserAVSettings", new Object[] { "av", remoteMessage,
120, 90 }, this);
+ remoteMessage[2] = mode;
+ conn.invoke("setUserAVSettings", new Object[] { mode, remoteMessage,
120, 90, Long.valueOf(roomId), publicSID, -1 }, this);
}
protected void getSipNumber() {
@@ -396,7 +397,7 @@
case getBroadCastId:
log.info("getBroadCastId");
this.broadCastId = ((Number) call.getResult()).intValue();
- this.setUserAVSettings();
+ this.setUserAVSettings("a");
break;
case getPublicSID:
log.info("getPublicSID");
@@ -516,8 +517,12 @@
public void pushVideo(byte[] video, long ts) throws IOException {
if(publishStreamId == null) {
log.debug("publishStreamId == null !!!");
- return;
- }
+ return;
+ }
+ if (!videoStarted) {
+ setUserAVSettings("av");
+ videoStarted = true;
+ }
if (videoBuffer == null || (videoBuffer.capacity() < video.length
&& !videoBuffer.isAutoExpand())) {
videoBuffer = IoBuffer.allocate(video.length);
videoBuffer.setAutoExpand(true);