I keep getting this error on the UI side of things. Funny thing is first pass through the UI. There is not a problem logging in.
The failure is happening at this line cSession.archiveManager.isRecording = true;
My question is. What do I need to synchronize against. I have not posted any code yet, because,, there is a large amount of code that I would
need to obtain permission from my client in order to publish it.
But. The scenario is, the client logs into the LCCS server when a notification alert occurrs. The session is recorded, then, the user logs ou.
When I initiate the scenario in close succession, the error happens. There is some state somewhere that is being held on to.
Loging Sequence:
--------------------------
initiatorAudioSub.subscribe();
initiatorAudioPub.publish();
cSession.archiveID = data.collabBundle.transactionID;
cSession.archiveManager.isRecording = true;
sharedProperty = new SharedProperty();
sharedProperty.isSessionDependent = true ;
sharedProperty.sharedID = data.collabBundle.room.id;
sharedProperty.connectSession = cSession ;
sharedProperty.subscribe();
webCamPub.publish();
Logout Sequence
--------------------------
initiatorAudioSub.close();
initiatorAudioPub.stop();
webCamPub.stop();
cSession.archiveManager.isRecording = false;
cSession.logout();
Views
Replies
Total Likes
HI Jeff,
Which collection node is firing the error? You should be able to drill down in the error stack in Flash Builder's debug panel to find out. I suspect you're calling isRecording before the ConnectSession is synchronized, which might cause this. Make sure to wait for ConnectSession's "synchronizationChange" event before starting recording.
hope that helps
nigel
Views
Replies
Total Likes
Hi Nigel,
Here is the stack trace
Error: The node is not synchronized. Make sure you've subscribed.
at com.adobe.rtc.sharedModel::CollectionNode/publishItem()[E:\flashfarm\branches\connect\1108\SDKApp\payload\libs\player10.1\src\com\adobe\rtc\sharedModel\CollectionNode.as:626]
at com.adobe.rtc.sharedManagers::RoomManager/recordSession()[E:\flashfarm\branches\connect\1108\SDKApp\payload\libs\player10.1\src\com\adobe\rtc\sharedManagers\RoomManager.as:977]
at com.adobe.rtc.archive::ArchiveManager/set isRecording()[E:\flashfarm\branches\connect\1108\SDKApp\payload\libs\player10.1\src\com\adobe\rtc\archive\ArchiveManager.as:253]
I tried what you suggested, waited for the synchronizeChangeEvent like so.
private function synchronizationChangeHandler(event:SessionEvent):void {
trace("Session synchronization changed");
cSession.archiveManager.isRecording = true;
}
However, I receive the same exception.
Thanks Again.
Views
Replies
Total Likes
Hi there,
Close, but I still can't tell which node was trying to publish.. It seems
like it's the roomManager, which should be fully subscribed and synched by
the time the SynchronizationChange event happens. Are you sure the session
is actually in sync at the time? The event fires both when you sync up and
when you go out of sync (reconnect or disconnect). You can test this with
cSession.isSynchronized.
nigel
Views
Replies
Total Likes
Nigel,
It appears that the SDK 2.0 stuff broke things.
This function made everything work as expected.
protected function onStreamRecieved(p_evt:StreamEvent):void {
if (p_evt.streamDescriptor.type == StreamManager.CAMERA_STREAM) {
trace("received a camera stream from: " + p_evt.streamDescriptor.streamPublisherID);
}
}
Views
Replies
Total Likes
I can't imagine that this had any impact on the error you were showing, or that the 2.0 SDK did anything related to either of these. Glad things are working for you though.
nigel
Views
Replies
Total Likes
You know this better than I do. But. I think, that if the stream can't be delivered to the client, it puts the session in an out of sync state with the server.
That's my take on it. But. Its pure speculation at this point. When I get the time, I'm going to explore this further. But. For now. It's working.
But. Thanks again.
Views
Replies
Total Likes