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

Reply via email to