diff --git a/client/pom.xml b/client/pom.xml
index 67de76b21..41823e9c2 100644
--- a/client/pom.xml
+++ b/client/pom.xml
@@ -3,7 +3,7 @@
* streamName: String. The name of the stream to play or the new stream to switch to.
- * oldStreamName: String. The name of the initial stream that needs to be switched out. This is not needed and ignored
+ * oldStreamName: String. The name of the initial stream that needs to be switched out. This is not needed and ignored
* when play2 is used for just playing the stream and not switching to a new stream.
- * start: Number. The start time of the new stream to play, just as supported by the existing play API. and it has the
- * same defaults. This is ignored when the method is called for switching (in other words, the transition
+ * start: Number. The start time of the new stream to play, just as supported by the existing play API. and it has the
+ * same defaults. This is ignored when the method is called for switching (in other words, the transition
* is either NetStreamPlayTransition.SWITCH or NetStreamPlayTransitions.SWAP)
* len: Number. The duration of the playback, just as supported by the existing play API and has the same defaults.
* transition: String. The transition mode for the playback command. It could be one of the following:
@@ -659,9 +659,9 @@ public void play(Number streamId, String name, int start, int length) {
* NetStreamPlayTransitions.SWITCH
* NetStreamPlayTransitions.SWAP
*
- *
+ *
* NetStreamPlayTransitions:
- *
+ *
*
* APPEND : String = "append" - Adds the stream to a playlist and begins playback with the first stream.
* APPEND_AND_WAIT : String = "appendAndWait" - Builds a playlist without starting to play it from the first stream.
@@ -671,7 +671,7 @@ public void play(Number streamId, String name, int start, int length) {
* SWAP : String = "swap" - Replaces a content stream with a different content stream and maintains the rest of the playlist.
* SWITCH : String = "switch" - Switches from playing one stream to another stream, typically with streams of the same content.
*
- *
+ *
* @see ActionScript guide to dynamic
* streaming
* @see playOptions) {
/**
* Sends a ping.
- *
+ *
* @param pingType
* the type of ping
* @param streamId
@@ -868,7 +868,7 @@ protected void onCommand(RTMPConnection conn, Channel channel, Header source, IC
/**
* Handle any exceptions that occur.
- *
+ *
* @param throwable
* Exception thrown
*/
@@ -884,7 +884,7 @@ public void handleException(Throwable throwable) {
/**
* Returns a channel based on the given stream id.
- *
+ *
* @param streamId
* stream id
* @return the channel for this stream id
@@ -895,7 +895,7 @@ protected int getChannelForStreamId(Number streamId) {
/**
* Sets the protocol.
- *
+ *
* @param protocol
* the data protocol to use.
* @throws Exception
@@ -907,7 +907,7 @@ public void setProtocol(String protocol) throws Exception {
/**
* Sets a reference to the connection associated with this client handler.
- *
+ *
* @param conn
* connection
*/
@@ -918,7 +918,7 @@ public void setConnection(RTMPConnection conn) {
/**
* Returns the connection associated with this client.
- *
+ *
* @return conn connection
*/
@Override
@@ -928,7 +928,7 @@ public RTMPConnection getConnection() {
/**
* Enables or disables SWF verification.
- *
+ *
* @param enabled
* state of SWF verification
*/
@@ -938,7 +938,7 @@ public void setSwfVerification(boolean enabled) {
/**
* Returns true if swf verification is enabled
- *
+ *
* @return the swfVerification
*/
public boolean isSwfVerification() {
@@ -947,7 +947,7 @@ public boolean isSwfVerification() {
/**
* Returns true if bandwidth done has been invoked
- *
+ *
* @return the bandwidthCheckDone
*/
public boolean isBandwidthCheckDone() {
@@ -956,7 +956,7 @@ public boolean isBandwidthCheckDone() {
/**
* Returns true if this client is subscribed
- *
+ *
* @return subscribed state
*/
public boolean isSubscribed() {
@@ -972,7 +972,7 @@ public Map
* var nc:NetConnection = new NetConnection();
* nc.proxyType = "best";
* nc.connect("rtmps:\\localhost\app");
*
- *
+ *
* @author The Red5 Project
* @author Paul Gregoire (mondain@gmail.com)
* @author Kevin Green (kevygreen@gmail.com)
@@ -74,7 +74,7 @@ public void operationComplete(IoFuture future) {
// will throw RuntimeException after connection error
future.getSession();
} catch (Throwable e) {
- //if there isn't an ClientExceptionHandler set, a
+ //if there isn't an ClientExceptionHandler set, a
//RuntimeException may be thrown in handleException
handleException(e);
}
@@ -91,7 +91,7 @@ public void operationComplete(IoFuture future) {
/**
* Password used to access the keystore file.
- *
+ *
* @param password keystore password
*/
public void setKeyStorePassword(String password) {
@@ -100,7 +100,7 @@ public void setKeyStorePassword(String password) {
/**
* Set the key store type, JKS or PKCS12.
- *
+ *
* @param keyStoreType keystore type
*/
public void setKeyStoreType(String keyStoreType) {
diff --git a/client/src/main/java/org/red5/client/net/rtmps/RTMPTSClient.java b/client/src/main/java/org/red5/client/net/rtmps/RTMPTSClient.java
index e12558bf2..037ce0cbe 100644
--- a/client/src/main/java/org/red5/client/net/rtmps/RTMPTSClient.java
+++ b/client/src/main/java/org/red5/client/net/rtmps/RTMPTSClient.java
@@ -14,7 +14,7 @@
/**
* RTMPT/S client object
- *
+ *
* @author Paul Gregoire
*/
public class RTMPTSClient extends RTMPTClient {
diff --git a/client/src/main/java/org/red5/client/net/rtmps/RTMPTSClientConnector.java b/client/src/main/java/org/red5/client/net/rtmps/RTMPTSClientConnector.java
index b0e50bd31..6f4d19390 100644
--- a/client/src/main/java/org/red5/client/net/rtmps/RTMPTSClientConnector.java
+++ b/client/src/main/java/org/red5/client/net/rtmps/RTMPTSClientConnector.java
@@ -30,7 +30,7 @@
/**
* Client connector for RTMPT/S (RTMPS Tunneled)
- *
+ *
* @author Paul Gregoire (mondain@gmail.com)
*/
public class RTMPTSClientConnector extends RTMPTClientConnector {
diff --git a/client/src/main/java/org/red5/client/net/rtmpt/RTMPTClient.java b/client/src/main/java/org/red5/client/net/rtmpt/RTMPTClient.java
index 8a86d3a26..5feac568b 100644
--- a/client/src/main/java/org/red5/client/net/rtmpt/RTMPTClient.java
+++ b/client/src/main/java/org/red5/client/net/rtmpt/RTMPTClient.java
@@ -24,7 +24,7 @@
/**
* RTMPT client object
- *
+ *
* @author Anton Lebedevich
*/
public class RTMPTClient extends BaseRTMPClientHandler {
@@ -60,7 +60,7 @@ protected synchronized void startConnector(String server, int port) {
/**
* Received message object router.
- *
+ *
* @param message
* an IoBuffer or Packet
*/
diff --git a/client/src/main/java/org/red5/client/net/rtmpt/RTMPTClientConnector.java b/client/src/main/java/org/red5/client/net/rtmpt/RTMPTClientConnector.java
index 3d06e8609..382e0f744 100644
--- a/client/src/main/java/org/red5/client/net/rtmpt/RTMPTClientConnector.java
+++ b/client/src/main/java/org/red5/client/net/rtmpt/RTMPTClientConnector.java
@@ -33,7 +33,7 @@
/**
* Client connector for RTMPT
- *
+ *
* @author Anton Lebedevich (mabrek@gmail.com)
* @author Paul Gregoire (mondain@gmail.com)
*/
diff --git a/client/src/test/java/org/red5/client/net/rtmp/FBLiveConnectTest.java b/client/src/test/java/org/red5/client/net/rtmp/FBLiveConnectTest.java
index 36e204563..d3eefaf5a 100644
--- a/client/src/test/java/org/red5/client/net/rtmp/FBLiveConnectTest.java
+++ b/client/src/test/java/org/red5/client/net/rtmp/FBLiveConnectTest.java
@@ -34,11 +34,11 @@
/**
* Tests for connecting to Facebook live servers.
- *
+ *
*
* rtmpdump -V -z -r "rtmp://a.rtmp.youtube.com/live2" -a "live2" -y "
- *
+ *
* @author Paul Gregoire (mondain@gmail.com)
*/
public class FBLiveConnectTest {
diff --git a/client/src/test/java/org/red5/client/net/rtmp/YouTubeConnectTest.java b/client/src/test/java/org/red5/client/net/rtmp/YouTubeConnectTest.java
index d1c948681..89be1e2ec 100644
--- a/client/src/test/java/org/red5/client/net/rtmp/YouTubeConnectTest.java
+++ b/client/src/test/java/org/red5/client/net/rtmp/YouTubeConnectTest.java
@@ -21,7 +21,7 @@
*
* rtmpdump -V -z -r "rtmp://a.rtmp.youtube.com/live2" -a "live2" -y "
- *
+ *
* @author Paul Gregoire (mondain@gmail.com)
*/
public class YouTubeConnectTest {
diff --git a/client/src/test/java/org/red5/client/net/rtmp/codec/RTMPClientProtocolDecoderTest.java b/client/src/test/java/org/red5/client/net/rtmp/codec/RTMPClientProtocolDecoderTest.java
index e9c4254b2..158e39e7c 100644
--- a/client/src/test/java/org/red5/client/net/rtmp/codec/RTMPClientProtocolDecoderTest.java
+++ b/client/src/test/java/org/red5/client/net/rtmp/codec/RTMPClientProtocolDecoderTest.java
@@ -32,10 +32,10 @@ public void tearDown() throws Exception {
// public void testDecodeBuffer() {
// //byte[] buf = IOUtils.hexStringToByteArray("02000000000004050000000000989680420000000000050600989680024200000000000604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000");
// byte[] buf = IOUtils.hexStringToByteArray("000000000000008e140d0000000200086f6e537461747573000000000000000000050300056c6576656c0200056572726f720004636f64650200104e657453747265616d2e4661696c6564000b6465736372697074696f6e0200174261642064617461206f6e206368616e6e656c3a203634000764657461696c730200076e6f");
- //
+ //
// RTMPConnection conn = RTMPConnManager.getInstance().createConnection(RTMPMinaConnection.class);
// conn.setStateCode(RTMP.STATE_CONNECTED);
- //
+ //
// RTMPClientProtocolDecoder decoder = new RTMPClientProtocolDecoder();
// decoder.decodeBuffer(conn, IoBuffer.wrap(buf));
// }
@@ -45,7 +45,7 @@ public void tearDown() throws Exception {
// byte[] buf = IOUtils.hexStringToByteArray("05ffffff0096a7090100000001000f4a120000878a9c9f1398d7046fddb077f532aa9ff889fff2f2b43be1e8253eeeaab3b9557d436a20eda523de6a9fb74466dee9a22e285700e0eea9fd57c6b7ea2fa7d5ef228a071446a3a36fdbfc4d9047e8edb0514031f5eede7fdeaacfbcc9f959d63014bb15e4c9be9e91a52a201c06920dc288f9eb9dedb07b9bb2cfecce0ebedd512fc76a2c8f7bf7d4f37e0a553208ea10b77d8c658b60f0fc3faf874ab773f2e48a4756f847bc6aa8f01ca07790784ef7cb8a9a57f44aac6af2ed5783cf2caef34cbfc1d7d4c1198f5f16765a23d532db47728ebd2d7ffdf08c3af81db9f50d7f6d68779e934753f5baa044fc0ce296fddf4f6d8ab331bbc82377e235fe5f0ea67e657be0f6cfb3ec9b355f30468a546daa7546eb6da983a73728adcbf69b92ddd1d4a06c44c534753f71529f5f9f8bee6628fff93c05b3f5b1175497cdc57046fd053ba1f2cbc6f9635db83dfabc1dde7e51dc47fad8651f2dbbfc58bd436c0e944d97077e6bebf608c19bf5e72f844dcfb63a614f1bf2ac97de96403b6f0fbe1eee5ecdbee6677d918f7201c6364e50608132be153739147845515508eaa88f599e0392b14747da77918b7b6f7bcee7effb2fd428ff95fae774477c17bfc536cc9546e2b9fcb265c9771999f6f55b60d0bf3ba99955976724616d513d2fb1a83ac1df8743ac3f053314ef39b6b5b93e3d8c7d5f942b1edefd81e1e7c3d1d7766c97ca3aa2285a6b63a557bf5d581a7418eb6c9ebf9556cb954ff64cadc52a14fe732cd93321f8356a227060ff40b8f3dbb3f3c3dd83bbbbaa68eb0fc2c5378077cceee8f740c8ea296b924bbb4bad90d47def07bf9bb102a6e88cabfb68ef37f1adbbe7bb7b66cb628df673a06ee7875725f08f6317ed538f994ba9f666a851076dc1d755e363ccade3dd47766cdc112596fc14dc4fdfd8a47bdcf270cdebdcc1dd99555931bd0517ad11ae49eaa64b8d76c3920c2a9b3ea079f11a0f3fbad27c1ef55a751e1ef1ede3db40c5f5b335aa3b11f40ef799e4beaa200444fb047bf8af8d5f5fb5cfabdaa47954629f08cc0efc010f8db3aa9ad9cfa6c9c537da23c5acf7bd0be34012f7a3cf630a68f55e2a556d5367a4d4db7f3f00e4ad8043f49dd1d26c8ddfdb3d9cb7decdcbe1dd6f47b87defd664e5912c0389e7f8aea754a77d35aa3c0097d11a51d5924dacb1f97d444ef35a4aabfe2e745f6d56d5940eb1e9bb3b3747579bb7189a0d0813de045ec8aa6ec962af7f7d7578c0f40ee829656f03385f2a63d64eb783b60085806b4476b074acfbf251d0ee8f3447c8cf552bc1e65b00de7672fb5d0bb6c51b97b3be9367edd9f1d0f37f739b8d6cd8f719b93eaea8c02e3b1dafbf9e55d11b732fa2d8f84f291d5a0a6a0430757d73297ddeca9f666034106f6f503ce8e957be3aadfb9db9b40ccf41dd57e51b79c501000f4aa79d260ec1572fe0eae58c6455ea3b55dade37002dea29c5623a847dd51e038a55fecb00efaf798aa28fdb7cf74c50ac44fd976d9737944799c1d2bb6d98a4457bfffed7f7fdcf707a071a8ad50e877db36f6f54643bfe078460611f2c85d621e58d4fd557fc80727945d91ef87e8f55a81180c6c9b14fb7e3bff670796d11b747469f24cc68446a7af14453155a3aaa7b6cd66f2a9009ff03bbdfe45407673d93365117df6ea8ea8e8eadb34f40fa8295b96df5b7b66e551e1ddbfacdf491b0cdd3f936f77718b6a9efbf137aabc6d44b3d54dc3af3c0359df2adc5116ecd914feee2d7823ea973e3fd64aa475b3fd11e0f32511bf9074dd50a6dffb3d9dbf7c3a8d96f24dfeb5724abd9fdf6700e4fe51e5503bf864cd8a7aac78a62bf4bb00c01d9e11e76ede2a52b29f986c8b4ba07bb8d29cfc6a7759e81795562a5723a0e4922de9d97d7ec2bb74773277e3a52d4967c1a2fe8d613cfa8cba3d9739fb33dfac0ebaabff1dd51d3ef85f794d1e6fa4dfd9cbb7bb681d11ee48c0efcdcb36064f700e4a225a07475e022a3b38a2aca7253102a2a8daa366e65aa3d245377b9ffc56d0f6ffdae81cdc03d272b397edc1dc900e0e94a850a78da8f4a7e1da99681b6a5519ececdc6a7fd7feb201b03b6e1d82e378ad5453b6c5b38a73e3d03f8224513a3d51647bffe5feb1eefa0eb996583a5704667ba3cffc0d704673ed9f6e7fc067b7ffef9a915da3db4757f83acea8d1db9d144e60f878a251dabd11aedfd1e35726f2d5bd5a068409e33ead9bc1157faa0342246b7bf2fcdaa5b92034107080a4bfcdbced8dce59b6c9ba234572cbfe29be36f9e1d81e51efe35c1d49baa7927f7c3aeef7b37aa6866f6fe66b60792379ec03badcf01cbf916b315e004c2651d629b25f682935b1d41d2ab6359740d49901a1027de68f747b8a076ddbdd50a14f171d797848f0deb2a557bb9629fc4ea37ff6f1501ebaabcc0ec327dbfb60efaba652dca3abef5dbf9ffdf6eaab3629f83410707bf937bb3ddaa6d54df95fc0ec1d028ecb1581dddc83a87dfff6dd1d6177ec6b6fc75fbb7fbe99cfef13fea89da19c24ed11555c0607f19aa53cc6d4f3f4bb78a4477c2a8dbebc9f98a2d1d08dfaa6df7fffba3be77cc7e2b538e7dec1181827cc9c53b954cf5dda235cf6a81d6e641d3e227aea89e5337b33e23fda1ea9d677dda236fd4eabf06729f8a6660eef2019f73142867dbeff58f26a75f032ce7fd3aa7230ad6b7047ccc98076d1d52f57d7c56a84df1eef99d5327a66f7446ef5565052da0d041bf2abedd8a201ae7beae29a23cc8a947540f40ddb65aa370dc87f8a73629fdb6f3db7b681dee3540f08fbde6e3dff707bef7b9d6e4b997d76aa060e1014aad9aaa5fc0685f5e62a53db1402937780a59759c5bca6faf3df6a79cf7d91b6b7683020b54c501000f4a64d57c115b8af3bdcf7d4653f0f07b40ecfefa66aa63d2fa8888b6451b9bb96fcf40e29e2a6fbe116d1d353e3d8d4aa26a8532c9a23c3d1fbcd538ca88ad4afd5423d03bf117823df5d0689fa1aab1e5b83d11f6d1d29ef94fd7f6f80e35399f57c86ffd4f73544eecd9ff7e5fc11ac03f65dbbf032dfd469c7bd37ff7bea846932b73a3a92766eabaaacd92798879ea4632b1b5535bd6728e87db1b5718e5e3a1b36e4fdd8dcc0516cfb4a477d5364f0eed99ca23005418eeb5c4fe9760ed8c9d039fb079a22ddbbc73fd529ffdb6cb6df37f02d68f262f9c6b479f00b87f4533f32d66829b7f777b9ee4ecb3c232b59cf84adc9ecb97fecde28b1446cbfa3a6eccdcc2f0340d0bf3ff846117979e9f1187726b765cbd53ef29d1dfe32016ffcbec8c40426a457772c55b7c82c9d5fca2ab0cdd3b3cc29c8a3a3dbcffab52c55dff39228f411f98f7688b201c0517ae81fe5b9f9ec0607f3544035b7c060f40e71afcd97ca259bb39bb325c03136766405239ef13a3bf373d9267846b3947b14efea8e6cb5559966290cdfcbeef9476e28e5e37bec1dfbb7414b237d03987a093a9fb1ffd57bff7a72a86447523bf51ecc6e834207056fb3ffc52de5d6b608c3a112daa3797d15f5453d0900e373018383e7bfebf1da9ec93075ef2b1d7fbe53329effdb9dfd117dba3b536c51a3b9554f0eac99cfa997de38f76ec83b55ad81e5fd3de6a7f0154a3667d4b75d0bee55006fd235d67fa92f3d6db54794e7ff7f8015273146db940bcd11c46579bfbfbef01a89f91b00b87113b39b54a9de593077d2edbef33beed1155c3affd6874a6795727d47bde54af5affd4c8a3bb95b83ad1d86707e034a2ab6ae5c523d1d4d57bea072c91a6e64b2457c0c9ef5076a679a644757ba07340e64f8f545edc1db4ab47601705c6beaacf66aa5566e6b363392f77ca60f22b11fe0d0be3a7fdb2fe0ec44d1d8f7b31466f87558673faa798f776fd6e2985dc6a0f14ecdbf1edbd654fa0ea6e5d3eff14c2f51796ea8df4fb76d57d11ef629f6efc75822caf79552aaf6fc772ee6c53ec6f7f571165df7760343fcf84b3f1a6c46e4aa5a9d1d5feddd1efe452a24cdf2b3f0765503a82335e9672700dccf42fce75a63fd97ef75558a80e4bbf53967a740d28e29e29cf3331bdc9af7b681497b7077bb27f6455978a477eba3def2d351315c83cdbbc5338a58bd532d1dabf8ebf2e7b62bef4fb7296fd140efaaba3daa7aa80cf3ed019cefff660043e13ec72cc8a74458df25fcee726557cbeaa3dc8f725179ddee7a8e8743b11186b1ad11aaa8a395d0b60307fbbffd97ca7fef7e483bffee7d9e644848f1ffc9f1ecefd373de53b3eda4d6655767d9c7b9f3778b01bbbb2ff3aaf40daaa23efed2e11bd92b9f1bffe88cdeaa9b77f37957dd1d794794aaabf8f3e076feec501000f4a5b40e0eecc11ef847d1de2be08f545d6bce719ff631535cdccb6db40cd543de012579d0c9de8f15f7156e4e8eae7b25ec1eb11bfc9eb9bef123c4d11a313b7339797d7a073f2dfdcfab6f01a40294e375546c458066a89314b53ca6e81bfff2f7bf7c64e48076b4a14c938a6af6a9fdc031eb65fe923dd7933f3fb5b8a14fe6411afdaa3cbf95bbf51f1e453c2f00983eaa039d4de56ae65039fd1d4bec8d6c1dcad7ee866e6d5f6b565f2a03cda7c9edd57ededf5fb3db643ef83b03798a7d3aa5408fa0567b38a75afee7acdaf7fc52b51d46bdcf0ee818976c11d401de01f1d7bcf81dec6cbfda3b11a64a06a5c57251db4a73b14fb990337b30f37f35611fc057d67f5bc03797fbe6bf9148342fd0bba3dcd1dcbdff57f777445a3c53ff5f88fe1d4f00438c8d60ea67f446f7ea9f46d05d1d4c1e4f550a15d742df7981d450afb3e3d559900ec031fcdf5dc540700df35d023a11325e555bc8ae816c1e67fa23767bfcbc50f8983d9b83aeb7b15ca3bb9cf2897f3f8aa4bee6b5ef438f82adaac035e11ec51d54b5ea8faa523d996dbc6bed805c262a55b77fe11bf7ada6aaf6a990bdab3db147f36500a6f5783db7aa9428db8de01f95388d79976888d1f88a220eb73d8caace6f9b56a2e5032ab074a3a23b9e65fcb727847a3a93c0a5f4b3d315e357e3b9b6e0ef3d69e87e6f55cf4927e73f479fcccb1af66ff25bb3f334f3e1bf8d0ef5aefd56caad8a22cdccaa764b544dc819bd0ebddb2aafee8ebc3a69802d364fe58d58a72aaf3dfb9475ff0e9951155ea7edbe93ff51cb9ebc6b01a0837dfff97dc59529914adfb67c799cb73915abbda3a3713e93077976d1d46fe07e7b8a04653aa2f740aa8879e2ef3ddd503bd600b7947bfe6e8eaaaf4c513ba71edea24557f3366dceaaf51d4f08d1b9bcb446eb061f810ef9bc579262699cbac5bb77f8c27f78328c51d1155ffffe7c147c93928304f8a7ddf566b6a7f0cc7e46af846a0740e81bad0307fa3b537f1bfd11274eb58eb7e2301f96e7ace5577534dde6d4ff1d2a527217d625a3df338dd96f3cd79468eb1a1eee6b9ef3231f6e81ce0e87b6a8e58a9401c97f7806ef255833ff5162951d8d65edff94f444aa54eaf075f83a537c19bc8ea8f22903939fcb8a94e6d4a3af5cff578d8342051ba3bb1a805e7476afc3d11a81df81dcfaa8c608aaa1f89fff140f540efb414b64a23c6e7f954eb3bb37a016eb1abffdf7673648ab88edf88d9cb688c06fb0029efd1ae45a0199f973962d5683b52a95fa55219bd754b5db7bf54bdf5e28664be03a23f010f047ae89f59725d1e499075d2f03bcd1e35352e2b8d804bec80655a966cf450c88e3daae4de55c0edff2dd3d17d98a228927dbf4d6a29f6779bc9aa736295301a182ff11a01ec11aaab55f2df5b557e49eb3d92814594c6cf3ec501000f4a2dbd8dcff7c224500764e551cea86d5fff281cbbeb032ff97a3a8a55778ca8ef32f875bbd99cf6dd937e01718c8f5995b9d9eceef7992d67db27b6df2bfe3e17f172e694f47554fa4b324f779e035b7b8c678f365baca8f7a36dd96291d60ef73d373719a3aa010ef281fb2fe30232a576dd8a2b0d8ebb3bcc5006e5af7bf828afc18403b73de2e62a85f1b9d9f52be99850313eaa31b66780f298b411bbd4fff7d41d839477c9147bfd539fb7474a766b324b636a770e3f0ebfc9dce6c927f236a5b537f237147aa81d81c52e841d67447503b8a4bee59a3d97b8b0e875f1d88ed005bc77b26d052b5f1ea8037229ef6028affd4776df8f1b8012f7753b2fc46c53b336fa457ce6e4518b56a7b6834304eb95b039fbd523b983d03d556e35e665f7e95034204f9377546679a517b558eee4ea8a07e62ab8c64db7d1d13dcce8ec0c56eddbb8074181059eb8aeedefadb7f70fbdfaab51c9e038d51dee7b046f665ecaa9aefd9d051be1b3760f79d96d9aadbb24ea81e88b266d9547e64ffe064f75953fbea73f806548e98dfc8d6d513dd4a193e77414ca392ea9f5b8a3147ff00ba8ad363d534025f7be1dca07aa857246e6c940946366f877ebb187c101d823b77fbd51c56d71479b0530eb7db00e64a19b46fe0eb99362ad9b98d5c9c9228dd9a8b4fc36d684582381d9ecf627d1d7ff54818513d1bb0fbdda4b9bbd039bef6f945fde8f7d3fcfedbd9d8dfa4bd740fbaa35ba0779efdd665ea883dd0313a9d55f8043ea8cfdb67146ea7ff9ae497267a37e4d00ef81a0047962cf8292411e29b6f7b62bcb8238f25e511d41f8df0303f707bddf29676ff1a8a014cd7bc9c79375cf3f1ec5e666c1ecada8f4f2bbf6447a3d8a720efa71efde9b6a8b6db00d7231c0609f074a15d1ef8782354aa8f3ae4cdb83bee41d29a9714a8f29dfd9a3c03deabc741343ab3f55f145df88e060757674181fcefa4b267315b9a3c079b914028f3ac58c4cb7fee29e646f3d643cebb782301bf2ffa3dc113157a5b014be99f11fb0750328cf0ea4b97d40dfee974b548ea36236d823377b69e7bad65b6f9ef64aa0743bbfb5be0e969ecb1578d437d459e9bfcedea611a720e95d523bcfcbecccd39ff148ec479c11d4cab88ad4fde029778bc0088203b6645b7dffe29dc1d7f6b176d9f92fc7b144be73daa9cecff954999b00efb2df48226eea996b3769d84e8eb8b7e720f4be28d51efc53cdb75577ffec6948043e1eedbc67fa3af67ef6b5aca81e2bb92551de487e0ec503bb327f78d6f37010d8b3feccf37c51387de64f08bb7fab2957aa632a7fd0203d5555377c0d0814188b2700d01dcee2f9fe2afb39e50a1528fefb95efeddd03ad829b628573b2dda23d6d47eb1ecf77ce81e4cf7bd36d9e6d88a4bb935529ba3da3d1d6ef734e3de7f199efdca3b1d2c501000f4a8bd9ef3199b93fb33382361f819f51b65cfde5f49997f1bdeb4af340e08b3973ce7c11b3b7a07a2be089447bddcc50aed1ec0609f16af87d9e5325529aaa6a4ffa6ec9ba226a86b2e0e9547bd68eaf340e0f67fdffcf6679a9d9c50d5edb2451e876233f57a0c1fedacd654b6a478234b544cfcd00b7c3e28f26ec57beb9fc4d271bcf67f2f7d996d73ed51db366b50145df37152a1d323dee0f72c93b6fabdd94c05131c1d5e34d629cbeb15715ff66a81df076e7bb319c1d59740d7d5376291e5c1db1e5768eb00dda19bcdaadbc91becf4c927e5b66b43bb41497fe503becf866fff8dee7b32f7c07332628039c1de71430a6eca79ef14756e030309ef6f9befc0ccb1bac4b83c05270fbb8f07bd51eea9c53bd4f55ede28e377db7d9fcc8197ffd56f925b24d52a3ff49ef71911ab37bd00881cff2552ab581192ddad450aa51e7b6829b87ffe79a67c93f9ff72453bcd55714cc919d1d4f065fec4df8ed50f24c807ff5a83ad8a36a81114a8fcc53b879ee91554cbcf6cbb077ca3d523d60778232e233fffbe9e2e577767fb94760a5a3bdf5626a9bed96db7286529da0a7fd5119dd11b5451de4955c9f50df167c36089dd667c74077fd503d1e46ea8bedb92f15c52010f7ea23c971afc9e6ff73f1bc55fa3d51e11b2eca2329fbe31528c57a3b9e66cfd92c1eb4a2ab53d57b732629f88faf7fff8753aa314a91f01f1dde72db6a8cf48075adcd6541f749ea056a96b5481dcaa44796777aa5adffbd3d701a0fd8a53f52d4fff9eaa77f9a2264627aa8a05c7aa714be267e6ad9558efdf9facb7b9a3da06875bbff0342fbfff9b6d55f99faa0461d725060df3739b72333f00e9e7f9b34790789ad579e91ac11fb71b4fe98d9f7ba45192767d6f2853b20fee0e9bdfa996ec8d4c87646eefa4c55288debffaffbdb2028fca5a5293823be1077fdea95383af2bcf747583b9df5bcfc556e7d44dd3bffb1550323b926cfec8c88ea00c5543acf269d742ad145ff6a855baaa7acc54a54d90763bcff475718f1eff9c1d707bbe1de339ed92ff601c9273a3d976b47defad5513968129f9e82288eae830509154d1d37bb03376533eaadfff315b322b9a053c23caa479bc54c670ec2c62376edf31477bfbcefa5a22f2fa4b3aa2804badef55ec6ff3ca2b736676dbfac555e51078ab7678e42c51f9e53cada811a6e8f00d88f4777667e7a714dbfba19ffc1e7dab7fbff45377907bed54ab7a235baca8efc7475f05ce2a664060811aec532fb65517ec4d03aae8ef321f864dd117d54567d54dfcdeaa57338a879a06228aa4328850a608d9f6a49d96772a96acb1281dbefe67f0338ff6f7fb773e0667f6029ee4cfee29c6ef2b53c0172507bcfde089dc53edbb6c1ecc1ed9ffdcbf5ffc5471d154e01ccbe513aac0f550db78ae4dea9feaabbb6293ec501000f4af82b33117d4d4bff5053f73ca7144bcd6cb8ebb4d11445998dffdf96b3144be823e6e6681c3702cfd56f31b9608f6c53fb0757fdd9b9fb2d5114e8f1cfbe1da9f503bbf1d7fbbd82388d9f543ae777f83c51d0ce1fd797e0a2e816537d47ba3ce29e36a14ece4c9c3eebc9e53f9676e6ecdcfc1dfc793555ac6eaed8f7e016f83f31547bea354e5cff3dbfe45167556aa4d6fb92d8e8ab40e5de08f8dcaaff9557d4d039eb67d9dbfad5ed7c0e8ef91abc5577806846ef315f5465557feff4468e7efddc573b3cb7eaa64798affc5091b9ada8aacfc3767a29a91857ea3a031755f268293f4763b96ba247567365bf6b2adce8880715fbdaa3f7fc5794dbdfef00ecfffd3ca6d54cedb7362eac756f27999a61f95cb40e371ae5f4c8ab5ba3bbe403abaaacbff81f7c3dcdb14dee4e714c8226abfef6d517773f3bdfe3e22cfeb623cf7355452a277b68ef38dc57eda3b520d0ff7fea6f8f54ce6b23caa8149f67faa1663dcc0ce0f9dfc80a9a077e5d7f1bfd5bc5db67fdfeea8c9fec8193e37f9664a3d926e7e5dc11b5368f502adf7402dfc44fdbcd9f9014ffff4757de8978a00e60d22a5ccb73f354faf75befe56b7ecaa1efbcbc3f16c5cdded031f2ea3a8894fb7dfbfe6f94ca4ef4a4471e365ebdf5fdfdf37eb3ff6bbd1d403bef4901a1fe88e81deec9d8bdaac7bf977d97b14cfcef1481ea0d0c13df599fb9383c914f6fbffbef64b3d66e6f6c5e555819c3efe5cb377354c03fef4dea9b6cf08f2da2376fedcbe8193b6299fe76772dbe595c03ad88d8a14f8479e03f046819435f8f3324f4e31faa201d54a045b39b47583b1ef8776d7bf889baac145628579ebcdcbff56d464ab7b2ce66d0cdeead54a9eecf566aa03606b00d2d00e7272febdf17a92b0aed6f37e3ba9afb7f98a446fcd0687fa1544f35f9c50ac46fedfd1dfbb6ce0ebb771a52d5ae7550077ffbcc6ffaded6b7e3bbb075cd5359f28f47bde6b3e822f3d96289b40a6e45760eace7a60343fd0cd0ea7add6e5d9ec517fa3dfff14caa40ecb6635d87e236c9997a06a7c7b6e88a235d1d288ab28edbbadb9f0314f736e8f2efc0e0ea7dadb3476c0f1a614506840df36b623483bcf73933ed0ee7a62bbe02f7bf53b4021e67b2caa3955ff1bad2911dbeb3b355fb7eaac512f8338303f8d67ef773c0672296f3a5f25052e0e81a38273e5c655a88af281a039301493bd4dd1e2ca0fb9a893776a86a6e7ae4fe5eb5146b4aaf96c8012f85993f18b3ea6eb7edf3137de49c1d0f37edc00a6fedddc5605945dcfcdfb514ca3bcef8bc47e88e75c6289f93dff0e96f6da98476f2d1e88df039e1d4f477fe6e4dde1748dc1eccfeeeff9b2fd8fa8f6ce69d81edbb724aca8c978cfb996ffd47422fd61d2b73ddcea6b9474ad4ff79eadf94700e5eea85307a012f9011b147545fc501000f4a0ef93315028d4cfdc520707bd9547fdd1d9c7fd9fec119b83a9ff2bfb4a47973e3baa80f01d57f1dab5cebbb6aaf2a8c1e289147f2cf7b25ced6679ba3a96834404fa3bf7c4750c01d9304651b35bd53bdc6fcab5478e336ff2e51ee7e6f629f6facbde2a10f83d3ef8a39e83b557cd4d97f7fdd5007637791466d50afcc9e7bf5cac6554ddf76490bb3f3d59ad7877df7ef29effb9b93aae7637f6bbcb7caef077e900cef54b9cbbaa393aa045ed1dfb9ba3ab146faab9cf4503ba1942fb3fb2d52a75428938a6fb99f5fffef7ba3b53e1db9af2ff740bc1e76737fbf9d9b96aafa9b266714ff4fc44cff589db07971b4d55df7f9477932ef55997ffa982328807542896abe4ca81be5111493bb747796b6a4462fd80754b533823f633f512aa52e85e6660ed54b2ed69a9ac6028ff1328f6688f432811dd997daa3e23e4ed9547940e976ef6aaf324fff24c93ea076ad4e01d1dfaf6abe2b83ce7ee7ef80c31e3fff3dc1dc5423b0d29be998a3544dffa688c3a890337bc0f2f6f235be99f1dfbe22a99ebe93ca6678743c5da00b87cf74773fcf0306f9bffd516c914ea8a5f714b3790337798a477355dfecb3725ef2d5762dff7a016dba71e66df7f8a0743b53ef64dbcb14e31be5772b593f6864f23ab7a23772550abd7bf51caaa59014b9d93dbfb3f7ef77bec8a72f875bda3b939db47dfd519ee7bf9d94767deeffb2503d1501c92d94476edf68ec743ab446bce66b019c335d11fb2555807208967ffdf666f276efbf7ca4db835d993e07347bf1dd1d592ec54d3527d5c6e2b11baf7a933eaf6d66658ae4bb9b54a999b667475b677243d0e06c14bfe4516629b6d8d511aabeda3ae550a6f341a17e86db32abbadf1a119546f26fa74468aa08f47b70fbe162a993714a9b414def9773f77928f228117147f9c98adcfb5401deb77f1be819cb73396017ddffe5fd00aff8a3cafbb6a8c6810d46450a7234a6373ca53d6e3e277cdfd47b25d8ab9b3733229f2852a40fcea99e5207647bdc035954e4aabbc1da9b3281c052fa667aeef942b1e5b0f485ffbb9faab76b547554a99d80677db3d7954dc1db9ee993f6977393db075319f64b754fb8dd2f806fdb1a0ce175b9e8a14e6645023f14a953efdf7375401d9b7270f416fc77b6daa37324df722baaf92d93f075ef8f3e3c5242ec3a55fea9f41d5da535bd6f3779651d7e43f0ca2467f6fa760f36ea8680ef9ae88f97672ed008ffdb7c940dd51ab4fb45f32d493157e4df1a7bf01a8a26f14714337f555b8dcdecbedf40378df9ef18a608e3b11fca6caa6defa818f73ead4780e4bcfb16064fd15c039e52a25bb2a8fea846225edb476075803de52f851d493807ea8a23fe7e0ee51ea7dadfdafeca0695004c388fc523a53965940dc52a5bce5536d11bfe983a920f432841d6c1e62057b1c501000f4a46ff8dedec57823a9ed9c0420c9f163dbedf551f9d4fd57cfa9f4dd1df6a85222cf299ed0c9ce56c74a362a116d1eb6234a3bdbbf920eac6d5dd3516b75408f9700e4daa2ab55de08ca72e7e6733bf7b6a8eff6db55a9ff5acaa22896eddbe1e601cbcd55eb3fa79e54e4be9264dbfcbd52d5b37694c1eaadad86505778c0170515f0ea733d7d477804c79208e79ef6a2e776c1e8f3fefd112d51f502337f6955aafba22e8671dbbe6a5aab7b6cb76df29da0c23ec529d4cc9b01a0838d532cb1a53b474aea9aa956af7e3d1d73c2334ccd00882f01bbaba8b3d170525b5bf7db52d4aa79e1d0670aad337aabf1b67db914888dd85dbb4461e19ff6f96ee88b5af4b8a3931b1e64be51fd940e49a0d07ebdd3caa4f7ec937fcbb54a8dec03be6bd967ee4caa74026220ed4fbd823a8ba3b96d117f3715ff96ff37def651da8f1efffb17d3bec0526551201db9547f2eee29ce976669f9efcfddb7d64aa791ae4d4bb700ee8ed147ffdd977d2e0f78d29cb55c62c1e7bea6a8e79af28977ef7553637ebbcd53d1d814bfe6d9bcd1ec97a3de864f8a043563cce5ccf0ee37b6f726fb135e718fe1f7de7f2666b6a877ef592288db4a15b593f77acd3ce7de65aa73f2dcc6b9e9c2e8a4763a513fb300d01b0ca3a7f147c7bcc514181fb57d1edb33bb075ef739a9fa79eb7cc44fffdcb2db92550a724b8072b5db0bba19c44cde356ffcaba0719fe01eb1467e8e940eaee28aa54834106f7edcddf01b1d88fcfa98a73d2f879b9aa95f36dfcf4f81dd73e5ad7a6df7281c6e6edfc6a0eef94d5023f201cf50687fa43725b6e457ed9fadfec6b958f29ee6ef66ff002626e4e632224e71afa8f59765538d4f8303f9d80d0813ce6f077f9bc995a6879fffc0ba86ffcbdbb3c7e0d4b536f8bafef3b33f3d3ecc5326d958b80766594021f19318f569af6fed61a039cd9d823372fbd871e00fe4f7b9b9b60f0743cc6e8f3f78de5972b7997c7e6acbe807630cdd97ea7740bd6ad9799ea3b9c8e901180bc9707bd50a154b33fc6d5aafe7a46ab57b8e93b649fea8bffd5714d11e5cb93046aa67bb7f309222ea8bdbf11bf7ea54975efe7046b3daa14df01ab37964a19be094ff4462db3db14e0f155eb73a07afff9a3c1df032ffd8af54d64472fc6b40ecf29532cc96d5055478193a75b11a794dcde0e8742377ca26d85fdb56512804437ae4f58c5e65f81ae6ec8c7eeabbdfa8c03d69c839ebfed57cd53079e65af5bf9e6d2aca948eed3cf33bcf7bb54c8a7f25ed57e1dfa27510773f044f79a0097c0de511f7bce4e08b6c8a64cfc2f534794758abffcd3cd354d6c79f03f99914c9d55b7bd5006f8b2a9d0ca0a8ebc0715cbef7e4bddcc1180b28acb2dff2daa0029e6a8e4b363724cbd0383bcf8ef713abcf6c03f941a10283cc2fd9b7d6e363c6f3725cdc501000f4aacca9b7fbfc0cddc7b64664aa27e5523d53b6c8d7b0753324fc5e5f1b7b86df2bfb59bcbd9f654376e68efca77ca07779558342fd0bfb7446fff9783d112f8763abddaaa818f66e7a591cf3b6681ebe03a3a9ef49c8a3d760f1b51fdf73f9efdd5321f8afdffe667bfb8d7bfefd051a81dde49b66502e0483384fff8cd6e28bd1dc9aaef143223d53fa5db2e4bb002a1355ecdac819512decbf9fac289fd1e26fc11eb9f0dbbfaad408d249f83acabdfea8d11b9bb660ee400982b6ffc3c6e4f77678095d967f157144513ff9dea90087251db55d9efdc53d6383bf51d71bb65b754665be3f0bcdbb67fea54403966ca3a57b354677fb35556ee01da19c0e625f67ed4d9732fefaeb7d8b01d51eb203400913eaaa596fffec1e8eff27aff9d1e700cdfdea8fe64ee7cf3e1ed93aa3d446de29db91462af56157ee732a8947bb63df5b6cbe35bbb83d579ef5b14c1d36a3cd5d937c0d08143cdddc1eb72fe5513bb767fdb9fef5435c9d954be0d5d1d720303f95ae8eecfdb38dd9bcdb664a2308c0110d24dbc9c57b3cc6794ee291e6dde6de295be71aa0ef39fb9f1e4baa6fdabfcfddb933475bfc64ba1f7b98ec78b3007ecf499bd503be6fb3f67046b00b064ebd807ac5bf6cf6fe6eb3f823d037477714cb0ec3a899140e9beee6b3681c83a5fbfc518ddaa43277034d65b6d50a52ef79b4beaab7bfffa77db0025f5560ee01dc032ddad67fc3ad052cfe677d7760344fcd1f1d67d4fe4d99ed9e1e5dd50de667339c6e88d5cf83efbbcf819bb231aa217f3d915c5176dc1d653eedc955c56d88d3dec69b512583dce457143528153eef9b2e9751d8eeea8fa9eb6ce64d9e9cf0eef69f83ef1a6a88f73f0badac4036b0e874a78a144555ededf3397a3cb3446aa2e29cc57d9ee3554cc00b82972efb4baea8be83bbd53f9e935429b54f2a892ec51b0fbda6c92fa8898a7c237c7aac470393c05779ee818becae7ebde4b18b446dfcc8d33ee4ccefb31837fed7ffacdcb651dcb5b51f6d4d1dc1da88230183af20a7051d032c4dbb94441e28fecfb32f54debdf942d3fe8071abd51cb1a917a3bb724dfcdaa9ef58cf2c6ff72cf6298d664ee0eeb7ebee6d0687f5ef7f11aff5481c53abc56c4f0f075aa2dfda3bcc3b0d62a1dfbc2397ff36f19ffa37ebd113f9e99aa14f6fdf09992291d4fed956ed1d64f64b822f955daa0bfde1d6ba200cdce08dc83a99ef7ee5f637fc1e6e3347bbfae816e4bfdd5395a9074a36ff64fccfc54a59efbd2dfd0cdf7cc8ebfb900c8ebd3eaadf7773e9f446f4578014f76bb66cac667acf499d498a681ddf2aff2ee7a7cfc130a3df110bc46cacf97b9b276d6f7f32d740e08fbdfc1d4cf088a87755455444bc9e515acf8e81a17e7f518d796ada9e7ed0353634a6df65fcb681bdba193d7bdf51e5c0ff5481be72ac501000f");
// RTMPConnection conn = RTMPConnManager.getInstance().createConnection(RTMPMinaConnection.class);
// conn.setStateCode(RTMP.STATE_CONNECTED);
- //
+ //
// RTMPClientProtocolDecoder decoder = new RTMPClientProtocolDecoder();
// decoder.decodeBuffer(conn, IoBuffer.wrap(buf));
// }
diff --git a/common/pom.xml b/common/pom.xml
index b44ec62cd..7936d78f0 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -3,7 +3,7 @@
* null
*
- *
+ *
* keys and values from given map.
- *
+ *
* @param values
* the map to filter
* @return filtered map
@@ -365,7 +365,7 @@ public String getStringAttribute(String name) {
/**
* Allows for reconstruction via CompositeData.
- *
+ *
* @param cd
* composite data
* @return AttributeStore class instance
diff --git a/common/src/main/java/org/red5/server/BaseConnection.java b/common/src/main/java/org/red5/server/BaseConnection.java
index eb0f99174..bb7f666fe 100644
--- a/common/src/main/java/org/red5/server/BaseConnection.java
+++ b/common/src/main/java/org/red5/server/BaseConnection.java
@@ -213,7 +213,7 @@ public void removeListener(IConnectionListener listener) {
/**
* Notifies listeners of a property change.
- *
+ *
* @param evt PropertyChangeEvent containing details
*/
public void notifyPropertyChanged(PropertyChangeEvent evt) {
@@ -241,7 +241,7 @@ public void setStreamId(Number id) {
/**
* Initializes client
- *
+ *
* @param client
* Client bound to connection
*/
@@ -313,7 +313,7 @@ public String getSessionId() {
/**
* Return connection parameters
- *
+ *
* @return connection parameters
*/
public Map
* True
*
- *
+ *
* if clients exist, otherwise
- *
+ *
*
* False
*
@@ -130,7 +130,7 @@ protected boolean hasClients() {
/**
* Return collection of clients
- *
+ *
* @return Collection of clients
*/
@SuppressWarnings("unchecked")
@@ -191,7 +191,7 @@ public IClient newClient(Object[] params) throws ClientNotFoundException, Client
/**
* Return next client id
- *
+ *
* @return Next client id
*/
public String nextId() {
@@ -208,7 +208,7 @@ public String nextId() {
/**
* Return previous client id
- *
+ *
* @return Previous client id
*/
public String previousId() {
@@ -217,7 +217,7 @@ public String previousId() {
/**
* Removes client from registry
- *
+ *
* @param client
* Client to remove
*/
diff --git a/common/src/main/java/org/red5/server/ContextLoader.java b/common/src/main/java/org/red5/server/ContextLoader.java
index 565de2dfc..7f9b8f5b6 100644
--- a/common/src/main/java/org/red5/server/ContextLoader.java
+++ b/common/src/main/java/org/red5/server/ContextLoader.java
@@ -40,7 +40,7 @@
/**
* Red5 applications loader
- *
+ *
* @author The Red5 Project
* @author Tiago Jacobs (tiago@imdt.com.br)
* @author Paul Gregoire (mondain@gmail.com)
@@ -77,7 +77,7 @@ public class ContextLoader implements ApplicationContextAware, InitializingBean,
/**
* Registers with JMX and registers a shutdown hook.
- *
+ *
* @throws Exception
* I/O exception, casting exception and others
*/
@@ -141,7 +141,7 @@ public void init() throws IOException {
/**
* Loads a context (Red5 application) and stores it in a context map, then adds it's beans to parent (that is, Red5)
- *
+ *
* @param name
* Context name
* @param config
@@ -196,7 +196,7 @@ public void loadContext(String name, String config) {
/**
* Unloads a context (Red5 application) and removes it from the context map, then removes it's beans from the parent (that is, Red5)
- *
+ *
* @param name
* Context name
*/
@@ -264,7 +264,7 @@ public void shutdown() {
/**
* Return context by name
- *
+ *
* @param name
* Context name
* @return Application context for given name
@@ -279,7 +279,7 @@ public ApplicationContext getContext(String name) {
/**
* Sets a parent context for child context based on a given key.
- *
+ *
* @param parentContextKey
* key for the parent context
* @param appContextId
@@ -338,7 +338,7 @@ public void setApplicationContext(ApplicationContext applicationContext) throws
/**
* Setter for parent application context
- *
+ *
* @param parentContext
* Parent Spring application context
*/
@@ -348,7 +348,7 @@ public void setParentContext(ApplicationContext parentContext) {
/**
* Return parent context
- *
+ *
* @return parent application context
*/
public ApplicationContext getParentContext() {
@@ -357,7 +357,7 @@ public ApplicationContext getParentContext() {
/**
* Setter for context config name
- *
+ *
* @param contextsConfig
* Context config name
*/
diff --git a/common/src/main/java/org/red5/server/LoaderBase.java b/common/src/main/java/org/red5/server/LoaderBase.java
index f1f9bb5fd..49488806f 100644
--- a/common/src/main/java/org/red5/server/LoaderBase.java
+++ b/common/src/main/java/org/red5/server/LoaderBase.java
@@ -21,7 +21,7 @@
/**
* Base class for all JEE application loaders.
- *
+ *
* @author The Red5 Project
* @author Joachim Bauch (jojo@struktur.de)
* @author Paul Gregoire (mondain@gmail.com)
@@ -52,7 +52,7 @@ public abstract class LoaderBase implements ApplicationContextAware {
/**
* Getter for the application loader.
- *
+ *
* @return Application loader
*/
public static IApplicationLoader getApplicationLoader() {
@@ -62,7 +62,7 @@ public static IApplicationLoader getApplicationLoader() {
/**
* Setter for the application loader.
- *
+ *
* @param loader
* Application loader
*/
@@ -73,7 +73,7 @@ public static void setApplicationLoader(IApplicationLoader loader) {
/**
* Returns the map containing all of the registered Red5 application contexts.
- *
+ *
* @return a map
*/
public static Map
* true
*
- *
+ *
* if scope is ready to be activated,
- *
+ *
*
* false
*
- *
+ *
* otherwise
*/
private boolean canStart = true;
/**
* Can connect flag.
- *
+ *
*
* true
*
- *
+ *
* if connections to scope are allowed,
- *
+ *
*
* false
*
- *
+ *
* otherwise
*/
private boolean canConnect;
/**
* Can join flag.
- *
+ *
*
* true
*
- *
+ *
* if scope may be joined by users,
- *
+ *
*
* false
*
- *
+ *
* otherwise
*/
private boolean canJoin = true;
/**
* Can call service flag.
- *
+ *
*
* true
*
- *
+ *
* if remote service calls are allowed for the scope,
- *
+ *
*
* false
*
- *
+ *
* otherwise
*/
private boolean canCallService = true;
/**
* Can add child scope flag.
- *
+ *
*
* true
*
- *
+ *
* if scope is allowed to add child scopes,
- *
+ *
*
* false
*
- *
+ *
* otherwise
*/
private boolean canAddChildScope = true;
/**
* Can handle event flag.
- *
+ *
*
* true
*
- *
+ *
* if events handling is allowed,
- *
+ *
*
* false
*
- *
+ *
* otherwise
*/
private boolean canHandleEvent = true;
@@ -134,13 +134,13 @@ public abstract class AbstractScopeAdapter implements IScopeHandler {
*
* true
*
- *
+ *
* if scope is ready to be activated,
- *
+ *
*
* false
*
- *
+ *
* otherwise
*/
public void setCanStart(boolean canStart) {
@@ -154,13 +154,13 @@ public void setCanStart(boolean canStart) {
*
* true
*
- *
+ *
* if remote service calls are allowed for the scope,
- *
+ *
*
* false
*
- *
+ *
* otherwise
*/
public void setCanCallService(boolean canCallService) {
@@ -175,13 +175,13 @@ public void setCanCallService(boolean canCallService) {
*
* true
*
- *
+ *
* if connections to scope are allowed,
- *
+ *
*
* false
*
- *
+ *
* otherwise
*/
public void setCanConnect(boolean canConnect) {
@@ -195,13 +195,13 @@ public void setCanConnect(boolean canConnect) {
*
* true
*
- *
+ *
* if scope may be joined by users,
- *
+ *
*
* false
*
- *
+ *
* otherwise
*/
public void setJoin(boolean canJoin) {
@@ -260,7 +260,7 @@ public boolean handleEvent(IEvent event) {
/**
* Calls the checkBandwidth method on the current client.
- *
+ *
* @param o
* Object passed from Flash, not used at the moment
*/
@@ -274,7 +274,7 @@ public void checkBandwidth(Object o) {
/**
* Calls the checkBandwidthUp method on the current client.
- *
+ *
* @param params
* Object passed from Flash
* @return bandwidth results map
diff --git a/common/src/main/java/org/red5/server/adapter/ApplicationAdapter.java b/common/src/main/java/org/red5/server/adapter/ApplicationAdapter.java
index f1a7b21b9..150e851e0 100644
--- a/common/src/main/java/org/red5/server/adapter/ApplicationAdapter.java
+++ b/common/src/main/java/org/red5/server/adapter/ApplicationAdapter.java
@@ -17,10 +17,10 @@
/**
* Base class for applications, takes care that callbacks are executed single-threaded. If you want to have maximum performance, use
* {@link MultiThreadedApplicationAdapter} instead.
- *
+ *
* Using this class may lead to problems if accepting a client in the Connect
or Join
methods takes too
* long, so using the multi-threaded version is preferred.
- *
+ *
* @author The Red5 Project
* @author Joachim Bauch (jojo@struktur.de)
* @author Paul Gregoire (mondain@gmail.com)
diff --git a/common/src/main/java/org/red5/server/adapter/IApplication.java b/common/src/main/java/org/red5/server/adapter/IApplication.java
index 9bca652fb..298a46a19 100644
--- a/common/src/main/java/org/red5/server/adapter/IApplication.java
+++ b/common/src/main/java/org/red5/server/adapter/IApplication.java
@@ -13,33 +13,33 @@
/**
* IApplication provides lifecycle methods that most communication applications will use. This interface defines the methods that are called by Red5 through an applications life. It is suggested that you NOT implement this interface yourself, but instead you should subclass org.red5.server.adapter.MultiThreadedApplicationAdapter or org.red5.server.adapter.ApplicationAdapter.
- *
+ *
* @author Dominick Accattato
*/
public interface IApplication {
/**
* Called once when application or room starts
- *
+ *
* @param app
* Application or room level scope. See {@link org.red5.server.api.scope.IScope} for details
* @return
* true
*
- *
+ *
* continues application run,
- *
+ *
*
* false
*
- *
+ *
* terminates
*/
public boolean appStart(IScope app);
/**
* Called per each client connect
- *
+ *
* @param conn
* Connection object used to provide basic connection methods. See {@link org.red5.server.api.IConnection}
* @param params
@@ -47,20 +47,20 @@ public interface IApplication {
* @return
* true
*
- *
+ *
* accepts the connection,
- *
+ *
*
* false
*
- *
+ *
* rejects it
*/
public boolean appConnect(IConnection conn, Object[] params);
/**
* Called every time client joins app level scope
- *
+ *
* @param client
* Client object
* @param app
@@ -68,20 +68,20 @@ public interface IApplication {
* @return
* true
*
- *
+ *
* accepts the client,
- *
+ *
*
* false
*
- *
+ *
* rejects it
*/
public boolean appJoin(IClient client, IScope app);
/**
* Called every time client disconnects from the application
- *
+ *
* @param conn
* Connection object See {@link org.red5.server.api.IConnection}
*/
@@ -89,7 +89,7 @@ public interface IApplication {
/**
* Called every time client leaves the application scope
- *
+ *
* @param client
* Client object
* @param app
@@ -99,7 +99,7 @@ public interface IApplication {
/**
* Called on application stop
- *
+ *
* @param app
* Scope object
*/
@@ -107,26 +107,26 @@ public interface IApplication {
/**
* Called on application room start
- *
+ *
* @param room
* Scope object
* @return
* true
*
- *
+ *
* if scope can be started,
- *
+ *
*
* false
*
- *
+ *
* otherwise
*/
public boolean roomStart(IScope room);
/**
* Called every time client connects to the room
- *
+ *
* @param conn
* Connection object
* @param params
@@ -134,20 +134,20 @@ public interface IApplication {
* @return
* true
*
- *
+ *
* accepts the connection,
- *
+ *
*
* false
*
- *
+ *
* rejects it
*/
public boolean roomConnect(IConnection conn, Object[] params);
/**
* Called when user joins room scope
- *
+ *
* @param client
* Client object
* @param room
@@ -155,20 +155,20 @@ public interface IApplication {
* @return
* true
*
- *
+ *
* accepts the client,
- *
+ *
*
* false
*
- *
+ *
* rejects it
*/
public boolean roomJoin(IClient client, IScope room);
/**
* Called when client disconnects from room scope
- *
+ *
* @param conn
* Connection object used to provide basic connection methods. See {@link org.red5.server.api.IConnection}
*/
@@ -176,7 +176,7 @@ public interface IApplication {
/**
* Called when user leaves room scope
- *
+ *
* @param client
* Client object
* @param room
@@ -186,7 +186,7 @@ public interface IApplication {
/**
* Called on room scope stop
- *
+ *
* @param room
* Scope object
*/
diff --git a/common/src/main/java/org/red5/server/adapter/MultiThreadedApplicationAdapter.java b/common/src/main/java/org/red5/server/adapter/MultiThreadedApplicationAdapter.java
index 8d345820c..513ffd226 100644
--- a/common/src/main/java/org/red5/server/adapter/MultiThreadedApplicationAdapter.java
+++ b/common/src/main/java/org/red5/server/adapter/MultiThreadedApplicationAdapter.java
@@ -75,25 +75,25 @@
* methods added in subclasses can be called from client side with NetConnection.call method. Unlike to Flash Media server which requires
* you to keep methods on Client object at server side, Red5 offers much more convenient way to add methods
* EXAMPLE:
- *
+ *
*
* public List<String> getLiveStreams() {
* // Implementation goes here, say, use Red5 object to obtain scope and all it's streams
* }
*
- *
+ *
*
* This method added to ApplicationAdapter subclass can be called from client side with the following code:
- *
+ *
*
* var nc:NetConnection = new NetConnection();
* nc.connect(...);
* nc.call("getLiveStreams", resultHandlerObj);
*
- *
+ *
*
* If you want to build a server-side framework this is a place to start and wrap it around ApplicationAdapter subclass.
- *
+ *
* @author The Red5 Project
* @author Joachim Bauch (jojo@struktur.de)
* @author Paul Gregoire (mondain@gmail.com)
@@ -138,7 +138,7 @@ public class MultiThreadedApplicationAdapter extends StatefulScopeWrappingAdapte
/**
* Register a listener that will get notified about application events.
- *
+ *
* @param listener
* object to register
*/
@@ -148,7 +148,7 @@ public void addListener(IApplication listener) {
/**
* Unregister handler that will not get notified about application events any longer.
- *
+ *
* @param listener
* object to unregister
*/
@@ -158,7 +158,7 @@ public void removeListener(IApplication listener) {
/**
* Return handlers that get notified about application events.
- *
+ *
* @return list of handlers
*/
public Settrue
if connect is successful, false
otherwise
@@ -261,7 +261,7 @@ public boolean connect(IConnection conn) {
* Returns connection result for given scope and parameters. Whether the scope is room or app level scope, this method distinguishes it
* and acts accordingly. You override {@link ApplicationAdapter#appConnect(IConnection, Object[])} or
* {@link ApplicationAdapter#roomConnect(IConnection, Object[])} in your application to make it act the way you want.
- *
+ *
* @param conn
* Connection object
* @param scope
@@ -271,13 +271,13 @@ public boolean connect(IConnection conn) {
* @return
* true
*
- *
+ *
* if connect is successful,
- *
+ *
*
* false
*
- *
+ *
* otherwise
*/
@Override
@@ -312,19 +312,19 @@ public boolean connect(IConnection conn, IScope scope, Object[] params) {
/**
* Starts scope. Scope can be both application or room level.
- *
+ *
* @param scope
* Scope object
* @return
* true
*
- *
+ *
* if scope can be started,
- *
+ *
*
* false
*
- *
+ *
* otherwise. See {@link AbstractScopeAdapter#start(IScope)} for details.
*/
@Override
@@ -411,7 +411,7 @@ public boolean start(IScope scope) {
/**
* Returns disconnection result for given scope and parameters. Whether the scope is room or app level scope, this method distinguishes
* it and acts accordingly.
- *
+ *
* @param conn
* Connection object
* @param scope
@@ -443,7 +443,7 @@ public void disconnect(IConnection conn, IScope scope) {
* Stops scope handling (that is, stops application if given scope is app level scope and stops room handling if given scope has lower
* scope level). This method calls {@link ApplicationAdapter#appStop(IScope)} or {@link ApplicationAdapter#roomStop(IScope)} handlers
* respectively.
- *
+ *
* @param scope
* Scope to stop
*/
@@ -454,7 +454,7 @@ public void stop(IScope scope) {
if (ScopeUtils.isApp(scope)) {
// we don't allow connections after we stop
super.setCanConnect(false);
- // we also don't allow service calls
+ // we also don't allow service calls
super.setCanCallService(false);
// stop the app
appStop(scope);
@@ -468,7 +468,7 @@ public void stop(IScope scope) {
* Adds client to scope. Scope can be both application or room. Can be applied to both application scope and scopes of lower level. This
* method calls {@link ApplicationAdapter#appJoin(IClient, IScope)} or {@link ApplicationAdapter#roomJoin(IClient, IScope)} handlers
* respectively.
- *
+ *
* @param client
* Client object
* @param scope
@@ -489,7 +489,7 @@ public boolean join(IClient client, IScope scope) {
/**
* Disconnects client from scope. Can be applied to both application scope and scopes of lower level. This method calls
* {@link ApplicationAdapter#appLeave(IClient, IScope)} or {@link ApplicationAdapter#roomLeave(IClient, IScope)} handlers respectively.
- *
+ *
* @param client
* Client object
* @param scope
@@ -509,19 +509,19 @@ public void leave(IClient client, IScope scope) {
/**
* Called once on scope (that is, application or application room) start. You override {@link ApplicationAdapter#appStart(IScope)} or
* {@link ApplicationAdapter#roomStart(IScope)} in your application to make it act the way you want.
- *
+ *
* @param app
* Application scope object
* @return
* true
*
- *
+ *
* if scope can be started,
- *
+ *
*
* false
*
- *
+ *
* otherwise
*/
public boolean appStart(IScope app) {
@@ -536,7 +536,7 @@ public boolean appStart(IScope app) {
/**
* Handler method. Called when application is stopped.
- *
+ *
* @param app
* Scope object
*/
@@ -549,7 +549,7 @@ public void appStop(IScope app) {
/**
* Handler method. Called when room scope is started.
- *
+ *
* @param room
* Room scope
* @return Boolean value
@@ -567,7 +567,7 @@ public boolean roomStart(IScope room) {
/**
* Handler method. Called when room scope is stopped.
- *
+ *
* @param room
* Room scope.
*/
@@ -582,37 +582,37 @@ public void roomStop(IScope room) {
* Handler method. Called every time new client connects (that is, new IConnection object is created after call from a SWF movie) to the
* application.
* You override this method to pass additional data from client to server application using
- *
+ *
*
* NetConnection.connect
*
- *
+ *
* method.
* EXAMPLE:
* In this simple example we pass user's skin of choice identifier from client to the server.
* Client-side:
- *
+ *
*
* NetConnection.connect("rtmp://localhost/killerred5app", "silver");
*
- *
+ *
*
* Server-side:
- *
+ *
*
* if (params.length > 0)
* log.debug("Theme selected: {}", params[0]);
*
- *
+ *
* @param conn
* Connection object
* @param params
* List of parameters after connection URL passed to
- *
+ *
*
* NetConnection.connect
*
- *
+ *
* method.
* @return Boolean value
*/
@@ -629,17 +629,17 @@ public boolean appConnect(IConnection conn, Object[] params) {
/**
* Handler method. Called every time new client connects (that is, new IConnection object is created after call from a SWF movie) to the
* application.
- *
+ *
* You override this method to pass additional data from client to server application using
- *
+ *
*
* NetConnection.connect
*
- *
+ *
* method.
- *
+ *
* See {@link ApplicationAdapter#appConnect(IConnection, Object[])} for code example.
- *
+ *
* @param conn
* Connection object
* @param params
@@ -658,7 +658,7 @@ public boolean roomConnect(IConnection conn, Object[] params) {
/**
* Handler method. Called every time client disconnects from the application.
- *
+ *
* @param conn
* Disconnected connection object
*/
@@ -671,7 +671,7 @@ public void appDisconnect(IConnection conn) {
/**
* Handler method. Called every time client disconnects from the room.
- *
+ *
* @param conn
* Disconnected connection object
*/
@@ -694,7 +694,7 @@ public boolean appJoin(IClient client, IScope app) {
/**
* Handler method. Called every time client leaves application scope.
- *
+ *
* @param client
* Client object that left
* @param app
@@ -719,7 +719,7 @@ public boolean roomJoin(IClient client, IScope room) {
/**
* Handler method. Called every time client leaves room scope.
- *
+ *
* @param client
* Disconnected client object
* @param room
@@ -734,7 +734,7 @@ public void roomLeave(IClient client, IScope room) {
/**
* Try to measure bandwidth of current connection.
- *
+ *
* This is required for some FLV player to work because they require the "onBWDone" method to be called on the connection.
*/
public void measureBandwidth() {
@@ -743,9 +743,9 @@ public void measureBandwidth() {
/**
* Try to measure bandwidth of given connection.
- *
+ *
* This is required for some FLV player to work because they require the "onBWDone" method to be called on the connection.
- *
+ *
* @param conn
* the connection to measure the bandwidth for
*/
@@ -759,20 +759,20 @@ public void measureBandwidth(IConnection conn) {
/**
* Creates a new shared object for given scope. Server-side shared objects (also known as Remote SO) are special kind of objects those
* variable are synchronized between clients. To get an instance of RSO at client-side, use
- *
+ *
*
* SharedObject.getRemote()
*
- *
+ *
* . SharedObjects can be persistent and transient. Persistent RSO are stateful, i.e. store their data between sessions. If you need to
* store some data on server while clients go back and forth use persistent SO (just use
- *
+ *
*
* true
*
- *
+ *
* ), otherwise prefer usage of transient for extra performance.
- *
+ *
* @param scope
* Scope that shared object belongs to
* @param name
@@ -788,7 +788,7 @@ public boolean createSharedObject(IScope scope, String name, boolean persistent)
/**
* Returns shared object from given scope by name.
- *
+ *
* @param scope
* Scope that shared object belongs to
* @param name
@@ -802,7 +802,7 @@ public ISharedObject getSharedObject(IScope scope, String name) {
/**
* Returns shared object from given scope by name.
- *
+ *
* @param scope
* Scope that shared object belongs to
* @param name
@@ -818,7 +818,7 @@ public ISharedObject getSharedObject(IScope scope, String name, boolean persiste
/**
* Returns available SharedObject names as List
- *
+ *
* @param scope
* Scope that SO belong to
*/
@@ -829,7 +829,7 @@ public Set
* NetStream.play
*
- *
+ *
* call.
- *
+ *
* @param scope
* Scope to retrieve broadcasted stream names
* @return List of broadcasted stream names.
@@ -903,12 +903,12 @@ public Set
- *
+ *
*
* if (!hasAttribute(name))
* setAttribute(name, defaultValue);
* return getAttribute(name);
*
- *
+ *
* @param name
* the name of the attribute to get
* @param defaultValue
@@ -113,7 +113,7 @@ public interface IAttributeStore extends AttributeStoreMXBean {
/**
* Check the object has an attribute.
- *
+ *
* @param name
* the name of the attribute to check
* @return true if the attribute exists otherwise false
@@ -131,7 +131,7 @@ public interface IAttributeStore extends AttributeStoreMXBean {
/**
* Remove an attribute.
- *
+ *
* @param name
* the name of the attribute to remove
* @return true if the attribute was found and removed otherwise false
@@ -154,7 +154,7 @@ public interface IAttributeStore extends AttributeStoreMXBean {
/**
* Size of the attribute store.
- *
+ *
* @return count of attributes
*/
public int size();
diff --git a/common/src/main/java/org/red5/server/api/ICastingAttributeStore.java b/common/src/main/java/org/red5/server/api/ICastingAttributeStore.java
index 9e0b98c8f..d74beb923 100644
--- a/common/src/main/java/org/red5/server/api/ICastingAttributeStore.java
+++ b/common/src/main/java/org/red5/server/api/ICastingAttributeStore.java
@@ -13,7 +13,7 @@
/**
* Attribute storage with automatic object casting support.
- *
+ *
* @author The Red5 Project
* @author Joachim Bauch (jojo@struktur.de)
*/
@@ -21,7 +21,7 @@ public interface ICastingAttributeStore extends IAttributeStore {
/**
* Get Boolean attribute by name
- *
+ *
* @param name
* Attribute name
* @return Attribute
@@ -30,7 +30,7 @@ public interface ICastingAttributeStore extends IAttributeStore {
/**
* Get Byte attribute by name
- *
+ *
* @param name
* Attribute name
* @return Attribute
@@ -39,7 +39,7 @@ public interface ICastingAttributeStore extends IAttributeStore {
/**
* Get Double attribute by name
- *
+ *
* @param name
* Attribute name
* @return Attribute
@@ -48,7 +48,7 @@ public interface ICastingAttributeStore extends IAttributeStore {
/**
* Get Integer attribute by name
- *
+ *
* @param name
* Attribute name
* @return Attribute
@@ -57,7 +57,7 @@ public interface ICastingAttributeStore extends IAttributeStore {
/**
* Get List attribute by name
- *
+ *
* @param name
* Attribute name
* @return Attribute
@@ -66,7 +66,7 @@ public interface ICastingAttributeStore extends IAttributeStore {
/**
* Get boolean attribute by name
- *
+ *
* @param name
* Attribute name
* @return Attribute
@@ -75,7 +75,7 @@ public interface ICastingAttributeStore extends IAttributeStore {
/**
* Get Long attribute by name
- *
+ *
* @param name
* Attribute name
* @return Attribute
@@ -84,7 +84,7 @@ public interface ICastingAttributeStore extends IAttributeStore {
/**
* Get Set attribute by name
- *
+ *
* @param name
* Attribute name
* @return Attribute
@@ -93,7 +93,7 @@ public interface ICastingAttributeStore extends IAttributeStore {
/**
* Get Short attribute by name
- *
+ *
* @param name
* Attribute name
* @return Attribute
@@ -102,7 +102,7 @@ public interface ICastingAttributeStore extends IAttributeStore {
/**
* Get String attribute by name
- *
+ *
* @param name
* Attribute name
* @return Attribute
diff --git a/common/src/main/java/org/red5/server/api/IClient.java b/common/src/main/java/org/red5/server/api/IClient.java
index 8544dbe39..149df342f 100644
--- a/common/src/main/java/org/red5/server/api/IClient.java
+++ b/common/src/main/java/org/red5/server/api/IClient.java
@@ -16,10 +16,10 @@
/**
* The client object represents a single client. One client may have multiple connections to different scopes on the same host. In some ways the client object is like a HTTP session. You can create IClient objects with {@link IClientRegistry#newClient(Object[])}
- *
- *
+ *
+ *
* NOTE: I removed session, since client serves the same purpose as a client with attributes
- *
+ *
* @author The Red5 Project
* @author Luke Hubbard (luke@codegent.com)
*/
@@ -32,28 +32,28 @@ public interface IClient extends IAttributeStore {
/**
* Get the unique ID for this client. This will be generated by the server if not passed upon connection from client-side Flex/Flash app. To assign a custom ID to the client use
- *
+ *
*
* params
*
- *
+ *
* object of {@link IApplication#appConnect(IConnection, Object[])} method, that contains 2nd all the rest values you pass to
- *
+ *
*
* NetConnection.connect
*
- *
+ *
* method.
* Example:
* At client side:
- *
+ *
*
* NetConnection.connect("http://localhost/killerapp/", "user123");
*
- *
+ *
*
* then at server side:
- *
+ *
*
* public boolean appConnect(IConnection connection, Object[] params) {
* try {
@@ -63,35 +63,35 @@ public interface IClient extends IAttributeStore {
* }
* }
*
- *
+ *
* @return client id
*/
public String getId();
/**
* Get the creation time for this client object.
- *
+ *
* @return Creation time in milliseconds
*/
public long getCreationTime();
/**
* Get a set of scopes the client is connected to.
- *
+ *
* @return Set of scopes
*/
public Collection
* null
*
- *
+ *
* for no permissions.
*/
public void setPermissions(IConnection conn, Collection
* true
*
- *
+ *
* if the client has the permission, otherwise
- *
+ *
*
* false
*
@@ -154,7 +154,7 @@ public interface IClient extends IAttributeStore {
/**
* Performs a bandwidth checking callback for the client. Information may be found here: http://www.adobe.com/devnet/flashmediaserver/articles/dynamic_stream_switching_04.html
- *
+ *
* @param params
* parameters
* @return bandwidth results
@@ -163,7 +163,7 @@ public interface IClient extends IAttributeStore {
/**
* Returns whether or not a bandwidth check has been requested.
- *
+ *
* @return true if requested and false otherwise
*/
public boolean isBandwidthChecked();
diff --git a/common/src/main/java/org/red5/server/api/IClientRegistry.java b/common/src/main/java/org/red5/server/api/IClientRegistry.java
index 04422b001..1e7248766 100644
--- a/common/src/main/java/org/red5/server/api/IClientRegistry.java
+++ b/common/src/main/java/org/red5/server/api/IClientRegistry.java
@@ -12,7 +12,7 @@
/**
* Provides a registry of client objects. You can lookup a client by its client id / session id using lookupClient method. This interface implementations also create new client objects from given params, usually passed from client-side Flex/Flash application upon initial connection.
- *
+ *
* @author The Red5 Project
* @author Luke Hubbard (luke@codegent.com)
*/
@@ -20,26 +20,26 @@ public interface IClientRegistry {
/**
* Check if a client with a given id exists.
- *
+ *
* @param id
* the id of the client to check for
* @return
* true
*
- *
+ *
* if the client exists,
- *
+ *
*
* false
*
- *
+ *
* otherwise
*/
public boolean hasClient(String id);
/**
* Create a new client client object from connection params.
- *
+ *
* @param params
* the parameters the client passed during connection
* @return the new client
@@ -52,7 +52,7 @@ public interface IClientRegistry {
/**
* Return an existing client from a client id.
- *
+ *
* @param id
* the id of the client to return
* @return the client object
@@ -63,7 +63,7 @@ public interface IClientRegistry {
/**
* Adds a client to the registry.
- *
+ *
* @param client
* client
*/
diff --git a/common/src/main/java/org/red5/server/api/IConnection.java b/common/src/main/java/org/red5/server/api/IConnection.java
index 79fd2cb08..966f2f4f1 100644
--- a/common/src/main/java/org/red5/server/api/IConnection.java
+++ b/common/src/main/java/org/red5/server/api/IConnection.java
@@ -17,9 +17,9 @@
/**
* The connection object.
- *
+ *
* Each connection has an associated client and scope. Connections may be persistent, polling, or transient. The aim of this interface is to provide basic connection methods shared between different types of connections.
- *
+ *
* @author The Red5 Project
* @author Luke Hubbard (luke@codegent.com)
* @author Paul Gregoire (mondain@gmail.com)
@@ -52,7 +52,7 @@ public static enum Type {
/**
* Get the connection type.
- *
+ *
* @return string containing one of connection types
*/
@Deprecated
@@ -60,35 +60,35 @@ public static enum Type {
/**
* Get the connection type.
- *
+ *
* @return connection type containing one of connection types
*/
//public Type getType(); // PERSISTENT | POLLING | TRANSIENT
/**
* Get the object encoding in use for this connection.
- *
+ *
* @return encoding type
*/
public Encoding getEncoding();
/**
* Get the duty for this connection; this is not meant nor expected to remain static.
- *
+ *
* @return duty type
*/
public Duty getDuty();
/**
* Initialize the connection.
- *
+ *
* @param client Client object associated with connection
*/
public void initialize(IClient client);
/**
* Try to connect to the scope.
- *
+ *
* @return true on success, false otherwise
* @param scope Scope object
*/
@@ -96,7 +96,7 @@ public static enum Type {
/**
* Try to connect to the scope with a list of connection parameters.
- *
+ *
* @param params Connections parameters
* @return true on success, false otherwise
* @param scope Scope object
@@ -106,7 +106,7 @@ public static enum Type {
/**
* Is the client connected to the scope. Result depends on connection type, true for persistent and polling connections,
* false for transient.
- *
+ *
* @return true if the connection is persistent or polling, otherwise false
*/
public boolean isConnected();
@@ -118,112 +118,112 @@ public static enum Type {
/**
* Return the parameters that were given in the call to "connect".
- *
+ *
* @return Connection parameters passed from client-side (Flex/Flash application)
*/
public Map
* null
*
@@ -61,7 +61,7 @@ public interface IServer {
/**
* Map a virtual hostname and a path to the name of a global scope.
- *
+ *
* @param hostName
* The name of the host to map
* @param contextPath
@@ -71,9 +71,9 @@ public interface IServer {
* @return
* true
*
- *
+ *
* if the name was mapped, otherwise
- *
+ *
*
* false
*
@@ -82,7 +82,7 @@ public interface IServer {
/**
* Unregister a previously mapped global scope.
- *
+ *
* @param hostName
* The name of the host to unmap
* @param contextPath
@@ -90,9 +90,9 @@ public interface IServer {
* @return
* true
*
- *
+ *
* if the global scope was unmapped, otherwise
- *
+ *
*
* false
*
@@ -101,28 +101,28 @@ public interface IServer {
/**
* Query informations about the global scope mappings.
- *
+ *
* @return Map containing informations about the mappings
*/
public Map
- *
+ *
*
* IConnection conn = Red5.getConnectionLocal();
* Red5 r5 = new Red5();
@@ -32,7 +32,7 @@
* r5 = new Red5(conn);
* IClient client = r5.getClient();
*
- *
+ *
* @author The Red5 Project
* @author Luke Hubbard (luke@codegent.com)
* @author Paul Gregoire (mondain@gmail.com)
@@ -55,12 +55,12 @@ public final class Red5 {
/**
* Server version with revision
*/
- public static final String VERSION = "Red5 Server 1.2.24";
+ public static final String VERSION = "Red5 Server 1.2.31";
/**
* Server version for fmsVer requests
*/
- public static final String FMS_VERSION = "RED5/1,2,24,0";
+ public static final String FMS_VERSION = "RED5/1,2,31,0";
/**
* Server capabilities
@@ -96,7 +96,7 @@ public final class Red5 {
/**
* Create a new Red5 object using given connection.
- *
+ *
* @param conn
* Connection object.
*/
@@ -141,7 +141,7 @@ public static void setConnectionLocal(IConnection connection) {
/**
* Get the connection associated with the current thread. This method allows you to get connection object local to current thread. When you need to get a connection associated with event handler and so forth, this method provides you with it.
- *
+ *
* @return Connection object
*/
public static IConnection getConnectionLocal() {
@@ -157,7 +157,7 @@ public static IConnection getConnectionLocal() {
/**
* Get the connection object.
- *
+ *
* @return Connection object
*/
public IConnection getConnection() {
@@ -166,7 +166,7 @@ public IConnection getConnection() {
/**
* Get the scope
- *
+ *
* @return Scope object
*/
public IScope getScope() {
@@ -175,7 +175,7 @@ public IScope getScope() {
/**
* Get the client
- *
+ *
* @return Client object
*/
public IClient getClient() {
@@ -184,7 +184,7 @@ public IClient getClient() {
/**
* Get the spring application context
- *
+ *
* @return Application context
*/
public IContext getContext() {
@@ -193,7 +193,7 @@ public IContext getContext() {
/**
* Returns the current version with revision number
- *
+ *
* @return String version
*/
public static String getVersion() {
@@ -219,7 +219,7 @@ public static Object getDataVersion() {
/**
* Returns true if java debugging was detected.
- *
+ *
* @return true if debugging, false otherwise
*/
public static boolean isDebug() {
@@ -237,7 +237,7 @@ public static long getUpTime() {
/**
* Allows for reconstruction via CompositeData.
- *
+ *
* @param cd
* composite data
* @return Red5 class instance
@@ -259,7 +259,7 @@ public static Red5 from(CompositeData cd) {
/**
* Sets the target chunk size to use for publish and play invocations. Default is 128.
- *
+ *
* @param targetChunkSize the chunk size to use
*/
public static void setTargetChunkSize(int targetChunkSize) {
@@ -268,7 +268,7 @@ public static void setTargetChunkSize(int targetChunkSize) {
/**
* Returns the target chunk size.
- *
+ *
* @return targetChunkSize
*/
public static int getTargetChunkSize() {
diff --git a/common/src/main/java/org/red5/server/api/event/IEvent.java b/common/src/main/java/org/red5/server/api/event/IEvent.java
index 362a55f8c..c4a844f39 100644
--- a/common/src/main/java/org/red5/server/api/event/IEvent.java
+++ b/common/src/main/java/org/red5/server/api/event/IEvent.java
@@ -14,38 +14,38 @@ public interface IEvent {
/**
* Returns even type
- *
+ *
* @return Event type enumeration
*/
public Type getType();
/**
* Returns event context object
- *
+ *
* @return Event context object
*/
public Object getObject();
/**
* Whether event has source (event listener(s))
- *
+ *
* @return
* true
*
- *
+ *
* if so,
- *
+ *
*
* false
*
- *
+ *
* otherwise
*/
public boolean hasSource();
/**
* Returns event listener
- *
+ *
* @return Event listener object
*/
public IEventListener getSource();
diff --git a/common/src/main/java/org/red5/server/api/event/IEventDispatcher.java b/common/src/main/java/org/red5/server/api/event/IEventDispatcher.java
index 882e864f9..d0a3e5f9b 100644
--- a/common/src/main/java/org/red5/server/api/event/IEventDispatcher.java
+++ b/common/src/main/java/org/red5/server/api/event/IEventDispatcher.java
@@ -14,7 +14,7 @@ public interface IEventDispatcher {
/**
* Dispatches event
- *
+ *
* @param event
* Event object
*/
diff --git a/common/src/main/java/org/red5/server/api/event/IEventHandler.java b/common/src/main/java/org/red5/server/api/event/IEventHandler.java
index 9e1047966..65e07caa6 100644
--- a/common/src/main/java/org/red5/server/api/event/IEventHandler.java
+++ b/common/src/main/java/org/red5/server/api/event/IEventHandler.java
@@ -11,7 +11,7 @@ public interface IEventHandler {
/**
* Handle an event.
- *
+ *
* @param event
* to handle
* @return true if event was handled, false if it should bubble
diff --git a/common/src/main/java/org/red5/server/api/event/IEventListener.java b/common/src/main/java/org/red5/server/api/event/IEventListener.java
index b0c968b62..38c92286f 100644
--- a/common/src/main/java/org/red5/server/api/event/IEventListener.java
+++ b/common/src/main/java/org/red5/server/api/event/IEventListener.java
@@ -11,7 +11,7 @@ public interface IEventListener {
/**
* Notify of event.
- *
+ *
* @param event
* the event object
*/
diff --git a/common/src/main/java/org/red5/server/api/event/IEventObservable.java b/common/src/main/java/org/red5/server/api/event/IEventObservable.java
index d3ea28566..b40e24ce2 100644
--- a/common/src/main/java/org/red5/server/api/event/IEventObservable.java
+++ b/common/src/main/java/org/red5/server/api/event/IEventObservable.java
@@ -16,7 +16,7 @@ public interface IEventObservable {
/**
* Add event listener to this observable
- *
+ *
* @param listener
* Event listener
* @return true if listener is added and false otherwise
@@ -25,7 +25,7 @@ public interface IEventObservable {
/**
* Remove event listener from this observable
- *
+ *
* @param listener
* Event listener
* @return true if listener is removed and false otherwise
diff --git a/common/src/main/java/org/red5/server/api/listeners/AbstractConnectionListener.java b/common/src/main/java/org/red5/server/api/listeners/AbstractConnectionListener.java
index f6602d1ce..aa5211266 100644
--- a/common/src/main/java/org/red5/server/api/listeners/AbstractConnectionListener.java
+++ b/common/src/main/java/org/red5/server/api/listeners/AbstractConnectionListener.java
@@ -6,7 +6,7 @@
/**
* Abstract implementation / adapter for connection listeners.
- *
+ *
* @author Paul Gregoire (mondain@gmail.com)
*
*/
@@ -20,7 +20,7 @@ public abstract class AbstractConnectionListener implements IConnectionListener
@Override
public void propertyChange(PropertyChangeEvent evt) {
- // empty implementation to prevent breaking previous apps.
+ // empty implementation to prevent breaking previous apps.
}
}
diff --git a/common/src/main/java/org/red5/server/api/listeners/IConnectionListener.java b/common/src/main/java/org/red5/server/api/listeners/IConnectionListener.java
index 0d5aa5bb1..eb3a6ae02 100644
--- a/common/src/main/java/org/red5/server/api/listeners/IConnectionListener.java
+++ b/common/src/main/java/org/red5/server/api/listeners/IConnectionListener.java
@@ -13,17 +13,17 @@
/**
* Interface for listeners to connection events and property changes.
- *
+ *
* @author The Red5 Project
* @author Joachim Bauch (bauch@struktur.de)
* @author Paul Gregoire (mondain@gmail.com)
- *
+ *
*/
public interface IConnectionListener extends PropertyChangeListener {
/**
* A new connection was established.
- *
+ *
* @param conn
* the new connection
*/
@@ -31,7 +31,7 @@ public interface IConnectionListener extends PropertyChangeListener {
/**
* A connection was disconnected.
- *
+ *
* @param conn
* the disconnected connection
*/
diff --git a/common/src/main/java/org/red5/server/api/listeners/IScopeListener.java b/common/src/main/java/org/red5/server/api/listeners/IScopeListener.java
index 90d292b68..07f95c17f 100644
--- a/common/src/main/java/org/red5/server/api/listeners/IScopeListener.java
+++ b/common/src/main/java/org/red5/server/api/listeners/IScopeListener.java
@@ -11,7 +11,7 @@
/**
* Interface for listeners to scope events.
- *
+ *
* @author The Red5 Project
* @author Joachim Bauch (bauch@struktur.de)
*/
@@ -19,7 +19,7 @@ public interface IScopeListener {
/**
* A scope has been created.
- *
+ *
* @param scope
* the new scope
*/
@@ -27,7 +27,7 @@ public interface IScopeListener {
/**
* A scope has been removed.
- *
+ *
* @param scope
* the removed scope
*/
diff --git a/common/src/main/java/org/red5/server/api/persistence/IPersistable.java b/common/src/main/java/org/red5/server/api/persistence/IPersistable.java
index 51956ae58..f316ead64 100644
--- a/common/src/main/java/org/red5/server/api/persistence/IPersistable.java
+++ b/common/src/main/java/org/red5/server/api/persistence/IPersistable.java
@@ -14,14 +14,14 @@
/**
* Base interface for objects that can be made persistent.
- *
+ *
* Every object that complies to this interface must provide either a constructor that takes an input stream as only parameter or an empty constructor so it can be loaded from the persistence store.
- *
+ *
* However this is not required for objects that are created by the application and initialized afterwards.
- *
+ *
* @see org.red5.io.object.Input
* @see IPersistenceStore#load(String)
- *
+ *
* @author The Red5 Project
* @author Luke Hubbard (luke@codegent.com)
* @author Joachim Bauch (jojo@struktur.de)
@@ -36,61 +36,61 @@ public interface IPersistable {
/**
* Returns
- *
+ *
*
* true
*
- *
+ *
* if the object is persistent,
- *
+ *
*
* false
*
- *
+ *
* otherwise.
- *
+ *
* @return
* true
*
- *
+ *
* if object is persistent,
- *
+ *
*
* false
*
- *
+ *
* otherwise
*/
public boolean isPersistent();
/**
* Set the persistent flag of the object.
- *
+ *
* @param persistent
*
* true
*
- *
+ *
* if object is persistent,
- *
+ *
*
* false
*
- *
+ *
* otherwise
*/
public void setPersistent(boolean persistent);
/**
* Returns the name of the persistent object.
- *
+ *
* @return Object name
*/
public String getName();
/**
* Set the name of the persistent object.
- *
+ *
* @param name
* New object name
*/
@@ -98,21 +98,21 @@ public interface IPersistable {
/**
* Returns the type of the persistent object.
- *
+ *
* @return Object type
*/
public String getType();
/**
* Returns the path of the persistent object.
- *
+ *
* @return Persisted object path
*/
public String getPath();
/**
* Set the path of the persistent object.
- *
+ *
* @param path
* New persisted object path
*/
@@ -120,21 +120,21 @@ public interface IPersistable {
/**
* Returns the timestamp when the object was last modified.
- *
+ *
* @return Last modification date in milliseconds
*/
public long getLastModified();
/**
* Returns the persistence store this object is stored in
- *
+ *
* @return This object's persistence store
*/
public IPersistenceStore getStore();
/**
* Store a reference to the persistence store in the object.
- *
+ *
* @param store
* Store the object is saved in
*/
@@ -142,7 +142,7 @@ public interface IPersistable {
/**
* Write the object to the passed output stream.
- *
+ *
* @param output
* Output stream to write to
* @throws java.io.IOException
@@ -152,7 +152,7 @@ public interface IPersistable {
/**
* Load the object from the passed input stream.
- *
+ *
* @param input
* Input stream to load from
* @throws java.io.IOException
diff --git a/common/src/main/java/org/red5/server/api/persistence/IPersistenceStore.java b/common/src/main/java/org/red5/server/api/persistence/IPersistenceStore.java
index bac908f99..30a90a7b4 100644
--- a/common/src/main/java/org/red5/server/api/persistence/IPersistenceStore.java
+++ b/common/src/main/java/org/red5/server/api/persistence/IPersistenceStore.java
@@ -12,7 +12,7 @@
/**
* Storage for persistent objects.
- *
+ *
* @author The Red5 Project
* @author Luke Hubbard (luke@codegent.com)
* @author Joachim Bauch (jojo@struktur.de)
@@ -22,41 +22,41 @@ public interface IPersistenceStore {
/**
* Persist given object.
- *
+ *
* @param obj
* Object to store
* @return
* true
*
- *
+ *
* on success,
- *
+ *
*
* false
*
- *
+ *
* otherwise
*/
public boolean save(IPersistable obj);
/**
* Load a persistent object with the given name. The object must provide either a constructor that takes an input stream as only parameter or an empty constructor so it can be loaded from the persistence store.
- *
+ *
* @param name
* the name of the object to load
* @return The loaded object or
- *
+ *
*
* null
*
- *
+ *
* if no such object was found
*/
public IPersistable load(String name);
/**
* Load state of an already instantiated persistent object.
- *
+ *
* @param obj
* the object to initializ
* @return true if the object was initialized, false otherwise
@@ -65,52 +65,52 @@ public interface IPersistenceStore {
/**
* Delete the passed persistent object.
- *
+ *
* @param obj
* the object to delete
* @return
* true
*
- *
+ *
* if object was persisted and thus can be removed,
- *
+ *
*
* false
*
- *
+ *
* otherwise
*/
public boolean remove(IPersistable obj);
/**
* Delete the persistent object with the given name.
- *
+ *
* @param name
* the name of the object to delete
* @return
* true
*
- *
+ *
* if object was persisted and thus can be removed,
- *
+ *
*
* false
*
- *
+ *
* otherwise
*/
public boolean remove(String name);
/**
* Return iterator over the names of all already loaded objects in the storage.
- *
+ *
* @return Set of all object names
*/
public Set
* true
*
- *
+ *
* on success,
- *
+ *
*
* false
*
- *
+ *
* otherwise
*/
public abstract boolean isSuccess();
/**
* Returns service method name
- *
+ *
* @return Service method name as string
*/
public abstract String getServiceMethodName();
/**
* Returns service name
- *
+ *
* @return Service name
*/
public abstract String getServiceName();
/**
* Returns array of service method arguments
- *
+ *
* @return array of service method arguments
*/
public abstract Object[] getArguments();
/**
* Get service call status
- *
+ *
* @return service call status
*/
public abstract byte getStatus();
/**
* Returns the time stamp at which this object was deserialized.
- *
+ *
* @return the readTime
*/
public long getReadTime();
/**
* Returns the time stamp at which this object was serialized.
- *
+ *
* @return the writeTime
*/
public long getWriteTime();
/**
* Get service call exception
- *
+ *
* @return service call exception
*/
public abstract Exception getException();
/**
* Sets status
- *
+ *
* @param status
* Status as byte
*/
@@ -88,7 +88,7 @@ public interface IServiceCall {
/**
* Sets exception
- *
+ *
* @param exception
* Call exception
*/
diff --git a/common/src/main/java/org/red5/server/api/service/IServiceCapableConnection.java b/common/src/main/java/org/red5/server/api/service/IServiceCapableConnection.java
index cb04fdbe6..d4434111b 100644
--- a/common/src/main/java/org/red5/server/api/service/IServiceCapableConnection.java
+++ b/common/src/main/java/org/red5/server/api/service/IServiceCapableConnection.java
@@ -17,7 +17,7 @@
public interface IServiceCapableConnection extends IConnection {
/**
* Invokes service using remoting call object.
- *
+ *
* @param call
* Service call object
*/
@@ -25,7 +25,7 @@ public interface IServiceCapableConnection extends IConnection {
/**
* Invoke service using call and channel.
- *
+ *
* @param call
* Service call
* @param channel
@@ -35,7 +35,7 @@ public interface IServiceCapableConnection extends IConnection {
/**
* Invoke method by name.
- *
+ *
* @param method
* Called method name
*/
@@ -43,7 +43,7 @@ public interface IServiceCapableConnection extends IConnection {
/**
* Invoke method by name with callback.
- *
+ *
* @param method
* Called method name
* @param callback
@@ -53,7 +53,7 @@ public interface IServiceCapableConnection extends IConnection {
/**
* Invoke method with parameters.
- *
+ *
* @param method
* Method name
* @param params
@@ -101,7 +101,7 @@ public interface IServiceCapableConnection extends IConnection {
/**
* Notify method with parameters.
- *
+ *
* @param method
* by name
* @param params
@@ -111,7 +111,7 @@ public interface IServiceCapableConnection extends IConnection {
/**
* Sends a status object to the connection.
- *
+ *
* @param status
* Status
*/
@@ -119,7 +119,7 @@ public interface IServiceCapableConnection extends IConnection {
/**
* Sends a status object to the connection on a given channel.
- *
+ *
* @param status
* Status
* @param channel
diff --git a/common/src/main/java/org/red5/server/api/service/IServiceHandlerProvider.java b/common/src/main/java/org/red5/server/api/service/IServiceHandlerProvider.java
index c3e5e5e1b..0371584bd 100644
--- a/common/src/main/java/org/red5/server/api/service/IServiceHandlerProvider.java
+++ b/common/src/main/java/org/red5/server/api/service/IServiceHandlerProvider.java
@@ -11,7 +11,7 @@
/**
* Supports registration and lookup of service handlers.
- *
+ *
* @author The Red5 Project
* @author Joachim Bauch (jojo@struktur.de)
*/
@@ -21,25 +21,25 @@ public interface IServiceHandlerProvider {
* Register an object that provides methods which can be called from a client.
* Example:
* If you registered a handler with the name "
- *
+ *
*
* one.two
*
- *
+ *
* " that provides a method "
- *
+ *
*
* callMe
*
- *
+ *
* ", you can call a method "
- *
+ *
*
* one.two.callMe
*
- *
+ *
* " from the client.
- *
+ *
* @param name
* the name of the handler
* @param handler
@@ -49,7 +49,7 @@ public interface IServiceHandlerProvider {
/**
* Unregister service handler.
- *
+ *
* @param name
* the name of the handler
*/
@@ -57,7 +57,7 @@ public interface IServiceHandlerProvider {
/**
* Return a previously registered service handler.
- *
+ *
* @param name
* the name of the handler to return
* @return the previously registered handler
@@ -66,7 +66,7 @@ public interface IServiceHandlerProvider {
/**
* Get list of registered service handler names.
- *
+ *
* @return the names of the registered handlers
*/
public Set
* true
*
- *
+ *
* if the call was performed, otherwise
- *
+ *
*
* false
*
@@ -38,7 +38,7 @@ public interface IServiceInvoker {
/**
* Execute the passed service call in the given object.
- *
+ *
* @param call
* the call to invoke
* @param service
@@ -46,9 +46,9 @@ public interface IServiceInvoker {
* @return
* true
*
- *
+ *
* if the call was performed, otherwise
- *
+ *
*
* false
*
diff --git a/common/src/main/java/org/red5/server/api/service/IStreamSecurityService.java b/common/src/main/java/org/red5/server/api/service/IStreamSecurityService.java
index d3f117abe..dd0eda896 100644
--- a/common/src/main/java/org/red5/server/api/service/IStreamSecurityService.java
+++ b/common/src/main/java/org/red5/server/api/service/IStreamSecurityService.java
@@ -15,7 +15,7 @@
/**
* Service that supports protecting access to streams.
- *
+ *
* @author The Red5 Project
* @author Joachim Bauch (jojo@struktur.de)
*/
@@ -28,7 +28,7 @@ public interface IStreamSecurityService extends IScopeService {
/**
* Add handler that protects stream publishing.
- *
+ *
* @param handler
* Handler to add.
*/
@@ -36,7 +36,7 @@ public interface IStreamSecurityService extends IScopeService {
/**
* Remove handler that protects stream publishing.
- *
+ *
* @param handler
* Handler to remove.
*/
@@ -44,14 +44,14 @@ public interface IStreamSecurityService extends IScopeService {
/**
* Get handlers that protect stream publishing.
- *
+ *
* @return list of handlers
*/
public Set
* true
*
- *
+ *
* if the connection supports method calls, otherwise
- *
+ *
*
* false
*
@@ -263,7 +263,7 @@ public static boolean notifyOnConnection(String method, Object[] params) {
/**
* Notify a method on a given connection.
- *
+ *
* @param conn
* connection to notify method on
* @param method
@@ -273,9 +273,9 @@ public static boolean notifyOnConnection(String method, Object[] params) {
* @return
* true
*
- *
+ *
* if the connection supports method calls, otherwise
- *
+ *
*
* false
*
@@ -291,7 +291,7 @@ public static boolean notifyOnConnection(IConnection conn, String method, Object
/**
* Notify a method on all connections to the current scope.
- *
+ *
* @param method
* name of the method to notify
* @param params
@@ -311,7 +311,7 @@ public static void notifyOnAllConnections(String method, Object[] params) {
/**
* Notify a method on all connections to a given scope.
- *
+ *
* @param scope
* scope to get connections for
* @param method
@@ -327,7 +327,7 @@ public static void notifyOnAllConnections(IScope scope, String method, Object[]
/**
* Notify a method on all connections of a scope.
- *
+ *
* @param scope
* scope to dispatch event
* @param method
@@ -342,7 +342,7 @@ public static void notifyOnAllScopeConnections(IScope scope, String method, Obje
/**
* Notify a method on all connections of a client to a given scope.
- *
+ *
* @param client
* client to get connections for
* @param scope
diff --git a/common/src/main/java/org/red5/server/api/so/IClientSharedObject.java b/common/src/main/java/org/red5/server/api/so/IClientSharedObject.java
index 9437c4cca..cd057f428 100644
--- a/common/src/main/java/org/red5/server/api/so/IClientSharedObject.java
+++ b/common/src/main/java/org/red5/server/api/so/IClientSharedObject.java
@@ -11,7 +11,7 @@
/**
* Clientside access to shared objects.
- *
+ *
* @author The Red5 Project
* @author Joachim Bauch (jojo@struktur.de)
*/
@@ -19,7 +19,7 @@ public interface IClientSharedObject extends ISharedObjectBase {
/**
* Connect the shared object using the passed connection.
- *
+ *
* @param conn
* connect to connect to
*/
@@ -27,7 +27,7 @@ public interface IClientSharedObject extends ISharedObjectBase {
/**
* Check if the shared object is connected to the server.
- *
+ *
* @return is connected
*/
public boolean isConnected();
diff --git a/common/src/main/java/org/red5/server/api/so/ISharedObject.java b/common/src/main/java/org/red5/server/api/so/ISharedObject.java
index 32c81b720..3bac3211b 100644
--- a/common/src/main/java/org/red5/server/api/so/ISharedObject.java
+++ b/common/src/main/java/org/red5/server/api/so/ISharedObject.java
@@ -12,7 +12,7 @@
/**
* Serverside access to shared objects.
- *
+ *
* @author The Red5 Project
* @author Joachim Bauch (jojo@struktur.de)
*/
@@ -20,32 +20,32 @@ public interface ISharedObject extends IBasicScope, ISharedObjectBase, ISharedOb
/**
* Prevent shared object from being released. Each call to
- *
+ *
*
* acquire
*
- *
+ *
* must be paired with a call to
- *
+ *
*
* release
*
- *
+ *
* so the SO isn't held forever.
- *
+ *
* This method basically is a no-op for persistent SOs as their data is stored and they can be released without losing their contents.
*/
public void acquire();
/**
* Check if shared object currently is acquired.
- *
+ *
* @return
* true
*
- *
+ *
* if the SO is acquired, otherwise
- *
+ *
*
* false
*
@@ -59,14 +59,14 @@ public interface ISharedObject extends IBasicScope, ISharedObjectBase, ISharedOb
/**
* Return statistics about the shared object.
- *
+ *
* @return statistics
*/
public ISharedObjectStatistics getStatistics();
/**
* Sets a "dirty" flag to indicate that the attributes have been modified.
- *
+ *
* @param dirty if dirty / modified
*/
@Deprecated
@@ -74,7 +74,7 @@ public interface ISharedObject extends IBasicScope, ISharedObjectBase, ISharedOb
/**
* Sets a "dirty" flag to indicate that the named attribute has been modified.
- *
+ *
* @param name attribute key which is now dirty
*/
void setDirty(String name);
diff --git a/common/src/main/java/org/red5/server/api/so/ISharedObjectBase.java b/common/src/main/java/org/red5/server/api/so/ISharedObjectBase.java
index 2ef78377b..97cb918c8 100644
--- a/common/src/main/java/org/red5/server/api/so/ISharedObjectBase.java
+++ b/common/src/main/java/org/red5/server/api/so/ISharedObjectBase.java
@@ -15,9 +15,9 @@
/**
* Base interface for shared objects. Changes to the shared objects are propagated to all subscribed clients.
- *
+ *
* If you want to modify multiple attributes and notify the clients about all changes at once, you can use code like this:
- *
+ *
*
* SharedObject.beginUpdate();
* SharedObject.setAttribute("One", '1');
@@ -25,9 +25,9 @@
* SharedObject.removeAttribute("Three");
* SharedObject.endUpdate();
*
- *
+ *
* All changes between "beginUpdate" and "endUpdate" will be sent to the clients using one notification event.
- *
+ *
* @author The Red5 Project
* @author Joachim Bauch (jojo@struktur.de)
*/
@@ -35,14 +35,14 @@ public interface ISharedObjectBase extends ISharedObjectHandlerProvider, ICastin
/**
* Returns the version of the shared object. The version is incremented automatically on each modification.
- *
+ *
* @return the version of the shared object
*/
public int getVersion();
/**
* Check if the object has been created as persistent shared object by the client.
- *
+ *
* @return true if the shared object is persistent, false otherwise
*/
public boolean isPersistent();
@@ -50,14 +50,14 @@ public interface ISharedObjectBase extends ISharedObjectHandlerProvider, ICastin
/**
* Return a map containing all attributes of the shared object.
* NOTE: The returned map will be read-only.
- *
+ *
* @return a map containing all attributes of the shared object
*/
public Map
* true
*
- *
+ *
* if the shared object was created or already exists, otherwise
- *
+ *
*
* false
*
@@ -52,24 +52,24 @@ public interface ISharedObjectService extends IScopeService {
/**
* Get a shared object by name.
- *
+ *
* @param scope
* the scope to get the shared object from
* @param name
* the name of the shared object
* @return shared object, or
- *
+ *
*
* null
*
- *
+ *
* if not found
*/
public ISharedObject getSharedObject(IScope scope, String name);
/**
* Get a shared object by name and create it if it doesn't exist.
- *
+ *
* @param scope
* the scope to get the shared object from
* @param name
@@ -82,7 +82,7 @@ public interface ISharedObjectService extends IScopeService {
/**
* Check if a shared object exists.
- *
+ *
* @param scope
* the scope to check for the shared object
* @param name
@@ -90,9 +90,9 @@ public interface ISharedObjectService extends IScopeService {
* @return
* true
*
- *
+ *
* if the shared object exists, otherwise
- *
+ *
*
* false
*
@@ -115,7 +115,7 @@ public interface ISharedObjectService extends IScopeService {
* If you call the clearSharedObjects() method and the specified path matches a shared object that is currently active, all its properties are deleted, and a "clear" event is sent to all subscribers of the shared object. If it is a persistent shared object, the persistent store is also cleared.
*
* null *- * + * * if the stream is not being saved. */ public String getSaveFilename(); /** * Get stream publish name. Publish name is the value of the first parameter had been passed to - * + * *
* NetStream.publish *- * + * * on client side in SWF. - * + * * @return Stream publish name */ public String getPublishedName(); /** * Return total number of subscribers. - * + * * @return number of subscribers */ public int getTotalSubscribers(); /** * Return maximum number of concurrent subscribers. - * + * * @return number of subscribers */ public int getMaxSubscribers(); /** * Return current number of subscribers. - * + * * @return number of subscribers */ public int getActiveSubscribers(); /** * Return total number of bytes received from client for this stream. - * + * * @return number of bytes */ public long getBytesReceived(); diff --git a/common/src/main/java/org/red5/server/api/statistics/IPlaylistSubscriberStreamStatistics.java b/common/src/main/java/org/red5/server/api/statistics/IPlaylistSubscriberStreamStatistics.java index f09b8fe92..0e698deb0 100644 --- a/common/src/main/java/org/red5/server/api/statistics/IPlaylistSubscriberStreamStatistics.java +++ b/common/src/main/java/org/red5/server/api/statistics/IPlaylistSubscriberStreamStatistics.java @@ -9,7 +9,7 @@ /** * Statistical informations about a stream that is subscribed by a client. - * + * * @author The Red5 Project * @author Joachim Bauch (jojo@struktur.de) */ @@ -17,21 +17,21 @@ public interface IPlaylistSubscriberStreamStatistics extends IStreamStatistics { /** * Return total number of bytes sent to the client from this stream. - * + * * @return number of bytes */ public long getBytesSent(); /** * Return the buffer duration as requested by the client. - * + * * @return the buffer duration in milliseconds */ public int getClientBufferDuration(); /** * Return estimated fill ratio of the client buffer. - * + * * @return fill ratio in percent */ public double getEstimatedBufferFill(); diff --git a/common/src/main/java/org/red5/server/api/statistics/IScopeStatistics.java b/common/src/main/java/org/red5/server/api/statistics/IScopeStatistics.java index 2b2946ecd..4364c6f99 100644 --- a/common/src/main/java/org/red5/server/api/statistics/IScopeStatistics.java +++ b/common/src/main/java/org/red5/server/api/statistics/IScopeStatistics.java @@ -9,7 +9,7 @@ /** * Statistical informations about a scope. - * + * * @author The Red5 Project * @author Joachim Bauch (jojo@struktur.de) */ @@ -17,96 +17,96 @@ public interface IScopeStatistics extends IStatisticsBase { /** * Get the name of this scope. Eg. - * + * *
* someroom *- * + * * . - * + * * @return the name */ public String getName(); /** * Get the full absolute path. Eg. - * + * *
* host / myapp / someroom *- * + * * . - * + * * @return Absolute scope path */ public String getPath(); /** * Get the scopes depth, how far down the scope tree is it. The lowest depth is 0x00, the depth of Global scope. Application scope depth is 0x01. Room depth is 0x02, 0x03 and so forth. - * + * * @return the depth */ public int getDepth(); /** * Return total number of connections to the scope. - * + * * @return number of connections */ public int getTotalConnections(); /** * Return maximum number of concurrent connections to the scope. - * + * * @return number of connections */ public int getMaxConnections(); /** * Return current number of connections to the scope. - * + * * @return number of connections */ public int getActiveConnections(); /** * Return total number of clients connected to the scope. - * + * * @return number of clients */ public int getTotalClients(); /** * Return maximum number of clients concurrently connected to the scope. - * + * * @return number of clients */ public int getMaxClients(); /** * Return current number of clients connected to the scope. - * + * * @return number of clients */ public int getActiveClients(); /** * Return total number of subscopes created. - * + * * @return number of subscopes created */ public int getTotalSubscopes(); /** * Return maximum number of concurrently existing subscopes. - * + * * @return number of subscopes */ public int getMaxSubscopes(); /** * Return number of currently existing subscopes. - * + * * @return number of subscopes */ public int getActiveSubscopes(); diff --git a/common/src/main/java/org/red5/server/api/statistics/ISharedObjectStatistics.java b/common/src/main/java/org/red5/server/api/statistics/ISharedObjectStatistics.java index 6f9df3db6..cc8cede89 100644 --- a/common/src/main/java/org/red5/server/api/statistics/ISharedObjectStatistics.java +++ b/common/src/main/java/org/red5/server/api/statistics/ISharedObjectStatistics.java @@ -9,7 +9,7 @@ /** * Statistics informations about a shared object. - * + * * @author The Red5 Project * @author Joachim Bauch (jojo@struktur.de) */ @@ -17,20 +17,20 @@ public interface ISharedObjectStatistics extends IStatisticsBase { /** * Return the name of the shared object. - * + * * @return the name of the shared object */ public String getName(); /** * Check if the shared object is persistent. - * + * * @return
* True *- * + * * if the shared object is persistent, otherwise - * + * *
* False *@@ -39,49 +39,49 @@ public interface ISharedObjectStatistics extends IStatisticsBase { /** * Return the version number of the shared object. - * + * * @return the version */ public int getVersion(); /** * Return total number of subscribed listeners. - * + * * @return number of listeners */ public int getTotalListeners(); /** * Return maximum number of concurrent subscribed listenes. - * + * * @return number of listeners */ public int getMaxListeners(); /** * Return current number of subscribed listeners. - * + * * @return number of listeners */ public int getActiveListeners(); /** * Return number of attribute changes. - * + * * @return number of changes */ public int getTotalChanges(); /** * Return number of attribute deletes. - * + * * @return number of deletes */ public int getTotalDeletes(); /** * Return number of times a message was sent. - * + * * @return number of sends */ public int getTotalSends(); diff --git a/common/src/main/java/org/red5/server/api/statistics/IStatisticsBase.java b/common/src/main/java/org/red5/server/api/statistics/IStatisticsBase.java index 3c2b3ae2a..cdf931861 100644 --- a/common/src/main/java/org/red5/server/api/statistics/IStatisticsBase.java +++ b/common/src/main/java/org/red5/server/api/statistics/IStatisticsBase.java @@ -9,7 +9,7 @@ /** * Base class for all statistics informations. - * + * * @author The Red5 Project * @author Joachim Bauch (jojo@struktur.de) */ @@ -17,7 +17,7 @@ public interface IStatisticsBase { /** * Return the timestamp the object was created. - * + * * @return the timestamp in milliseconds since midnight, January 1, 1970 UTC. */ public long getCreationTime(); diff --git a/common/src/main/java/org/red5/server/api/statistics/IStreamStatistics.java b/common/src/main/java/org/red5/server/api/statistics/IStreamStatistics.java index 030668092..f1f581124 100644 --- a/common/src/main/java/org/red5/server/api/statistics/IStreamStatistics.java +++ b/common/src/main/java/org/red5/server/api/statistics/IStreamStatistics.java @@ -9,7 +9,7 @@ /** * Base class for all stream statistics. - * + * * @author The Red5 Project * @author Joachim Bauch (jojo@struktur.de) */ @@ -17,7 +17,7 @@ public interface IStreamStatistics extends IStatisticsBase { /** * Return the currently active timestamp inside the stream. - * + * * @return the timestamp in milliseconds */ public int getCurrentTimestamp(); diff --git a/common/src/main/java/org/red5/server/api/statistics/support/StatisticsCounter.java b/common/src/main/java/org/red5/server/api/statistics/support/StatisticsCounter.java index 2d4ec4de0..4b7915fe4 100644 --- a/common/src/main/java/org/red5/server/api/statistics/support/StatisticsCounter.java +++ b/common/src/main/java/org/red5/server/api/statistics/support/StatisticsCounter.java @@ -11,7 +11,7 @@ /** * Counts numbers used by the statistics. Keeps track of current and total numbers. - * + * * @author The Red5 Project * @author Joachim Bauch (jojo@struktur.de) */ @@ -43,7 +43,7 @@ public void decrement() { /** * Get current number. - * + * * @return current number */ public int getCurrent() { @@ -52,7 +52,7 @@ public int getCurrent() { /** * Get total number. - * + * * @return total */ public int getTotal() { @@ -61,7 +61,7 @@ public int getTotal() { /** * Get maximum number. Use total instead. - * + * * @return max */ public int getMax() { diff --git a/common/src/main/java/org/red5/server/api/stream/IBroadcastStream.java b/common/src/main/java/org/red5/server/api/stream/IBroadcastStream.java index 95e5c2505..dd5973c34 100644 --- a/common/src/main/java/org/red5/server/api/stream/IBroadcastStream.java +++ b/common/src/main/java/org/red5/server/api/stream/IBroadcastStream.java @@ -15,8 +15,8 @@ /** * A broadcast stream is a stream source to be subscribed to by clients. To subscribe to a stream from your client Flash application use NetStream.play method. Broadcast stream can be saved at the server-side. - * - * + * + * * @author The Red5 Project * @author Luke Hubbard (luke@codegent.com) * @author Steven Gong (steven.gong@gmail.com) @@ -25,7 +25,7 @@ public interface IBroadcastStream extends IStream { /** * Save the broadcast stream as a file. - * + * * @param filePath * The path of the file relative to the scope. * @param isAppend @@ -41,39 +41,39 @@ public interface IBroadcastStream extends IStream { /** * Get the filename the stream is being saved as. - * + * * @return The filename relative to the scope or - * + * *
* null *- * + * * if the stream is not being saved. */ String getSaveFilename(); /** * Get the provider corresponding to this stream. Provider objects are object that - * + * * @return the provider */ IProvider getProvider(); /** * Get stream publish name. Publish name is the value of the first parameter had been passed to - * + * *
* NetStream.publish *- * + * * on client side in SWF. - * + * * @return Stream publish name */ String getPublishedName(); /** - * + * * @param name * Set stream publish name */ @@ -81,7 +81,7 @@ public interface IBroadcastStream extends IStream { /** * Add a listener to be notified about received packets. - * + * * @param listener * the listener to add */ @@ -89,7 +89,7 @@ public interface IBroadcastStream extends IStream { /** * Remove a listener from being notified about received packets. - * + * * @param listener * the listener to remove */ @@ -97,14 +97,14 @@ public interface IBroadcastStream extends IStream { /** * Return registered stream listeners. - * + * * @return the registered listeners */ public Collection
* true *- * + * * if more items are available, - * + * *
* false *- * + * * otherwise */ boolean hasMoreItems(); @@ -101,7 +101,7 @@ public interface IPlaylist { /** * Set the current item for playing. - * + * * @param index * Position in list */ @@ -109,24 +109,24 @@ public interface IPlaylist { /** * Whether items are randomly played. - * + * * @return
* true *- * + * * if shuffle is on for this list, - * + * *
* false *- * + * * otherwise */ boolean isRandom(); /** * Set whether items should be randomly played. - * + * * @param random * Shuffle flag */ @@ -134,24 +134,24 @@ public interface IPlaylist { /** * Whether rewind the list. - * + * * @return
* true *- * + * * if playlist is rewind on end, - * + * *
* false *- * + * * otherwise */ boolean isRewind(); /** * Set whether rewind the list. - * + * * @param rewind * New vallue for rewind flag */ @@ -159,24 +159,24 @@ public interface IPlaylist { /** * Whether repeat playing an item. - * + * * @return
* true *- * + * * if repeat mode is on for this playlist, - * + * *
* false *- * + * * otherwise */ boolean isRepeat(); /** * Set whether repeat playing an item. - * + * * @param repeat * New value for item playback repeat flag */ @@ -184,7 +184,7 @@ public interface IPlaylist { /** * Set list controller. - * + * * @param controller * Playlist controller */ diff --git a/common/src/main/java/org/red5/server/api/stream/IPlaylistController.java b/common/src/main/java/org/red5/server/api/stream/IPlaylistController.java index 75fc1dd97..6f7bd16d4 100644 --- a/common/src/main/java/org/red5/server/api/stream/IPlaylistController.java +++ b/common/src/main/java/org/red5/server/api/stream/IPlaylistController.java @@ -9,14 +9,14 @@ /** * A play list controller that controls the order of play items. - * + * * @author The Red5 Project * @author Steven Gong (steven.gong@gmail.com) */ public interface IPlaylistController { /** * Get next item to play. - * + * * @param playlist * The related play list. * @param itemIndex @@ -27,7 +27,7 @@ public interface IPlaylistController { /** * Get previous item to play. - * + * * @param playlist * The related play list. * @param itemIndex diff --git a/common/src/main/java/org/red5/server/api/stream/IPlaylistSubscriberStream.java b/common/src/main/java/org/red5/server/api/stream/IPlaylistSubscriberStream.java index 41ff80fbb..d5e32020d 100644 --- a/common/src/main/java/org/red5/server/api/stream/IPlaylistSubscriberStream.java +++ b/common/src/main/java/org/red5/server/api/stream/IPlaylistSubscriberStream.java @@ -16,14 +16,14 @@ public interface IPlaylistSubscriberStream extends ISubscriberStream, IPlaylist /** * Return statistics about this stream. - * + * * @return statistics */ public IPlaylistSubscriberStreamStatistics getStatistics(); /** * Handles a change occurring on the stream. - * + * * @param state * stream state that we are changing to or notifying of * @param changed @@ -33,7 +33,7 @@ public interface IPlaylistSubscriberStream extends ISubscriberStream, IPlaylist /** * Replaces an item in the list with another item. - * + * * @param oldItem * old play item * @param newItem diff --git a/common/src/main/java/org/red5/server/api/stream/IRtmpSampleAccess.java b/common/src/main/java/org/red5/server/api/stream/IRtmpSampleAccess.java index c1089f82e..1b89057ac 100644 --- a/common/src/main/java/org/red5/server/api/stream/IRtmpSampleAccess.java +++ b/common/src/main/java/org/red5/server/api/stream/IRtmpSampleAccess.java @@ -15,7 +15,7 @@ public interface IRtmpSampleAccess { /** * Return true if sample access allowed on audio stream. - * + * * @param scope * scope * @return true if sample access allowed on audio stream @@ -24,7 +24,7 @@ public interface IRtmpSampleAccess { /** * Return true if sample access allowed on video stream. - * + * * @param scope * scope * @return true if sample access allowed on video stream diff --git a/common/src/main/java/org/red5/server/api/stream/ISingleItemSubscriberStream.java b/common/src/main/java/org/red5/server/api/stream/ISingleItemSubscriberStream.java index 6e5db5644..0b206014e 100644 --- a/common/src/main/java/org/red5/server/api/stream/ISingleItemSubscriberStream.java +++ b/common/src/main/java/org/red5/server/api/stream/ISingleItemSubscriberStream.java @@ -9,7 +9,7 @@ /** * A subscriber stream that has only one item for play. - * + * * @author The Red5 Project * @author Steven Gong (steven.gong@gmail.com) */ diff --git a/common/src/main/java/org/red5/server/api/stream/IStream.java b/common/src/main/java/org/red5/server/api/stream/IStream.java index 0f119d34f..ba5c0d93b 100644 --- a/common/src/main/java/org/red5/server/api/stream/IStream.java +++ b/common/src/main/java/org/red5/server/api/stream/IStream.java @@ -17,21 +17,21 @@ public interface IStream { /** * Get the name of the stream. The name is unique across the server. This is just an id of the stream and NOT the name that is used at client side to subscribe to the stream. For that name, use {@link IBroadcastStream#getPublishedName()} - * + * * @return the name of the stream */ public String getName(); /** * Get Codec info for a stream. - * + * * @return codec info */ IStreamCodecInfo getCodecInfo(); /** * Get the scope this stream is associated with. - * + * * @return scope object */ public IScope getScope(); @@ -53,14 +53,14 @@ public interface IStream { /** * Returns the timestamp at which the stream was created. - * + * * @return creation timestamp */ public long getCreationTime(); /** * Returns the timestamp at which the stream was started. - * + * * @return started timestamp */ long getStartTime(); diff --git a/common/src/main/java/org/red5/server/api/stream/IStreamAwareScopeHandler.java b/common/src/main/java/org/red5/server/api/stream/IStreamAwareScopeHandler.java index cf4394ead..976b93b70 100644 --- a/common/src/main/java/org/red5/server/api/stream/IStreamAwareScopeHandler.java +++ b/common/src/main/java/org/red5/server/api/stream/IStreamAwareScopeHandler.java @@ -11,14 +11,14 @@ /** * A scope handler that is stream aware. - * + * * @author The Red5 Project * @author Steven Gong (steven.gong@gmail.com) */ public interface IStreamAwareScopeHandler extends IScopeHandler { /** * A broadcast stream starts being published. This will be called when the first video packet has been received. - * + * * @param stream * stream */ @@ -26,7 +26,7 @@ public interface IStreamAwareScopeHandler extends IScopeHandler { /** * A broadcast stream starts being recorded. This will be called when the first video packet has been received. - * + * * @param stream * stream */ @@ -42,7 +42,7 @@ public interface IStreamAwareScopeHandler extends IScopeHandler { /** * Notified when a broadcaster starts. - * + * * @param stream * stream */ @@ -50,7 +50,7 @@ public interface IStreamAwareScopeHandler extends IScopeHandler { /** * Notified when a broadcaster closes. - * + * * @param stream * stream */ @@ -58,7 +58,7 @@ public interface IStreamAwareScopeHandler extends IScopeHandler { /** * Notified when a subscriber starts. - * + * * @param stream * stream */ @@ -66,7 +66,7 @@ public interface IStreamAwareScopeHandler extends IScopeHandler { /** * Notified when a subscriber closes. - * + * * @param stream * stream */ @@ -74,7 +74,7 @@ public interface IStreamAwareScopeHandler extends IScopeHandler { /** * Notified when a play item plays. - * + * * @param stream * stream * @param item @@ -86,7 +86,7 @@ public interface IStreamAwareScopeHandler extends IScopeHandler { /** * Notified when a play item stops. - * + * * @param stream * stream * @param item @@ -96,7 +96,7 @@ public interface IStreamAwareScopeHandler extends IScopeHandler { /** * Notified when a play item pauses. - * + * * @param stream * stream * @param item @@ -108,7 +108,7 @@ public interface IStreamAwareScopeHandler extends IScopeHandler { /** * Notified when a play item resumes. - * + * * @param stream * stream * @param item @@ -120,7 +120,7 @@ public interface IStreamAwareScopeHandler extends IScopeHandler { /** * Notified when a play item seeks. - * + * * @param stream * stream * @param item diff --git a/common/src/main/java/org/red5/server/api/stream/IStreamCapableConnection.java b/common/src/main/java/org/red5/server/api/stream/IStreamCapableConnection.java index 8f946faac..3fb1ab4fb 100644 --- a/common/src/main/java/org/red5/server/api/stream/IStreamCapableConnection.java +++ b/common/src/main/java/org/red5/server/api/stream/IStreamCapableConnection.java @@ -13,7 +13,7 @@ /** * A connection that supports streaming. - * + * * @author The Red5 Project * @author Luke Hubbard (luke@codegent.com) * @author Steven Gong (steven.gong@gmail.com) @@ -22,7 +22,7 @@ public interface IStreamCapableConnection extends IConnection { /** * Return a reserved stream id for use. According to FCS/FMS regulation, the base is 1. - * + * * @return Reserved stream id * @throws IndexOutOfBoundsException * when it is impossible to reserve new stream @@ -31,7 +31,7 @@ public interface IStreamCapableConnection extends IConnection { /** * Return a reserved stream id for use with a preference for the one supplied. - * + * * @param streamId * supplied stream id * @return Reserved stream id @@ -42,7 +42,7 @@ public interface IStreamCapableConnection extends IConnection { /** * Unreserve this id for future use. - * + * * @param streamId * ID of stream to unreserve */ @@ -50,7 +50,7 @@ public interface IStreamCapableConnection extends IConnection { /** * Deletes the stream with the given id. - * + * * @param streamId * ID of stream to delete */ @@ -58,7 +58,7 @@ public interface IStreamCapableConnection extends IConnection { /** * Get a stream by its id. - * + * * @param streamId * Stream id * @return Stream with given id @@ -67,7 +67,7 @@ public interface IStreamCapableConnection extends IConnection { /** * Create a stream that can play only one item. - * + * * @param streamId * Stream id * @return New subscriber stream that can play only one item @@ -76,7 +76,7 @@ public interface IStreamCapableConnection extends IConnection { /** * Create a stream that can play a list. - * + * * @param streamId * Stream id * @return New stream that can play sequence of items @@ -85,7 +85,7 @@ public interface IStreamCapableConnection extends IConnection { /** * Create a broadcast stream. - * + * * @param streamId * Stream id * @return New broadcast stream diff --git a/common/src/main/java/org/red5/server/api/stream/IStreamFilenameGenerator.java b/common/src/main/java/org/red5/server/api/stream/IStreamFilenameGenerator.java index 48e58363f..de151ec76 100644 --- a/common/src/main/java/org/red5/server/api/stream/IStreamFilenameGenerator.java +++ b/common/src/main/java/org/red5/server/api/stream/IStreamFilenameGenerator.java @@ -12,7 +12,7 @@ /** * A class that can generate filenames for streams. - * + * * @author The Red5 Project * @author Joachim Bauch (bauch@struktur.de) */ @@ -28,7 +28,7 @@ public static enum GenerationType { /** * Generate a filename without an extension. - * + * * @param scope * Scope to use * @param name @@ -56,21 +56,21 @@ public static enum GenerationType { /** * True if returned filename is an absolute path, else relative to application. - * + * * If relative to application, you need to use - * + * *
* scope.getContext().getResources(fileName)[0].getFile() *- * + * * to resolve this to a file. - * + * * If absolute (ie returns true) simply use - * + * *
* new File(generateFilename(scope, name)) *- * + * * @return true if an absolute path; else false */ public boolean resolvesToAbsolutePath(); diff --git a/common/src/main/java/org/red5/server/api/stream/IStreamListener.java b/common/src/main/java/org/red5/server/api/stream/IStreamListener.java index e1a536cf2..3aa65267c 100644 --- a/common/src/main/java/org/red5/server/api/stream/IStreamListener.java +++ b/common/src/main/java/org/red5/server/api/stream/IStreamListener.java @@ -9,7 +9,7 @@ /** * Listener that is notified about packets received from a stream. - * + * * @author The Red5 Project * @author Joachim Bauch (jojo@struktur.de) */ @@ -17,7 +17,7 @@ public interface IStreamListener { /** * A packet has been received from a stream. - * + * * @param stream * the stream the packet has been received for * @param packet diff --git a/common/src/main/java/org/red5/server/api/stream/IStreamPacket.java b/common/src/main/java/org/red5/server/api/stream/IStreamPacket.java index 4e89fae42..1677c7c0e 100644 --- a/common/src/main/java/org/red5/server/api/stream/IStreamPacket.java +++ b/common/src/main/java/org/red5/server/api/stream/IStreamPacket.java @@ -11,7 +11,7 @@ /** * Packet containing stream data. - * + * * @author The Red5 Project * @author Joachim Bauch (jojo@struktur.de) */ @@ -19,27 +19,27 @@ public interface IStreamPacket { /** * Type of this packet. This is one of the - * + * *
* TYPE_ *- * + * * constants. - * + * * @return the type */ public byte getDataType(); /** * Timestamp of this packet. - * + * * @return the timestamp in milliseconds */ public int getTimestamp(); /** * Packet contents. - * + * * @return the contents */ public IoBuffer getData(); diff --git a/common/src/main/java/org/red5/server/api/stream/IStreamPlaybackSecurity.java b/common/src/main/java/org/red5/server/api/stream/IStreamPlaybackSecurity.java index f8add3d2a..5dc2550c3 100644 --- a/common/src/main/java/org/red5/server/api/stream/IStreamPlaybackSecurity.java +++ b/common/src/main/java/org/red5/server/api/stream/IStreamPlaybackSecurity.java @@ -11,7 +11,7 @@ /** * Interface for handlers that control access to stream playback. - * + * * @author The Red5 Project * @author Joachim Bauch (jojo@struktur.de) */ @@ -19,7 +19,7 @@ public interface IStreamPlaybackSecurity { /** * Check if playback of a stream with the given name is allowed. - * + * * @param scope * Scope the stream is about to be played back from. * @param name @@ -33,9 +33,9 @@ public interface IStreamPlaybackSecurity { * @return
* True *- * + * * if playback is allowed, otherwise - * + * *
* False *diff --git a/common/src/main/java/org/red5/server/api/stream/IStreamPublishSecurity.java b/common/src/main/java/org/red5/server/api/stream/IStreamPublishSecurity.java index 3392e3dfb..780820a6e 100644 --- a/common/src/main/java/org/red5/server/api/stream/IStreamPublishSecurity.java +++ b/common/src/main/java/org/red5/server/api/stream/IStreamPublishSecurity.java @@ -11,7 +11,7 @@ /** * Interface for handlers that control access to stream publishing. - * + * * @author The Red5 Project * @author Joachim Bauch (jojo@struktur.de) */ @@ -19,7 +19,7 @@ public interface IStreamPublishSecurity { /** * Check if publishing a stream with the given name is allowed. - * + * * @param scope * Scope the stream is about to be published in. * @param name @@ -29,9 +29,9 @@ public interface IStreamPublishSecurity { * @return
* True *- * + * * if publishing is allowed, otherwise - * + * *
* False *diff --git a/common/src/main/java/org/red5/server/api/stream/IStreamService.java b/common/src/main/java/org/red5/server/api/stream/IStreamService.java index a607e8553..c919e8fb2 100644 --- a/common/src/main/java/org/red5/server/api/stream/IStreamService.java +++ b/common/src/main/java/org/red5/server/api/stream/IStreamService.java @@ -19,14 +19,14 @@ public interface IStreamService extends IScopeService { /** * Create a stream and return a corresponding id. - * + * * @return ID of created stream */ public Number createStream(); /** * Create a stream and return a corresponding id. - * + * * @param streamId * Stream id * @return ID of created stream @@ -35,7 +35,7 @@ public interface IStreamService extends IScopeService { /** * Close the stream but not deallocate the resources. - * + * * @param connection * Connection * @param streamId @@ -45,7 +45,7 @@ public interface IStreamService extends IScopeService { /** * Close the stream if not been closed. Deallocate the related resources. - * + * * @param streamId * Stream id */ @@ -53,7 +53,7 @@ public interface IStreamService extends IScopeService { /** * Called by FMS. - * + * * @param streamId * Stream id */ @@ -61,7 +61,7 @@ public interface IStreamService extends IScopeService { /** * Called by FMS. - * + * * @param streamId * Stream id * @param idk @@ -71,7 +71,7 @@ public interface IStreamService extends IScopeService { /** * Called by FME. - * + * * @param streamName * stream name */ @@ -79,7 +79,7 @@ public interface IStreamService extends IScopeService { /** * Delete stream - * + * * @param conn * Stream capable connection * @param streamId @@ -89,7 +89,7 @@ public interface IStreamService extends IScopeService { /** * Play stream without initial stop - * + * * @param dontStop * Stoppage flag */ @@ -97,7 +97,7 @@ public interface IStreamService extends IScopeService { /** * Play stream with name - * + * * @param name * Stream name */ @@ -105,7 +105,7 @@ public interface IStreamService extends IScopeService { /** * Play stream with name from start position - * + * * @param name * Stream name * @param start @@ -115,7 +115,7 @@ public interface IStreamService extends IScopeService { /** * Play stream with name from start position and for given amount if time - * + * * @param name * Stream name * @param start @@ -127,7 +127,7 @@ public interface IStreamService extends IScopeService { /** * Publishes stream from given position for given amount of time - * + * * @param name * Stream published name * @param start @@ -141,7 +141,7 @@ public interface IStreamService extends IScopeService { /** * Publishes stream with given name - * + * * @param name * Stream published name */ @@ -149,7 +149,7 @@ public interface IStreamService extends IScopeService { /** * Publishes stream with given name and mode - * + * * @param name * Stream published name * @param mode @@ -159,7 +159,7 @@ public interface IStreamService extends IScopeService { /** * Publish - * + * * @param dontStop * Whether need to stop first */ @@ -167,7 +167,7 @@ public interface IStreamService extends IScopeService { /** * Seek to position - * + * * @param position * Seek position */ @@ -175,7 +175,7 @@ public interface IStreamService extends IScopeService { /** * Pauses playback - * + * * @param pausePlayback * Pause or resume flash * @param position @@ -185,7 +185,7 @@ public interface IStreamService extends IScopeService { /** * Undocumented Flash Plugin 10 call, assuming to be the alias to pause(boolean, int) - * + * * @param pausePlayback * Pause or resume flash * @param position @@ -195,7 +195,7 @@ public interface IStreamService extends IScopeService { /** * Can recieve video? - * + * * @param receive * Boolean flag */ @@ -203,7 +203,7 @@ public interface IStreamService extends IScopeService { /** * Can recieve audio? - * + * * @param receive * Boolean flag */ diff --git a/common/src/main/java/org/red5/server/api/stream/ISubscriberStream.java b/common/src/main/java/org/red5/server/api/stream/ISubscriberStream.java index aa5ed2e46..c496564e9 100644 --- a/common/src/main/java/org/red5/server/api/stream/ISubscriberStream.java +++ b/common/src/main/java/org/red5/server/api/stream/ISubscriberStream.java @@ -17,7 +17,7 @@ public interface ISubscriberStream extends IClientStream { /** * Start playing. - * + * * @throws IOException * if an IO error occurred while starting to play the stream */ @@ -25,7 +25,7 @@ public interface ISubscriberStream extends IClientStream { /** * Pause at a position for current playing item. - * + * * @param position * Position for pause in millisecond. */ @@ -33,7 +33,7 @@ public interface ISubscriberStream extends IClientStream { /** * Resume from a position for current playing item. - * + * * @param position * Position for resume in millisecond. */ @@ -46,7 +46,7 @@ public interface ISubscriberStream extends IClientStream { /** * Seek into a position for current playing item. - * + * * @param position * Position for seek in millisecond. * @throws OperationNotSupportedException @@ -56,14 +56,14 @@ public interface ISubscriberStream extends IClientStream { /** * Check if the stream is currently paused. - * + * * @return stream is paused */ boolean isPaused(); /** * Should the stream send video to the client? - * + * * @param receive * toggle */ @@ -71,7 +71,7 @@ public interface ISubscriberStream extends IClientStream { /** * Should the stream send audio to the client? - * + * * @param receive * toggle */ @@ -79,14 +79,14 @@ public interface ISubscriberStream extends IClientStream { /** * Return the streams state enum. - * + * * @return current state */ public StreamState getState(); /** * Sets the streams state enum. - * + * * @param state * sets current state */ @@ -94,7 +94,7 @@ public interface ISubscriberStream extends IClientStream { /** * Notification of state change and associated parameters. - * + * * @param state * new state * @param changed @@ -104,7 +104,7 @@ public interface ISubscriberStream extends IClientStream { /** * Schedule a job to be executed only once after a 10ms delay. - * + * * @param job * scheduled job * @return jobName @@ -113,7 +113,7 @@ public interface ISubscriberStream extends IClientStream { /** * Schedule a job to be executed regularly at the given interval. - * + * * @param job * scheduled job * @param interval @@ -124,7 +124,7 @@ public interface ISubscriberStream extends IClientStream { /** * Cancels a scheduled job by name. - * + * * @param jobName * job name */ diff --git a/common/src/main/java/org/red5/server/api/stream/OperationNotSupportedException.java b/common/src/main/java/org/red5/server/api/stream/OperationNotSupportedException.java index 7c51b4e29..f84fb5ee1 100644 --- a/common/src/main/java/org/red5/server/api/stream/OperationNotSupportedException.java +++ b/common/src/main/java/org/red5/server/api/stream/OperationNotSupportedException.java @@ -9,12 +9,12 @@ /** * The requested operation is not supported by the stream. - * + * */ public class OperationNotSupportedException extends Exception { /** - * + * */ private static final long serialVersionUID = -6166602683688991431L; diff --git a/common/src/main/java/org/red5/server/api/stream/StreamState.java b/common/src/main/java/org/red5/server/api/stream/StreamState.java index 80a713b87..5746095e1 100644 --- a/common/src/main/java/org/red5/server/api/stream/StreamState.java +++ b/common/src/main/java/org/red5/server/api/stream/StreamState.java @@ -9,7 +9,7 @@ /** * Represents all the states that a stream may be in at a requested point in time. - * + * * @author Paul Gregoire (mondain@gmail.com) */ public enum StreamState { diff --git a/common/src/main/java/org/red5/server/api/stream/support/DynamicPlayItem.java b/common/src/main/java/org/red5/server/api/stream/support/DynamicPlayItem.java index 66bd62845..ca4502130 100644 --- a/common/src/main/java/org/red5/server/api/stream/support/DynamicPlayItem.java +++ b/common/src/main/java/org/red5/server/api/stream/support/DynamicPlayItem.java @@ -60,7 +60,7 @@ private DynamicPlayItem(String name, long start, long length, double offset) { /** * Returns play item length in milliseconds - * + * * @return Play item length in milliseconds */ public long getLength() { @@ -69,7 +69,7 @@ public long getLength() { /** * Returns IMessageInput object. IMessageInput is an endpoint for a consumer to connect. - * + * * @return IMessageInput object */ public IMessageInput getMessageInput() { @@ -78,7 +78,7 @@ public IMessageInput getMessageInput() { /** * Returns item name - * + * * @return item name */ public String getName() { @@ -94,7 +94,7 @@ public long getStart() { /** * Alias for getMessageInput - * + * * @return Message input source */ public IMessageInput getMsgInput() { @@ -113,7 +113,7 @@ public void setMsgInput(IMessageInput msgInput) { /** * Returns size in bytes - * + * * @return size */ public long getSize() { @@ -122,7 +122,7 @@ public long getSize() { /** * Set the size in bytes - * + * * @param size * size in bytes */ @@ -163,7 +163,7 @@ public boolean equals(Object obj) { /** * Builder for DynamicPlayItem - * + * * @param name * name * @param start @@ -179,7 +179,7 @@ public static DynamicPlayItem build(String name, long start, long length) { /** * Builder for DynamicPlayItem - * + * * @param name * name * @param start diff --git a/common/src/main/java/org/red5/server/api/stream/support/SimplePlayItem.java b/common/src/main/java/org/red5/server/api/stream/support/SimplePlayItem.java index 1cae7a773..acd9c1e0f 100644 --- a/common/src/main/java/org/red5/server/api/stream/support/SimplePlayItem.java +++ b/common/src/main/java/org/red5/server/api/stream/support/SimplePlayItem.java @@ -51,7 +51,7 @@ private SimplePlayItem(String name, long start, long length) { /** * Returns play item length in milliseconds - * + * * @return Play item length in milliseconds */ public long getLength() { @@ -60,7 +60,7 @@ public long getLength() { /** * Returns IMessageInput object. IMessageInput is an endpoint for a consumer to connect. - * + * * @return IMessageInput object */ public IMessageInput getMessageInput() { @@ -69,7 +69,7 @@ public IMessageInput getMessageInput() { /** * Returns item name - * + * * @return item name */ public String getName() { @@ -85,7 +85,7 @@ public long getStart() { /** * Alias for getMessageInput - * + * * @return Message input source */ public IMessageInput getMsgInput() { @@ -157,7 +157,7 @@ public int compareTo(SimplePlayItem that) { /** * Builder for SimplePlayItem - * + * * @param name * name * @return play item instance @@ -169,7 +169,7 @@ public static SimplePlayItem build(String name) { /** * Builder for SimplePlayItem - * + * * @param name * name * @param start diff --git a/common/src/main/java/org/red5/server/exception/ClientDetailsException.java b/common/src/main/java/org/red5/server/exception/ClientDetailsException.java index 941c9cf43..5af065a21 100644 --- a/common/src/main/java/org/red5/server/exception/ClientDetailsException.java +++ b/common/src/main/java/org/red5/server/exception/ClientDetailsException.java @@ -9,7 +9,7 @@ /** * Exception class than contains additional parameters to return to the client. - * + * * @author The Red5 Project * @author Joachim Bauch (jojo@struktur.de) */ @@ -29,7 +29,7 @@ public class ClientDetailsException extends RuntimeException { /** * Create new exception object from message and parameters. By default, no stacktrace is returned to the client. - * + * * @param message * message * @param params @@ -41,7 +41,7 @@ public ClientDetailsException(String message, Object params) { /** * Create new exception object from message and parameters with optional stacktrace. - * + * * @param message * message * @param params @@ -57,7 +57,7 @@ public ClientDetailsException(String message, Object params, boolean includeStac /** * Get parameters to return to the client. - * + * * @return parameters */ public Object getParameters() { @@ -66,7 +66,7 @@ public Object getParameters() { /** * Should the stacktrace returned to the client? - * + * * @return stacktrace */ public boolean includeStacktrace() { diff --git a/common/src/main/java/org/red5/server/exception/ClientNotFoundException.java b/common/src/main/java/org/red5/server/exception/ClientNotFoundException.java index 7a737b069..ea35da5b4 100644 --- a/common/src/main/java/org/red5/server/exception/ClientNotFoundException.java +++ b/common/src/main/java/org/red5/server/exception/ClientNotFoundException.java @@ -13,13 +13,13 @@ public class ClientNotFoundException extends RuntimeException { /** - * + * */ private static final long serialVersionUID = 3135070223941800751L; /** * Create exception from given string message - * + * * @param id * id */ diff --git a/common/src/main/java/org/red5/server/exception/ClientRejectedException.java b/common/src/main/java/org/red5/server/exception/ClientRejectedException.java index 48c8a2f18..e3ff2c215 100644 --- a/common/src/main/java/org/red5/server/exception/ClientRejectedException.java +++ b/common/src/main/java/org/red5/server/exception/ClientRejectedException.java @@ -25,7 +25,7 @@ public ClientRejectedException() { /** * Create new exception with given rejection reason - * + * * @param reason * Rejection reason */ diff --git a/common/src/main/java/org/red5/server/exception/ScopeNotFoundException.java b/common/src/main/java/org/red5/server/exception/ScopeNotFoundException.java index 9dd8ff45e..3bfa2b0a5 100644 --- a/common/src/main/java/org/red5/server/exception/ScopeNotFoundException.java +++ b/common/src/main/java/org/red5/server/exception/ScopeNotFoundException.java @@ -18,7 +18,7 @@ public class ScopeNotFoundException extends RuntimeException { /** * Create exception from given scope object and given child subscope - * + * * @param scope * Scope * @param childName diff --git a/common/src/main/java/org/red5/server/exception/ScopeShuttingDownException.java b/common/src/main/java/org/red5/server/exception/ScopeShuttingDownException.java index 40091efbd..ea79215f1 100644 --- a/common/src/main/java/org/red5/server/exception/ScopeShuttingDownException.java +++ b/common/src/main/java/org/red5/server/exception/ScopeShuttingDownException.java @@ -18,7 +18,7 @@ public class ScopeShuttingDownException extends RuntimeException { /** * Create exception from given scope object - * + * * @param scope * Scope */ diff --git a/common/src/main/java/org/red5/server/jmx/mxbeans/RTMPMinaTransportMXBean.java b/common/src/main/java/org/red5/server/jmx/mxbeans/RTMPMinaTransportMXBean.java index 74342073f..c1bf5e7bd 100644 --- a/common/src/main/java/org/red5/server/jmx/mxbeans/RTMPMinaTransportMXBean.java +++ b/common/src/main/java/org/red5/server/jmx/mxbeans/RTMPMinaTransportMXBean.java @@ -9,8 +9,8 @@ import javax.management.MXBean; -/** - * +/** + * */ @MXBean public interface RTMPMinaTransportMXBean { diff --git a/common/src/main/java/org/red5/server/jmx/mxbeans/ScopeMXBean.java b/common/src/main/java/org/red5/server/jmx/mxbeans/ScopeMXBean.java index 88be03225..ed59b45da 100644 --- a/common/src/main/java/org/red5/server/jmx/mxbeans/ScopeMXBean.java +++ b/common/src/main/java/org/red5/server/jmx/mxbeans/ScopeMXBean.java @@ -24,24 +24,24 @@ public interface ScopeMXBean { /** * Check if scope is enabled - * + * * @return
* true *- * + * * if scope is enabled, - * + * *
* false *- * + * * otherwise */ public boolean getEnabled(); /** * Enable or disable scope by setting enable flag - * + * * @param enabled * Enable flag value */ @@ -49,24 +49,24 @@ public interface ScopeMXBean { /** * Check if scope is in running state - * + * * @return
* true *- * + * * if scope is in running state, - * + * *
* false *- * + * * otherwise */ public boolean getRunning(); /** * Setter for autostart flag - * + * * @param autoStart * Autostart flag value */ @@ -74,7 +74,7 @@ public interface ScopeMXBean { /** * Initialization actions, start if autostart is set to - * + * *
* true *@@ -83,17 +83,17 @@ public interface ScopeMXBean { /** * Starts scope - * + * * @return
* true *- * + * * if scope has handler and it's start method returned true, - * + * *
* false *- * + * * otherwise */ public boolean start(); @@ -105,7 +105,7 @@ public interface ScopeMXBean { /** * Destroys scope - * + * * @throws Exception * on error */ @@ -123,7 +123,7 @@ public interface ScopeMXBean { /** * Setter for child load path. Should be implemented in subclasses? - * + * * @param pattern * Load path pattern */ @@ -131,26 +131,26 @@ public interface ScopeMXBean { /** * Check whether scope has child scope with given name - * + * * @param name * Child scope name * @return
* true *- * + * * if scope has child node with given name, - * + * *
* false *- * + * * otherwise */ public boolean hasChildScope(String name); /** * Check whether scope has child scope with given name and type - * + * * @param type * Child scope type * @param name @@ -158,44 +158,44 @@ public interface ScopeMXBean { * @return
* true *- * + * * if scope has child node with given name and type, - * + * *
* false *- * + * * otherwise */ public boolean hasChildScope(ScopeType type, String name); /** * Check if scope has a context - * + * * @return
* true *- * + * * if scope has context, - * + * *
* false *- * + * * otherwise */ public boolean hasContext(); /** * Return scope context path - * + * * @return Scope context path */ public String getContextPath(); /** * Setter for scope name - * + * * @param name * Scope name */ @@ -203,48 +203,48 @@ public interface ScopeMXBean { /** * Return scope path calculated from parent path and parent scope name - * + * * @return Scope path */ public String getPath(); /** * Check if scope or it's parent has handler - * + * * @return
* true *- * + * * if scope or it's parent scope has a handler, - * + * *
* false *- * + * * otherwise */ public boolean hasHandler(); /** * Check if scope has parent scope - * + * * @return
* true *- * + * * if scope has parent scope, - * + * *
* false *- * + * * otherwise` */ public boolean hasParent(); /** * Set scope depth - * + * * @param depth * Scope depth */ @@ -252,33 +252,33 @@ public interface ScopeMXBean { /** * return scope depth - * + * * @return Scope depth */ public int getDepth(); /** * Create child scope with given name - * + * * @param name * Child scope name * @return
* true *- * + * * on success, - * + * *
* false *- * + * * otherwise */ public boolean createChildScope(String name); /** * Unregisters service handler by name - * + * * @param name * Service handler name */ @@ -286,70 +286,70 @@ public interface ScopeMXBean { /** * Return set of service handler names - * + * * @return Set of service handler names */ public Set
* true *- * + * * if the result has been sent, otherwise - * + * *
* false *diff --git a/common/src/main/java/org/red5/server/net/rtmp/IRTMPHandler.java b/common/src/main/java/org/red5/server/net/rtmp/IRTMPHandler.java index 6e22fedef..df5943bc7 100644 --- a/common/src/main/java/org/red5/server/net/rtmp/IRTMPHandler.java +++ b/common/src/main/java/org/red5/server/net/rtmp/IRTMPHandler.java @@ -16,7 +16,7 @@ public interface IRTMPHandler { /** * Connection open event. - * + * * @param conn * Connection */ @@ -24,7 +24,7 @@ public interface IRTMPHandler { /** * Message received. - * + * * @param conn * Connection * @param packet @@ -36,7 +36,7 @@ public interface IRTMPHandler { /** * Message sent. - * + * * @param conn * Connection * @param packet @@ -46,7 +46,7 @@ public interface IRTMPHandler { /** * Connection closed. - * + * * @param conn * Connection */ diff --git a/common/src/main/java/org/red5/server/net/rtmp/RTMPConnection.java b/common/src/main/java/org/red5/server/net/rtmp/RTMPConnection.java index 6d8c5b1ac..ee607d2cc 100755 --- a/common/src/main/java/org/red5/server/net/rtmp/RTMPConnection.java +++ b/common/src/main/java/org/red5/server/net/rtmp/RTMPConnection.java @@ -188,7 +188,7 @@ public abstract class RTMPConnection extends BaseConnection implements IStreamCa /** * Connection channels - * + * * @see org.red5.server.net.rtmp.Channel */ protected transient ConcurrentMap