Ok, I think I found the problem.
Between client's connect and disconnect every new stream created get the
next id number (1,2,3,...,10,11,12,13 .) Even the earlier stream is deleted
the next one get next id in a sequence. For example, if client create 3
streams (ids are 1, 2 and 3) and then deleted them, the next new stream get
the id number equal 4. On server side is a class RTMPConnection, with this
declarations:
private final static int MAX_STREAMS = 12;
//private Context context;
private Channel[] channels = new Channel[64];
private IStream[] streams = new IStream[MAX_STREAMS];
private boolean[] reservedStreams = new boolean[MAX_STREAMS];
Some methods in this class have controll if streamId is less then 12, and if
not, the stream is rejected. StreamID is used as an index for accessing the
values of those arrays.
Is this is a bug or not it's depend of type of application. For
videoconference it is (after 11-th person disconnected, no stream is
availble). I think this is an answer for a lot of mails in this mailing
list. Someone have to reprogram RTMPConnection class, but not just
increasing MAX_STREAMS.
If no one does, I will :-(.
Tell me please, how to compile server side src.
Brane
_____
Od: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Namesto
Branko Pecnik
Poslano: 29. december 2006 18:20
Za: [email protected]
Zadeva: Re: [Red5] Is there a limit number of streams in NetConnection oris
aBUG ?
Hi.
It's me again. Nobody answer me :-(. The simple question is: How many
streams is posible through one NetConnection. I can make 11 working streams.
Is any body out there which make more then eleven ?
Brane
_____
Od: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Namesto
Branko Pecnik
Poslano: 28. december 2006 21:36
Za: [email protected]
Zadeva: [Red5] Is there a limit number of streams in NetConnection or is
aBUG ?
Hi.
At first sorry for my bad english, but I hope you will understand me.
I'm working on videoconference application. It working fine but after a few
concurent disconnects and connects of clients the new streams on client side
stop working. So I done some tests and figure out that after executing
12-th statement:
stream = new Stream(p_connection);
the new stream not working, and server after every next this statement write
to log this two lines:
[WARN] 108563 IoWorker-4:( org.red5.server.net.rtmp.RTMPHandler.warn )
Unhandled ping: Ping: 3, 0, 0, -1
00 03 00 00 00 00 00 00 00 00
I think that server is stil working fine after this event, becouse the other
clients witch connected later see each other just fine.
The other test was making the 12 same sequential statements like this:
stream = new Stream(p_connection);
stream = new Stream(p_connection);
stream = new Stream(p_connection);
stream = new Stream(p_connection);
stream = new Stream(p_connection);
stream = new Stream(p_connection);
stream = new Stream(p_connection);
stream = new Stream(p_connection);
stream = new Stream(p_connection);
stream = new Stream(p_connection);
stream = new Stream(p_connection);
stream = new Stream(p_connection);
and the stream not worked. If I write 11 statements stream work fine. ?!
Can any one test the same 12 statements and report me the result PLEASE?
I developing on WinXP with Red5-0.5, but if I copy .swf on Linux Suse 10.1
where using red5 0.6 and a couple of days old trunk all is the same.
Thanks guys for a help
Brane
__________ NOD32 1942 (20061228) Information __________
This message was checked by NOD32 antivirus system.
http://www.eset.com
__________ NOD32 1945 (20061229) Information __________
This message was checked by NOD32 antivirus system.
http://www.eset.com
_______________________________________________
Red5 mailing list
[email protected]
http://osflash.org/mailman/listinfo/red5_osflash.org