Permalink
Browse files

Update to spring 3.0.6. Applied patches for issues #132 and #153. Als…

…o a bit of clean up on other classes.

git-svn-id: http://red5.googlecode.com/svn/java/server/trunk@4290 1b6495e4-3631-0410-8e05-8f51eee8b9cc
  • Loading branch information...
mondain
mondain committed Nov 2, 2011
1 parent 2e039f1 commit b4557c3ea7eb636c74c78fcd8efe7246ccbdea8a
View
172 ivy.xml
@@ -1,82 +1,92 @@
-<ivy-module version="2.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
- <info organisation="red5" module="server" />
-
- <configurations defaultconfmapping="default">
- <conf name="default"/>
- <conf name="java6" extends="default" description="Java 6 dependencies"/>
- <conf name="eclipse" description="Special dependencies in Eclipse"/>
- <conf name="utest" extends="eclipse" description="Unit testing dependencies"/>
- </configurations>
-
- <dependencies>
- <dependency org="javax" name="javaee-api" rev="5.1.2" />
-
- <!-- Spring -->
- <dependency org="org.springframework" name="spring-asm" rev="3.0.5.RELEASE"/>
- <dependency org="org.springframework" name="spring-beans" rev="3.0.5.RELEASE" />
- <dependency org="org.springframework" name="spring-context" rev="3.0.5.RELEASE" />
- <dependency org="org.springframework" name="spring-core" rev="3.0.5.RELEASE" />
- <dependency org="org.springframework" name="spring-expression" rev="3.0.5.RELEASE" />
- <dependency org="org.springframework" name="spring-web" rev="3.0.5.RELEASE" />
-
- <!-- Logging -->
- <dependency org="org.slf4j" name="com.springsource.slf4j.api" rev="1.6.1" transitive="false" />
- <dependency org="org.slf4j" name="com.springsource.slf4j.bridge" rev="1.6.1" transitive="false" />
-
- <dependency name="jul-to-slf4j" rev="1.6.1" />
- <dependency name="log4j-over-slf4j" rev="1.6.1" />
- <dependency name="jcl-over-slf4j" rev="1.6.1" />
- <dependency name="logback-classic" rev="0.9.28" />
- <dependency name="logback-core" rev="0.9.28" />
-
- <!-- General -->
- <dependency org="commons" name="commons-beanutils" rev="1.8.2" />
- <dependency org="org.apache.commons" name="com.springsource.org.apache.commons.codec" rev="1.4.0" transitive="false" />
- <dependency org="org.apache.commons" name="com.springsource.org.apache.commons.collections" rev="3.2.1" transitive="false" />
-
- <dependency org="commons" name="httpcore" rev="4.1.3" />
- <dependency org="commons" name="httpclient" rev="4.1.2" />
-
- <dependency org="commons" name="commons-lang3" rev="3.0-beta" />
- <dependency org="org.apache.commons" name="com.springsource.org.apache.commons.modeler" rev="2.0.1" transitive="false" />
-
- <dependency org="commons" name="commons-pool" rev="1.5.6" />
- <dependency name="quartz" rev="1.8.5" />
- <dependency name="ehcache" rev="2.2.0" />
-
- <!-- XML -->
- <dependency org="org.apache.xerces" name="com.springsource.org.apache.xerces" rev="2.9.1" transitive="false" />
- <dependency name="xmlrpc" rev="2.0.1" />
-
- <!-- Mina -->
- <dependency org="mina" name="mina-integration-beans" rev="2.0.4" />
- <dependency org="mina" name="mina-integration-jmx" rev="2.0.4" />
- <dependency org="mina" name="mina-core" rev="2.0.4" />
-
- <!-- Scripting -->
- <dependency org="org.objectweb.asm" name="com.springsource.org.objectweb.asm" rev="3.2.0" transitive="false" />
- <dependency org="org.objectweb.asm" name="com.springsource.org.objectweb.asm.commons" rev="3.2.0" transitive="false" />
- <dependency org="org.antlr" name="com.springsource.org.antlr" rev="3.1.3" transitive="false" />
- <dependency org="org.codehaus.groovy" name="com.springsource.org.codehaus.groovy" rev="1.7.0" transitive="false" />
- <dependency name="jruby-complete" rev="1.1.6" />
- <dependency name="jython" rev="2.5" />
- <dependency org="org.mozilla.javascript" name="com.springsource.org.mozilla.javascript" rev="1.7.0.R2" transitive="false" />
- <dependency org="javax.xml.stream" name="com.springsource.javax.xml.stream" rev="1.0.1" transitive="false" />
- <dependency org="org.springframework" name="spring-context-support" rev="3.0.5.RELEASE" />
-
- <!-- Crypto -->
- <dependency name="bcprov-jdk16" rev="145" conf="java6->*" />
-
- <!-- MP3 -->
- <dependency name="jaudiotagger" rev="2.0.4-SNAPSHOT" />
-
- <!-- Testing support -->
- <!-- until Eclipse updates their junit version, we have to use this -->
- <dependency org="org.junit" name="com.springsource.org.junit" rev="4.8.1" conf="eclipse->*" transitive="false" />
- <dependency name="GroboUtils" rev="5-core" conf="eclipse->*" />
- <dependency org="org.springframework" name="org.springframework.test" rev="3.0.5.RELEASE" conf="eclipse->*" transitive="false" />
- <dependency org="org.springframework" name="org.springframework.transaction" rev="3.0.5.RELEASE" conf="eclipse->*" transitive="false" />
- </dependencies>
+<ivy-module version="2.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
+ <info organisation="red5" module="server" />
+ <configurations defaultconfmapping="default">
+ <conf name="default" />
+ <conf name="java6" extends="default" description="Java 6 dependencies" />
+ <conf name="eclipse" description="Special dependencies in Eclipse" />
+ <conf name="utest" extends="eclipse" description="Unit testing dependencies" />
+ </configurations>
+ <dependencies>
+ <dependency org="javax" name="javaee-api" rev="5.1.2" />
+ <!-- Spring -->
+ <dependency org="org.springframework" name="spring-asm"
+ rev="3.0.6.RELEASE" />
+ <dependency org="org.springframework" name="spring-beans"
+ rev="3.0.6.RELEASE" />
+ <dependency org="org.springframework" name="spring-context"
+ rev="3.0.6.RELEASE" />
+ <dependency org="org.springframework" name="spring-core"
+ rev="3.0.6.RELEASE" />
+ <dependency org="org.springframework" name="spring-expression"
+ rev="3.0.6.RELEASE" />
+ <dependency org="org.springframework" name="spring-web"
+ rev="3.0.6.RELEASE" />
+ <!-- Logging -->
+ <dependency org="org.slf4j" name="com.springsource.slf4j.api"
+ rev="1.6.1" transitive="false" />
+ <dependency org="org.slf4j" name="com.springsource.slf4j.bridge"
+ rev="1.6.1" transitive="false" />
+ <dependency name="jul-to-slf4j" rev="1.6.1" />
+ <dependency name="log4j-over-slf4j" rev="1.6.1" />
+ <dependency name="jcl-over-slf4j" rev="1.6.1" />
+ <dependency name="logback-classic" rev="0.9.28" />
+ <dependency name="logback-core" rev="0.9.28" />
+ <!-- General -->
+ <dependency org="commons" name="commons-beanutils" rev="1.8.2" />
+ <dependency org="org.apache.commons" name="com.springsource.org.apache.commons.codec"
+ rev="1.4.0" transitive="false" />
+ <dependency org="org.apache.commons"
+ name="com.springsource.org.apache.commons.collections" rev="3.2.1"
+ transitive="false" />
+ <dependency org="commons" name="httpcore" rev="4.1.3" />
+ <dependency org="commons" name="httpclient" rev="4.1.2" />
+ <dependency org="commons" name="commons-lang3" rev="3.0-beta" />
+ <dependency org="org.apache.commons"
+ name="com.springsource.org.apache.commons.modeler" rev="2.0.1"
+ transitive="false" />
+ <dependency org="commons" name="commons-pool" rev="1.5.6" />
+ <dependency name="quartz" rev="1.8.5" />
+ <dependency name="ehcache" rev="2.2.0" />
+ <!-- XML -->
+ <dependency org="org.apache.xerces" name="com.springsource.org.apache.xerces"
+ rev="2.9.1" transitive="false" />
+ <dependency name="xmlrpc" rev="2.0.1" />
+ <!-- Mina -->
+ <dependency org="mina" name="mina-integration-beans" rev="2.0.4" />
+ <dependency org="mina" name="mina-integration-jmx" rev="2.0.4" />
+ <dependency org="mina" name="mina-core" rev="2.0.4" />
+ <!-- Scripting -->
+ <dependency org="org.objectweb.asm" name="com.springsource.org.objectweb.asm"
+ rev="3.2.0" transitive="false" />
+ <dependency org="org.objectweb.asm"
+ name="com.springsource.org.objectweb.asm.commons" rev="3.2.0"
+ transitive="false" />
+ <dependency org="org.antlr" name="com.springsource.org.antlr"
+ rev="3.1.3" transitive="false" />
+ <dependency org="org.codehaus.groovy" name="com.springsource.org.codehaus.groovy"
+ rev="1.7.0" transitive="false" />
+ <dependency name="jruby-complete" rev="1.1.6" />
+ <dependency name="jython" rev="2.5" />
+ <dependency org="org.mozilla.javascript" name="com.springsource.org.mozilla.javascript"
+ rev="1.7.0.R2" transitive="false" />
+ <dependency org="javax.xml.stream" name="com.springsource.javax.xml.stream"
+ rev="1.0.1" transitive="false" />
+ <dependency org="org.springframework" name="spring-context-support"
+ rev="3.0.6.RELEASE" />
+ <!-- Crypto -->
+ <dependency name="bcprov-jdk16" rev="145" conf="java6->*" />
+ <!-- MP3 -->
+ <dependency name="jaudiotagger" rev="2.0.4-SNAPSHOT" />
+ <!-- Testing support -->
+ <!-- until Eclipse updates their junit version, we have to use this -->
+ <dependency org="org.junit" name="com.springsource.org.junit"
+ rev="4.8.1" conf="eclipse->*" transitive="false" />
+ <dependency name="GroboUtils" rev="5-core" conf="eclipse->*" />
+ <dependency org="org.springframework" name="org.springframework.test"
+ rev="3.0.6.RELEASE" conf="eclipse->*" transitive="false" />
+ <dependency org="org.springframework" name="org.springframework.transaction"
+ rev="3.0.6.RELEASE" conf="eclipse->*" transitive="false" />
+ </dependencies>
</ivy-module>
@@ -559,7 +559,10 @@ public Object readObject(Deserializer deserializer, Type target) {
instance = newInstance(className);
if (instance != null) {
result = readBean(deserializer, instance);
- } // else fall through
+ } else {
+ log.debug("Forced to use simple object for class {}", className);
+ result = readSimpleObject(deserializer);
+ }
}
} else {
result = readSimpleObject(deserializer);
@@ -43,7 +43,7 @@
*
* @author The Red5 Project (red5@osflash.org)
* @author Luke Hubbard (luke@codegent.com)
- * @author Paul Gregoire (mondain@gmail.com)
+ * @author Paul Gregoire (mondain@gmail.com)
*/
public final class Red5 {
@@ -26,14 +26,14 @@
*/
public interface IVideoStreamCodec {
- /**
- * FLV frame marker constant
- */
+ /**
+ * FLV frame marker constant
+ */
static final byte FLV_FRAME_KEY = 0x10;
-
+
/**
* @return the name of the video codec.
- */
+ */
public String getName();
/**
@@ -43,35 +43,66 @@
/**
* Check if the codec supports frame dropping.
- * @return if the codec supports frame dropping.
- */
+ * @return if the codec supports frame dropping.
+ */
public boolean canDropFrames();
/**
* Returns true if the codec knows how to handle the passed
* stream data.
- * @param data some sample data to see if this codec can handle it.
- * @return can this code handle the data.
- */
+ * @param data some sample data to see if this codec can handle it.
+ * @return can this code handle the data.
+ */
public boolean canHandleData(IoBuffer data);
/**
* Update the state of the codec with the passed data.
- * @param data data to tell the codec we're adding
- * @return true for success. false for error.
- */
+ * @param data data to tell the codec we're adding
+ * @return true for success. false for error.
+ */
public boolean addData(IoBuffer data);
/**
* @return the data for a keyframe.
- */
+ */
public IoBuffer getKeyframe();
-
+
/**
* Returns information used to configure the decoder.
*
* @return the data for decoder setup.
- */
+ */
public IoBuffer getDecoderConfiguration();
-
+
+ /**
+ * Holder for video frame data.
+ */
+ public final static class FrameData {
+
+ private IoBuffer frame;
+
+ /**
+ * Makes a copy of the incoming bytes and places them in an IoBuffer. No flip or rewind is performed on the source data.
+ *
+ * @param data
+ */
+ public void setData(IoBuffer data) {
+ if (frame == null) {
+ frame = IoBuffer.allocate(data.limit());
+ } else {
+ frame.clear();
+ frame.free();
+ frame = IoBuffer.allocate(data.limit());
+ }
+ byte[] buf = new byte[frame.limit()];
+ data.get(buf);
+ frame.put(buf).flip();
+ }
+
+ public IoBuffer getFrame() {
+ return frame == null ? null : frame.asReadOnlyBuffer();
+ }
+
+ }
+
}
Oops, something went wrong.

0 comments on commit b4557c3

Please sign in to comment.