Hi,

I'm using Red5 0.5 set up a simple record/playback system where I record microphone audio, play the audio back, then record again, overwriting the previous recording (i.e. using the same stream name). This system was working fine with FCS, and it works up to a point in Red5. If I create multiple recordings without playing it back, Red5 is happy to overwrite the FLV with new content. I can even play the recording back...once. The problem happens when I try to record again after playback, I get multilpe Red5 errors (see below).

Attached is a modified red5\samples\livestream\recorder\Main.as used by simpleRecorder which mimics, more or less, what I'm trying to do by always recording to the same file, then automatically playing back the recording after a short interval. If you publish simpleRecorder.fla with the modified file, recording for a second time after playback causes the errors. Reverting Main.as to use a new stream name each recording (using getTimer()), fixes the problem. I've tried  various ways of tidying up the playback and recording streams by .close(), .publish(false) etc thinking that might be the problem, but can't get rid of this error. I've also tried the latest SVN version and it's still not happy. I guess I could look at modifying my app to use a new stream name each time but would like to avoid doing that if possible. Any ideas?

Thanks for your help.

Tony

Error Message:

[java] [ERROR] 771860 IoWorker-4:( org.red5.server.stream.consumer.FileConsumer.error ) error init file consumer
[java] java.io.FileNotFoundException : C:\Program Files\Red5\webapps\oflaDemo\streams\red5RecordDemo99.flv (The requested operation cannot be performed on a file with a user-mapped section open)
[java]     at java.io.FileOutputStream.open(Native Method)
[java]     at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
[java]     at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
[java]     at org.red5.io.flv.impl.FLV.getWriter(FLV.java :148)
[java]     at org.red5.server.stream.consumer.FileConsumer.init(FileConsumer.java:158)
[java]     at org.red5.server.stream.consumer.FileConsumer.pushMessage(FileConsumer.java:73)
[java]     at org.red5.server.messaging.InMemoryPushPushPipe.pushMessage (InMemoryPushPushPipe.java:67)
[java]     at org.red5.server.stream.ClientBroadcastStream.dispatchEvent(ClientBroadcastStream.java:270)
[java]     at org.red5.server.net.rtmp.RTMPHandler.messageReceived(RTMPHandler.java :160)
[java]     at org.red5.server.net.rtmp.RTMPMinaIoHandler.messageReceived(RTMPMinaIoHandler.java:68)
[java]     at org.apache.mina.common.support.AbstractIoFilterChain$2.messageReceived(AbstractIoFilterChain.java :188)
[java]     at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
[java]     at org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java :51)
[java]     at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
[java]     at org.apache.mina.filter.ThreadPoolFilter.processEvent(ThreadPoolFilter.java :718)
[java]     at org.apache.mina.filter.ThreadPoolFilter$Worker.processEvents(ThreadPoolFilter.java:474)
[java]     at org.apache.mina.filter.ThreadPoolFilter$Worker.run(ThreadPoolFilter.java:429)
[java] [ERROR] 771860 IoWorker-4:( org.red5.server.messaging.InMemoryPushPushPipe.error ) exception when pushing message to consumer
[java] java.lang.NullPointerException
[java]     at org.red5.server.stream.consumer.FileConsumer.pushMessage(FileConsumer.java :119)
[java]     at org.red5.server.messaging.InMemoryPushPushPipe.pushMessage(InMemoryPushPushPipe.java:67)
[java]     at org.red5.server.stream.ClientBroadcastStream.dispatchEvent(ClientBroadcastStream.java:270)
[java]     at org.red5.server.net.rtmp.RTMPHandler.messageReceived(RTMPHandler.java:160)
[java]     at org.red5.server.net.rtmp.RTMPMinaIoHandler.messageReceived(RTMPMinaIoHandler.java:68)
[java]     at org.apache.mina.common.support.AbstractIoFilterChain$2.messageReceived (AbstractIoFilterChain.java:188)
[java]     at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:501)
[java]     at org.apache.mina.common.support.AbstractIoFilterChain.access$1000 (AbstractIoFilterChain.java:51)
[java]     at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:787)
[java]     at org.apache.mina.filter.ThreadPoolFilter.processEvent (ThreadPoolFilter.java:718)
[java]     at org.apache.mina.filter.ThreadPoolFilter$Worker.processEvents(ThreadPoolFilter.java:474)
[java]     at org.apache.mina.filter.ThreadPoolFilter$Worker.run(ThreadPoolFilter.java :429)

Attachment: Main.as
Description: Binary data

_______________________________________________
Red5 mailing list
[email protected]
http://osflash.org/mailman/listinfo/red5_osflash.org

Reply via email to