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.onStatus = function (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