I was just trying out a simple WebCam publisher/subscriber example and in it I'm trying to log into a room (having autoPromote and guest to knock settings set to true) as an unauthenticated user. I'm giving the following:
<rtc:AdobeHSAuthenticator id="auth" userName="email@example.com"/>
But when I run the example as web-appliction and try to publish my webcam and subscribe the same feed back i don't get anything.
Also using the LCCS navigator AIR app, when I login to the room as the owner I don't see any other user(the unauthenticated user) logged in.
Am I doing something wrong??
Please guide me as to the correct usage of logging in as unauthenticated user.
If you have set guestsHaveToKnock to true, you need to have an admin to let the users in i.e. you can't automatically enter if you are a viewer or publisher. You will be put in the Knocking queue.
If an admin is there, he can let the users in or you need to set guestsHaveToKnock to false for auto entry of users. KnockingQueue example in our SDK examples shows how to use knocking queues and how you admin can let waiting users in.
In your room console, you can't see the user because he is not in the room yet. You need to build a mechanism similar to the example I mentioned above to let people in. And in your debug log, you will find when users enter their roles change from 5 to 10/50 depending on whether they are viewer/publisher. In your case, since you turned autopromote to true, his role will be 50 on entering the room.
Please go through the example and the develop guide for further details
Hope this helps
Thanks Hironmoy, your response was very useful. I've set guestToKnock to false and the unauthenticated users can log in.
I'm a n00b as far as Flex and LCCS is concerned, so thanks for pointing me in the right direction.
I've a follow-up question though. I'm trying to create an application using LCCS where I'll allow one-to-one videochat in a room.
Now to do that I need to specify a particular WebCam publisher id for a WebCam subscriber. I've been looking in the WebcamPublisher API doc and
from what I gathered from the documentation, I can set the publisherID attribute in the WebcamSubscriber object to specify a set of userIDs.
My question is for a WebcamPubisher object how do I get the userID associated with it?
Is there any other way I can associate a "publisher" attricbute in the WebcamSubscriber object with a WebcamPublisher object?? Can "sharedID" attribute of a WebcamPublisher be used and passed as a param to the WebcamSubscriber object?
The concept behind a publisher/subscriber mechanism is publisher will be responsible for only publishing your stream and subscriber will be responsible for showing various streams including that of yourself. So, you need to be only concerned about associating WebcamSubscriber to publisherIDs( i.e. of userIDs of the users whose stream you want to show). As mentioned in docs, by default(i.e. publisherIDs=null) a WebcamSubscriber shows all the streams(including yours if you are publishing) inside the room in a grid layout. Unless you are not using a separate layout or a situation where you want to see only specific streams, publisherIds don’t need to be set.
In your case, if its lets say, just one-one chat between you and me and both are fine seeing each other's camera, then you can just use our high level WebCamera pod component. WebCamera pod component contains a publisher and subscriber inside it to show the default case.
But if your use case is something like I only see you and you only see me or lets say, I see my stream in a small window and yours in a large window,then you should use WebcamSubscriber and WebcamPublisher components and assign publisherIds to subscriber.
There are various examples that you can see for further details. The DefaultPods example shows the use of WebCamera pod component. The WebCamera example shows the use of WebcamPublisher and WebcamSubscriber and a custom layout. Similarly zoomLayout example also shows various layout with Webcam Publisher/Subscriber. If you are using Publisher and Subscriber and not the pod, you would need to attach the publisher instance to your subscriber for your stream( see the examples).
Hope this helps
I have been away from LCCS for a bit, but I just returned to the project and it seems that I am having a problem with the user role of a GUEST not being promoted after being accepted by the OWNER. I basically have a knocking queue, where a staff lets a client into a private room. That part works great (thanks Arun)! However, even after entry, the guest seems to be stuck in the GUEST role. He can see the webcam, "Publish" button, WB, etc..., but he can't start the webcam or draw on the WB. I'm wondering if this has something to do with where I'm putting "autopromote=TRUE;"
This might be a stupid question, but does the autopromote code go into the "guest" app. or the "owner" app.? Does this code affect the the user role of the app. in which it resides, or is it only functional when it is placed within an "owner" app. and directed towards "guests" who enter the room?
THe code is functional and works only in the owner app, Basically this code changes room settings to allow all guests to be publishers.
And as you mentioned, it is only functional when it is placed within an "owner" app. and directed towards "guests" who enter the room. And all your users should be able to use the WB & publish their camers stream.