any solutions ?

Dan Rossi wrote:
Hi does someone have a solution for subscribing to an archiving stream, this hack below doesnt work, the broadcast stops at the server immediately. If i try play(stream, -1) the subscribe just hangs like the stream isnt available even though the server aknowledges the publish name and the server stream aware handlers work fine and call the clients when a broadcast is happening just cant stream.

I am using the filenamegenerator bean to record to one path, and playback a trailer in another path, could this be the problem, ive had my ticket open for ages now and got an ignorant response.

If i call with play(stream, -2) i get an exception

[java] [ERROR] 1020437 pool-1-thread-15:( org.red5.io.flv.impl.FLVReader.er
ror ) Error fillBuffer
     [java] java.lang.IllegalArgumentException
     [java]     at java.nio.ByteBuffer.allocate(ByteBuffer.java:311)
[java] at org.red5.io.flv.impl.FLVReader.fillBuffer(FLVReader.java:242)

[java] at org.red5.io.flv.impl.FLVReader.setCurrentPosition(FLVReader.j
ava:170)
[java] at org.red5.io.flv.impl.FLVReader.analyzeKeyFrames(FLVReader.jav
a:527)
[java] at org.red5.io.flv.impl.FLVReader.postInitialize(FLVReader.java:
264)
     [java]     at org.red5.io.flv.impl.FLVReader.<init>(FLVReader.java:275)
     [java]     at org.red5.io.flv.impl.FLV.getReader(FLV.java:172)
[java] at org.red5.server.stream.provider.FileProvider.init(FileProvide
r.java:179)
[java] at org.red5.server.stream.provider.FileProvider.pullMessage(File
Provider.java:87)
[java] at org.red5.server.messaging.InMemoryPullPullPipe.pullMessage(In
MemoryPullPullPipe.java:72)
[java] at org.red5.server.stream.PlaylistSubscriberStream$PlayEngine.pu
llAndPush(PlaylistSubscriberStream.java:847)
[java] at org.red5.server.stream.PlaylistSubscriberStream$PlayEngine.pl
ay(PlaylistSubscriberStream.java:681)
[java] at org.red5.server.stream.PlaylistSubscriberStream.play(Playlist
SubscriberStream.java:124)
[java] at org.red5.server.stream.StreamService.play(StreamService.java:
179)
[java] at org.red5.server.stream.StreamService.play(StreamService.java:
187)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcces
sorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMet
hodAccessorImpl.java:25)
     [java]     at java.lang.reflect.Method.invoke(Method.java:585)
[java] at org.red5.server.service.ServiceInvoker.invoke(ServiceInvoker.
java:161)
[java] at org.red5.server.net.rtmp.RTMPHandler.invokeCall(RTMPHandler.j
ava:135)
[java] at org.red5.server.net.rtmp.RTMPHandler.onInvoke(RTMPHandler.jav
a:276)
[java] at org.red5.server.net.rtmp.BaseRTMPHandler.messageReceived(Base
RTMPHandler.java:114)
[java] at org.red5.server.net.rtmp.RTMPMinaIoHandler.messageReceived(RT
MPMinaIoHandler.java:84)
[java] at org.apache.mina.common.support.AbstractIoFilterChain$2.messag
eReceived(AbstractIoFilterChain.java:189)
[java] at org.apache.mina.common.support.AbstractIoFilterChain.callNext
MessageReceived(AbstractIoFilterChain.java:502)
[java] at org.apache.mina.common.support.AbstractIoFilterChain.access$1
000(AbstractIoFilterChain.java:52)
[java] at org.apache.mina.common.support.AbstractIoFilterChain$EntryImp
l$1.messageReceived(AbstractIoFilterChain.java:777)
[java] at org.red5.io.filter.ExecutorFilter.processEvent(ExecutorFilter
.java:231)
[java] at org.red5.io.filter.ExecutorFilter$ProcessEventsRunnable.run(E
xecutorFilter.java:280)
[java] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Thread
PoolExecutor.java:650)
[java] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPool
Executor.java:675)
     [java]     at java.lang.Thread.run(Thread.java:595)
[java] [INFO] 1020453 pool-1-thread-15:( org.red5.io.flv.impl.FLVReader.inf
o ) New position exceeds limit
[java] [INFO] 1020453 pool-1-thread-15:( org.red5.server.stream.PlaylistSub
scriberStream.info ) Scheduled stop in: 1879753393

I just checked with FMS, and my ported application was fine, subscribes at it records.

Alex Zimin wrote:
I have the following code and it works just fine for me.
ns.publish("stream1", "live");
ns.publish("stream2", "record");
Client, which connects to live stream, is able to play it, and recording happens at the same time. However I have a different problem. When I stop recording, by issuing ns.close("stream2"); command, it closes both streams.
I am using Red5 0.6RC1.
Any help? Thanks, Alex.


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


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

Reply via email to