On 5/16/06, Kerem Hadimli <[EMAIL PROTECTED]> wrote:
Well, I've just committed some code yesterday and the streaming part is quite different from that in 0.4.1 branch. But one thing is clear that the notification message won't affect any functionality of streaming.
hi Steven.
i'm not sure, my main client/app doesn't subscribe to its own
published stream (i've checked it), it just publishes, and subscribes
others' the normal way, but when i use 2 clients, and connect and
disconnect one, sometimes, the other one gets disconnected after it
starts receiving newly connected one's stream [it just disconnects the
way like subscribing to own stream code i've sent]
i've just checked it with trunk (rev851), the problem doesn't occur
there. One thing i've noticed, the code i've sent here, receives
NetStream.Publish.Start on 4.1 branch, but doesn't receive on current
version of trunk. Maybe it's connected?
Well, I've just committed some code yesterday and the streaming part is quite different from that in 0.4.1 branch. But one thing is clear that the notification message won't affect any functionality of streaming.
-kerem
On 5/16/06, Steven Gong <[EMAIL PROTECTED]> wrote:
> Hi Kerem,
> I have noticed several occasions that the fp will disconnect from server
> automatically. For example, if I make the recording stream available for
> subscription, the subscriber will be automatically disconnected. This seems
> to be the same as you have met and I think it may be due to the behaviour of
> fp not the problem of Red5.
>
>
> On 5/16/06, Kerem Hadimli <[EMAIL PROTECTED]> wrote:
> >
> sorry this is the 3rd message, it's 5 AM here, my mind is working slow :)
>
> i'm attaching the server log if it helps
>
> after the video codec tests, the server enters a disconnect phase,
> starting from removing the stream.
>
> [java] [WARN] 38034 mina-1:(
> org.red5.server.net.rtmp.RTMPMinaIoHandler.sessionOpened
> ) Is tcp
> delay enabled: false
> [java] [DEBUG] 38044 mina-4:(
> org.red5.server.Server.lookupGlobal
> ) Check host and path: localhost/test
> [java] [DEBUG] 38044 mina-4:(
> org.red5.server.Scope.getContext )
> returning context
> [java] [DEBUG] 38044 mina-4:(
> org.red5.server.Scope.hasChildScope
> ) Has child scope? test in [ [EMAIL PROTECTED] Depth = 0, Path = '',
> Name = 'default']
> [java] [DEBUG] 38044 mina-4:(
> org.red5.server.CoreHandler.connect
> ) Connect to core handler ?
> [java] [DEBUG] 38054 mina-4:( org.red5.server.Scope.connect ) adding
> client
> [java] [DEBUG] 38054 mina-4:(
> org.red5.server.adapter.ApplicationAdapter.appConnect )
> appConnect:
> [EMAIL PROTECTED]
> [java] [DEBUG] 38064 mina-4:(
> org.red5.server.adapter.ApplicationAdapter.appJoin )
> appJoin: Client:
> 1 >> [EMAIL PROTECTED] Depth = 1, Path = '/default', Name = 'test']
> [java] [DEBUG] 38064 mina-4:( org.red5.server.Scope.connect ) adding
> client
> [java] [DEBUG] 38064 mina-4:(
> org.red5.server.Scope.getContext )
> returning context
> [java] [DEBUG] 38104 mina-4:(
> org.red5.server.Scope.getContext )
> returning context
> [java] [DEBUG] 38104 mina-4:(
> org.red5.server.service.ServiceInvoker.findMethodWithExactParameters
> )
> Found 1 methods
> [java] [DEBUG] 38114 mina-4:(
> org.red5.server.service.ServiceInvoker.invoke ) Invoking
> method:
> public int
> org.red5.server.stream.ScopeWrappingStreamService.createStream()
> [java] [DEBUG] 38114 mina-4:(
> org.red5.server.service.ServiceInvoker.invoke ) result: 1
> [java] [DEBUG] 38114 mina-4:(
> org.red5.server.Scope.getContext )
> returning context
> [java] [DEBUG] 38114 mina-4:(
> org.red5.server.service.ServiceInvoker.findMethodWithExactParameters
> )
> Found 1 methods
> [java] [DEBUG] 38125 mina-4:(
> org.red5.server.service.ServiceInvoker.invoke ) Invoking
> method:
> public int
> org.red5.server.stream.ScopeWrappingStreamService.createStream()
> [java] [DEBUG] 38125 mina-4:(
> org.red5.server.service.ServiceInvoker.invoke ) result: 2
> [java] [DEBUG] 40248 mina-4:(
> org.red5.server.Scope.getContext )
> returning context
> [java] [DEBUG] 40258 mina-4:(
> org.red5.server.service.ServiceInvoker.invoke ) 0 =>
> hede
> [java] [DEBUG] 40258 mina-4:(
> org.red5.server.service.ServiceInvoker.invoke ) 1 =>
> live
> [java] [DEBUG] 40258 mina-4:(
> org.red5.server.service.ServiceInvoker.findMethodWithExactParameters
> )
> Found 1 methods
> [java] [DEBUG] 40258 mina-4:(
> org.red5.server.service.ServiceInvoker.invoke ) Invoking
> method:
> public void
> org.red5.server.stream.ScopeWrappingStreamService.publish(java.lang.String ,java.lang.Str
> ing)
> [java] [DEBUG] 40258 mina-4:(
> org.red5.server.Scope.addChildScope
> ) Add child scope:
> [EMAIL PROTECTED]
> to [EMAIL PROTECTED] Depth = 1, Path = '/default', Name = 't
> est']
> [java] [DEBUG] 40268 mina-4:(
> org.red5.server.Scope.getContext )
> returning context
> [java] [DEBUG] 40268 mina-4:(
> org.red5.server.service.ServiceInvoker.invoke ) result:
> null
> [java] [DEBUG] 40328 mina-1:(
> org.red5.server.Scope.getContext )
> returning context
> [java] [DEBUG] 40338 mina-1:(
> org.red5.server.service.ServiceInvoker.invoke ) 0 =>
> hede
> [java] [DEBUG] 40358 mina-1:(
> org.red5.server.service.ServiceInvoker.findMethodWithExactParameters
> )
> Found 1 methods
> [java] [DEBUG] 40368 mina-1:(
> org.red5.server.service.ServiceInvoker.invoke ) Invoking
> method:
> public void
> org.red5.server.stream.ScopeWrappingStreamService.play(java.lang.String)
> [java] [DEBUG] 40368 mina-1:(
> org.red5.server.Scope.hasChildScope
> ) Has child scope? hede in [EMAIL PROTECTED] Depth = 1, Path =
> '/default', Name = 'test']
> [java] [DEBUG] 40388 mina-1:(
> org.red5.server.service.ServiceInvoker.invoke ) result:
> null
> [java] [INFO] 40398 mina-1:(
> org.red5.server.stream.VideoCodecFactory.getVideoCodec )
> Trying codec
> [EMAIL PROTECTED]
> [java] [INFO] 40398 mina-1:(
> org.red5.server.stream.VideoCodecFactory.getVideoCodec )
> Trying codec
> [EMAIL PROTECTED]
> [java] [INFO] 41399 mina-4:(
> org.red5.server.stream.ScopeWrappingStreamManager.deleteStream
> )
> Remove stream
> scope:[EMAIL PROTECTED]
> [java] [DEBUG] 41399 mina-4:(
> org.red5.server.Scope.removeChildScope ) Remove child scope
> [java] [DEBUG] 41399 mina-4:(
> org.red5.server.BaseConnection.close ) Close, disconnect
> from scope,
> and children
> [java] [DEBUG] 41399 mina-4:(
> org.red5.server.adapter.ApplicationAdapter.disconnect )
> disconnect
> [java] [DEBUG] 41399 mina-4:(
> org.red5.server.adapter.ApplicationAdapter.appDisconnect
> )
> appDisconnect:
> [EMAIL PROTECTED]
> [java] [DEBUG] 41399 mina-4:(
> org.red5.server.adapter.ApplicationAdapter.leave ) leave
> [java] [DEBUG] 41399 mina-4:(
> org.red5.server.adapter.ApplicationAdapter.appLeave )
> appLeave:
> Client: 1 << [EMAIL PROTECTED] Depth = 1, Path = '/default', Name =
> 'test']
>
> -kerem
>
> On 5/16/06, Kerem Hadimli <[EMAIL PROTECTED]> wrote:
> > oh, forgot to tell, i've tested this behaviour with red5-0_4-branch on
> svn
> >
> > -kerem
> >
> > On 5/16/06, Kerem Hadimli <[EMAIL PROTECTED]> wrote:
> > > well, we've been having some interesting disconnect bugs in the test
> > > conference application we're developing. The problem was actually,
> > > when 2 clients are connected, one (say A) disconnects and reconnects,
> > > publishes stream with a different name, the other one (say B)
> > > subscribes to it, and then B is disconnected from server. Server-log
> > > seems like its normal, the client closed connection. Client
> > > NetConnection.onStatus() gets a Connection.Closed . But i couldn't find
> > > it.
> > >
> > > I've managed to regenerate a similar bug, i'm not sure if this is the
> > > same, i don't think we have a "subscribe to own stream" in the client,
> > > but we may have :)
> > >
> > > i've been trying to regenerate this behaviour for the last 6 hours,
> > > and i think i've managed to do so. Just, a client connects, starting
> > > publishing his cam with a name, and then he creates a second NetStream
> > > object and subscribes to his own stream.
> > >
> > > The server sometimes disconnects the client directly, and sometimes
> > > not, i'd say %50 of the time. Just connect&disconnect a few times if
> > > it doesn't on the first try. (sometimes it does on the first try, so
> > > i'm sure it's not about some garbage from old connection)
> > >
> > > I'm not sure if this is the cause of the problem in our test
> > > client/application, i don't think it subscribes to its own stream (but
> > > i'll check it), the actual problem may be somewhere else, but this
> > > code below seems to regenerate the problem.
> > >
> > > here's the actionscript, just add the 3 items on stage and there you go
> > >
> > > ---------------
> > > // 3 elements needed on stage
> > > // ConnectButton -- a button
> > > // video -- a video object
> > > // Text -- a textarea object
> > >
> > >
> > > nc = new NetConnection();
> > >
> > > var ns1 = null;
> > > var ns2 = null;
> > >
> > > ConnectButton.text = "Connect";
> > >
> > > nc. (info)
> > > {
> > > Text.text += info.code + "\n";
> > > ConnectButton.enabled = true;
> > >
> > > switch(info.code)
> > > {
> > > case "NetConnection.Connect.Success":
> > > ConnectButton.label = "Disconnect";
> > >
> > > ns1 = new NetStream(nc);
> > > ns1.attachVideo(Camera.get());
> > > ns1.publish("hede", "live");
> > >
> > > ns2 = new NetStream(nc);
> > > video.attachVideo(ns2);
> > > ns2.play("hede");
> > >
> > > break;
> > > case "NetConnection.Connect.Failed":
> > > ConnectButton.label = "Connect";
> > > break;
> > > case " NetConnection.Connect.Closed":
> > > ConnectButton.label = "Connect";
> > >
> > > if (ns1 != null)
> > > {
> > > ns1.close();
> > > ns1 = null;
> > > }
> > > if (ns2 != null)
> > > {
> > > ns2.close();
> > > ns2 = null;
> > > video.clear();
> > > }
> > >
> > > break;
> > > }
> > > }
> > >
> > > ConnectButton.addEventListener("click", this);
> > >
> > > function click (ev)
> > > {
> > > var button = ev.target;
> > > if (button == ConnectButton)
> > > {
> > > switch (button.label)
> > > {
> > > case "Connect":
> > > nc.connect("rtmp://localhost/test");
> > > button.label = "Wait...";
> > > button.enabled = false;
> > > break;
> > > case "Disconnect":
> > > nc.close();
> > > button.label = "Connect";
> > > break;
> > > }
> > > }
> > > }
> > > -----------------
> > >
> > > -kerem
> > >
> >
>
> _______________________________________________
> Red5 mailing list
> [email protected]
> http://osflash.org/mailman/listinfo/red5_osflash.org
>
>
>
> --
> Best Regards
> Steven Gong
> _______________________________________________
> 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
--
Best Regards
Steven Gong
_______________________________________________ Red5 mailing list [email protected] http://osflash.org/mailman/listinfo/red5_osflash.org
