Skip to content

Commit 5562225

Browse files
authored
Merge pull request #50 from Red5/bug/RPRO-8658
Bug/rpro 8658
2 parents 44d5831 + bd2957d commit 5562225

File tree

3 files changed

+39
-4
lines changed

3 files changed

+39
-4
lines changed

pom.xml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@
6969
<url>https://oss.sonatype.org/content/repositories/releases</url>
7070
</repository>
7171
</repositories>
72+
<version>1.2.9</version>
73+
<properties>
74+
<red5.version>1.2.8</red5.version>
75+
</properties>
7276
<build>
7377
<defaultGoal>install</defaultGoal>
7478
<plugins>
@@ -118,7 +122,7 @@
118122
<dependency>
119123
<groupId>org.red5</groupId>
120124
<artifactId>red5-server-common</artifactId>
121-
<version>${project.version}</version>
125+
<version>${red5.version}</version>
122126
</dependency>
123127
<dependency>
124128
<groupId>org.apache.mina</groupId>

src/main/java/org/red5/client/net/rtmp/RTMPClient.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,9 @@
3333
* @author Jon Valliere
3434
*/
3535
public class RTMPClient extends BaseRTMPClientHandler {
36-
3736
private static final Logger log = LoggerFactory.getLogger(RTMPClient.class);
3837

39-
protected static final int CONNECTOR_WORKER_TIMEOUT = 7000; // seconds
38+
protected static final int CONNECTOR_WORKER_TIMEOUT = 7000; // milliseconds
4039

4140
// I/O handler
4241
protected final RTMPMinaIoHandler ioHandler;
@@ -137,5 +136,4 @@ public void setProtocol(String protocol) throws Exception {
137136
throw new Exception("Unsupported protocol specified, please use the correct client for the intended protocol.");
138137
}
139138
}
140-
141139
}

src/main/java/org/red5/client/net/rtmps/RTMPSClient.java

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,15 @@
77

88
package org.red5.client.net.rtmps;
99

10+
import java.net.InetSocketAddress;
11+
1012
import javax.net.ssl.SSLContext;
1113

14+
import org.apache.mina.core.future.IoFuture;
15+
import org.apache.mina.core.future.IoFutureListener;
1216
import org.apache.mina.core.session.IoSession;
1317
import org.apache.mina.filter.ssl.SslFilter;
18+
import org.apache.mina.transport.socket.nio.NioSocketConnector;
1419
import org.red5.client.net.rtmp.RTMPClient;
1520
import org.red5.client.net.rtmp.RTMPMinaIoHandler;
1621
import org.red5.client.net.ssl.BogusSslContextFactory;
@@ -56,6 +61,34 @@ public RTMPSClient() {
5661
ioHandler.setHandler(this);
5762
}
5863

64+
@SuppressWarnings({ "rawtypes" })
65+
@Override
66+
protected void startConnector(String server, int port) {
67+
socketConnector = new NioSocketConnector();
68+
socketConnector.setHandler(ioHandler);
69+
future = socketConnector.connect(new InetSocketAddress(server, port));
70+
future.addListener(new IoFutureListener() {
71+
@Override
72+
public void operationComplete(IoFuture future) {
73+
try {
74+
// will throw RuntimeException after connection error
75+
future.getSession();
76+
} catch (Throwable e) {
77+
//if there isn't an ClientExceptionHandler set, a
78+
//RuntimeException may be thrown in handleException
79+
handleException(e);
80+
}
81+
}
82+
});
83+
// Do the close requesting that the pending messages are sent before
84+
// the session is closed
85+
//future.getSession().close(false);
86+
// Now wait for the close to be completed
87+
future.awaitUninterruptibly(CONNECTOR_WORKER_TIMEOUT);
88+
// We can now dispose the connector
89+
//socketConnector.dispose();
90+
}
91+
5992
/**
6093
* Password used to access the keystore file.
6194
*

0 commit comments

Comments
 (0)