diff --git a/common/src/main/java/org/red5/server/net/rtmp/codec/RTMPProtocolDecoder.java b/common/src/main/java/org/red5/server/net/rtmp/codec/RTMPProtocolDecoder.java index 9366d6b5d712eef2871f5de481cbfac34204a3d1..1de887f534b2255281a027dfa869ef33354776ba 100644 --- a/common/src/main/java/org/red5/server/net/rtmp/codec/RTMPProtocolDecoder.java +++ b/common/src/main/java/org/red5/server/net/rtmp/codec/RTMPProtocolDecoder.java @@ -269,7 +269,7 @@ public class RTMPProtocolDecoder implements Constants, IEventDecoder { log.trace("Source buffer position: {}, limit: {}, packet-buf.position {}, packet size: {}", in.position(), in.limit(), buf.position(), header.getSize()); } // read chunk - int length = Math.max(buf.remaining(), readChunkSize); + int length = Math.min(buf.remaining(), readChunkSize); if (in.remaining() < length) { log.debug("In buffer is too small, buffering ({},{})", in.remaining(), length); // how much more data we need to continue?