[Red5] append mode broken

Dan Rossi spam at electroteque.org
Sun Dec 17 21:55:04 EST 2006


Ok so dont file bug ? Should we hold off on appending ?

What is the go with that patch then i had to add the patch to the append 
part of publish aswell to subscribe to it.

if (IClientStream.MODE_RECORD.equals(mode)) {
                IContext context = conn.getScope().getContext();
                IProviderService providerService = (IProviderService) 
context
                        .getBean(IProviderService.BEAN_NAME);
                // TODO handle registration failure
                if (providerService.registerBroadcastStream(conn.getScope(),
                        name, bs)) {
                    bsScope = getBroadcastScope(conn.getScope(), name);
                    
bsScope.setAttribute(IBroadcastScope.STREAM_ATTRIBUTE, bs);
                    if (conn instanceof BaseConnection) {
                        ((BaseConnection) conn).registerBasicScope(bsScope);
                    }
                }
               
                bs.start();
                bs.saveAs(name, false);
            } else if (IClientStream.MODE_APPEND.equals(mode)) {
                IContext context = conn.getScope().getContext();
                IProviderService providerService = (IProviderService) 
context
                        .getBean(IProviderService.BEAN_NAME);
                // TODO handle registration failure
                if (providerService.registerBroadcastStream(conn.getScope(),
                        name, bs)) {
                    bsScope = getBroadcastScope(conn.getScope(), name);
                    
bsScope.setAttribute(IBroadcastScope.STREAM_ATTRIBUTE, bs);
                    if (conn instanceof BaseConnection) {
                        ((BaseConnection) conn).registerBasicScope(bsScope);
                    }
                }

                bs.start();
                bs.saveAs(name, true);
            } else if (IClientStream.MODE_LIVE.equals(mode)) {  ......


I get this exception

ion exceeds limit
[ERROR] 315015 pool-1-thread-11:( 
org.red5.server.stream.consumer.FileConsumer.e
rror ) error init file consumer
java.nio.BufferUnderflowException
        at java.nio.Buffer.nextGetIndex(Unknown Source)
        at java.nio.DirectByteBuffer.get(Unknown Source)
        at 
org.apache.mina.common.support.BaseByteBuffer.get(BaseByteBuffer.java
:203)
        at org.red5.io.utils.IOUtils.readUnsignedMediumInt(IOUtils.java:58)
        at org.red5.io.flv.impl.FLVReader.readTagHeader(FLVReader.java:629)
        at org.red5.io.flv.impl.FLVReader.readTag(FLVReader.java:454)
        at org.red5.io.flv.impl.FLV.getAppendWriter(FLV.java:238)
        at 
org.red5.server.stream.consumer.FileConsumer.init(FileConsumer.java:1
70)
        at 
org.red5.server.stream.consumer.FileConsumer.pushMessage(FileConsumer
.java:92)
        at 
org.red5.server.messaging.InMemoryPushPushPipe.pushMessage(InMemoryPu
shPushPipe.java:78)
        at 
org.red5.server.stream.ClientBroadcastStream.dispatchEvent(ClientBroa
dcastStream.java:316)
        at 
org.red5.server.net.rtmp.BaseRTMPHandler.messageReceived(BaseRTMPHand
ler.java:151)
        at 
org.red5.server.net.rtmp.RTMPMinaIoHandler.messageReceived(RTMPMinaIo
Handler.java:84)
        at 
org.apache.mina.common.support.AbstractIoFilterChain$2.messageReceive
d(AbstractIoFilterChain.java:189)
        at 
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageR
eceived(AbstractIoFilterChain.java:502)
        at 
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(Abst
ractIoFilterChain.java:52)
        at 
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.mess
ageReceived(AbstractIoFilterChain.java:777)
        at 
org.red5.io.filter.ExecutorFilter.processEvent(ExecutorFilter.java:23
1)
        at 
org.red5.io.filter.ExecutorFilter$ProcessEventsRunnable.run(ExecutorF
ilter.java:280)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown 
Source)
        at java.lang.Thread.run(Unknown Source)
[ERROR] 315015 pool-1-thread-11:( 
org.red5.server.messaging.InMemoryPushPushPipe
.error ) exception when pushing message to consumer
java.lang.NullPointerException
        at 
org.red5.server.stream.consumer.FileConsumer.pushMessage(FileConsumer
.java:120)
        at 
org.red5.server.messaging.InMemoryPushPushPipe.pushMessage(InMemoryPu
shPushPipe.java:78)
        at 
org.red5.server.stream.ClientBroadcastStream.dispatchEvent(ClientBroa
dcastStream.java:316)
        at 
org.red5.server.net.rtmp.BaseRTMPHandler.messageReceived(BaseRTMPHand
ler.java:151)
        at 
org.red5.server.net.rtmp.RTMPMinaIoHandler.messageReceived(RTMPMinaIo
Handler.java:84)
        at 
org.apache.mina.common.support.AbstractIoFilterChain$2.messageReceive
d(AbstractIoFilterChain.java:189)
        at 
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageR
eceived(AbstractIoFilterChain.java:502)
        at 
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(Abst
ractIoFilterChain.java:52)
        at 
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.mess
ageReceived(AbstractIoFilterChain.java:777)
        at 
org.red5.io.filter.ExecutorFilter.processEvent(ExecutorFilter.java:23
1)
        at 
org.red5.io.filter.ExecutorFilter$ProcessEventsRunnable.run(ExecutorF
ilter.java:280)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown 
Source)
        at java.lang.Thread.run(Unknown Source)
[
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://osflash.org/pipermail/red5_osflash.org/attachments/20061218/1a6c2988/attachment.htm


More information about the Red5 mailing list