You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openmeetings.apache.org by "seba.wagner@gmail.com" <se...@gmail.com> on 2012/02/23 15:02:40 UTC
Re: svn commit: r1292789 - /incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/persistence/beans/recording/RoomClient.java
Hi Maxim,
if you change the getter-method of this value the meaning is different.
See the documentation of "avClient"
/**
* If true this client is only used to stream audio/video events,
* he should not receive any sync events / push messages <br/>
* <br/>
* null means not initialized yet<br/>
* true the user is an audio/video connection<br/>
* false the user is a regular user with full session object<br/>
*
*/
@Column(name="isAVClient")
private Boolean isAVClient = null;
with your implementation there is no way of getting the "null".
The problem is that we have 3 rtmpConnection:
1) screensharing
2) audio/video
3) main connection
RoomClient is main connection if rcl.getAvClient() == false and
ircl.isScreenSharing() == false AND rcl.getAvClient() != null
see: ClientListManager.java method:
public synchronized RoomClient getClientByPublicSID(String publicSID,
Boolean isAVClient)
Cause if the avClient is NULL that does mean that he is NOT an avClient.
So this function has to return NULL as long as avClient was not set.
Sebastian
2012/2/23 <so...@apache.org>
> Author: solomax
> Date: Thu Feb 23 13:14:21 2012
> New Revision: 1292789
>
> URL: http://svn.apache.org/viewvc?rev=1292789&view=rev
> Log:
> NPE while stoping recording is fixed
>
> Modified:
>
> incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/persistence/beans/recording/RoomClient.java
>
> Modified:
> incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/persistence/beans/recording/RoomClient.java
> URL:
> http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/persistence/beans/recording/RoomClient.java?rev=1292789&r1=1292788&r2=1292789&view=diff
>
> ==============================================================================
> ---
> incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/persistence/beans/recording/RoomClient.java
> (original)
> +++
> incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/persistence/beans/recording/RoomClient.java
> Thu Feb 23 13:14:21 2012
> @@ -672,7 +672,7 @@ public class RoomClient implements Seria
> * @return
> */
> public Boolean getIsAVClient() {
> - return isAVClient;
> + return isAVClient == null ? false : isAVClient;
> }
>
> public void setIsAVClient(Boolean isAVClient) {
>
>
>
--
Sebastian Wagner
http://www.openmeetings.de
http://incubator.apache.org/openmeetings/
http://www.webbase-design.de
http://www.wagner-sebastian.com
seba.wagner@gmail.com
Re: svn commit: r1292789 - /incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/persistence/beans/recording/RoomClient.java
Posted by Maxim Solodovnik <so...@gmail.com>.
I thought the client is either AV or not
did commit fix on this, will retest recording.
without this code FLVRecording was not saved (*.ser file issue)
On Thu, Feb 23, 2012 at 21:02, seba.wagner@gmail.com
<se...@gmail.com>wrote:
> Hi Maxim,
>
> if you change the getter-method of this value the meaning is different.
>
> See the documentation of "avClient"
>
> /**
> * If true this client is only used to stream audio/video events,
> * he should not receive any sync events / push messages <br/>
> * <br/>
> * null means not initialized yet<br/>
> * true the user is an audio/video connection<br/>
> * false the user is a regular user with full session object<br/>
> *
> */
> @Column(name="isAVClient")
> private Boolean isAVClient = null;
>
> with your implementation there is no way of getting the "null".
>
> The problem is that we have 3 rtmpConnection:
> 1) screensharing
> 2) audio/video
> 3) main connection
>
> RoomClient is main connection if rcl.getAvClient() == false and
> ircl.isScreenSharing() == false AND rcl.getAvClient() != null
>
> see: ClientListManager.java method:
>
> public synchronized RoomClient getClientByPublicSID(String publicSID, Boolean isAVClient)
>
> Cause if the avClient is NULL that does mean that he is NOT an avClient.
>
> So this function has to return NULL as long as avClient was not set.
>
> Sebastian
>
>
> 2012/2/23 <so...@apache.org>
>
>> Author: solomax
>> Date: Thu Feb 23 13:14:21 2012
>> New Revision: 1292789
>>
>> URL: http://svn.apache.org/viewvc?rev=1292789&view=rev
>> Log:
>> NPE while stoping recording is fixed
>>
>> Modified:
>>
>> incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/persistence/beans/recording/RoomClient.java
>>
>> Modified:
>> incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/persistence/beans/recording/RoomClient.java
>> URL:
>> http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/persistence/beans/recording/RoomClient.java?rev=1292789&r1=1292788&r2=1292789&view=diff
>>
>> ==============================================================================
>> ---
>> incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/persistence/beans/recording/RoomClient.java
>> (original)
>> +++
>> incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/persistence/beans/recording/RoomClient.java
>> Thu Feb 23 13:14:21 2012
>> @@ -672,7 +672,7 @@ public class RoomClient implements Seria
>> * @return
>> */
>> public Boolean getIsAVClient() {
>> - return isAVClient;
>> + return isAVClient == null ? false : isAVClient;
>> }
>>
>> public void setIsAVClient(Boolean isAVClient) {
>>
>>
>>
>
>
> --
> Sebastian Wagner
> http://www.openmeetings.de
> http://incubator.apache.org/openmeetings/
> http://www.webbase-design.de
> http://www.wagner-sebastian.com
> seba.wagner@gmail.com
>
--
WBR
Maxim aka solomax