I am trying to develop a video cum chat application where users will be able to text chat with the moderator. The moderator however can video + text chat which the users could see. Does it mean I need 2 app instances one to text chat and other to video?
I have multiple moderators with this capability. How do I create a set of these "rooms" one for each moderator dynamically?
once I have the rooms, how could the flex application get the names of all the rooms?
How could I make a room private and not allow anyone else to connect to it, but only the moderator and a couple of members.
In Wowza, You can have an application which would define all your rooms and then you have instances of that application (chat rooms) that your clients actually connect to. You can stream video and also set up a chat using shared objects on the same appInstance. One appInstance on the server cannot interact directly with another appInstance.
As shamrock says, if you want to make a room private, you will need to do some sort of authentication.
you can do both video and chat in the same application instance as video is done with publish (from the moderator connection) and play (from the users connection) and then chat can be done with other functions so basic examples can be found in the example directory of the Wowza install.
To create one dynamically you will probably need to write a HTTP provider module which has permissions to create directories on the filesystem ( alittle dangerous without some good checks in place ) so create application/directory and conf/directory.
Your 'chat' module could also return all the applications running, so if they were all chat applications would return all the rooms, or you could add a property to the application to mark it as a chat room.
To make a private room you would need to add some kind of username checking to the connection of the room so only allowing in names in a list. This is relatively simple but then you also need some kind of room management.