private IVideoWindow FindIVideoWindow(UCC_MEDIA_DIRECTIONS mediaDirection) { if (this.UccSession != null && this.UccSession.Participants != null) { foreach (IUccAudioVideoSessionParticipant participant in this.UccSession.Participants) { IUccVideoMediaChannel channel = this.FindMediaChannel <IUccVideoMediaChannel>(participant); if (channel != null) { IVideoWindow ivideoWindow = channel.get_VideoWindow(mediaDirection); if (ivideoWindow != null) { return(ivideoWindow); } } } } return(null); }
protected virtual void OnNegotiatedMediaChanged(IUccMediaChannel eventSource, UCC_MEDIA_DIRECTIONS oldMediaDirection, UCC_MEDIA_DIRECTIONS newMediaDirection) { if ((eventSource.MediaType & UCC_MEDIA_TYPES.UCCMT_VIDEO) == UCC_MEDIA_TYPES.UCCMT_VIDEO) { this.VideoOutChannelCount += GetMediaDeltaCount(UCC_MEDIA_DIRECTIONS.UCCMD_SEND, oldMediaDirection, newMediaDirection); this.VideoInChannelCount += GetMediaDeltaCount(UCC_MEDIA_DIRECTIONS.UCCMD_RECEIVE, oldMediaDirection, newMediaDirection); } if ((eventSource.MediaType & UCC_MEDIA_TYPES.UCCMT_AUDIO) == UCC_MEDIA_TYPES.UCCMT_AUDIO) { this.AudioOutChannelCount += GetMediaDeltaCount(UCC_MEDIA_DIRECTIONS.UCCMD_SEND, oldMediaDirection, newMediaDirection); this.AudioInChannelCount += GetMediaDeltaCount(UCC_MEDIA_DIRECTIONS.UCCMD_RECEIVE, oldMediaDirection, newMediaDirection); } }
private int GetMediaDeltaCount(UCC_MEDIA_DIRECTIONS direction, UCC_MEDIA_DIRECTIONS oldMediaDirection, UCC_MEDIA_DIRECTIONS newMediaDirection) { return((((newMediaDirection & direction) != 0) ? 1 : 0) + (((oldMediaDirection & direction) != 0) ? -1 : 0)); }