The Video Channel object, which is derived from the Channel object, contains manipulation functions specific to video channels.
NetMeeting 2.1 allows audio and video with only one other meeting participant at a time. Therefore, there can be only one active incoming Video Channel and one active outgoing Video Channel at any given time.
To obtain a Video Channel, use INmChannel::QueryInterface with the IID_INmChannelVideo interface identifier.
INmChannelVideo Interface |
INmChannelVideoNotify Interface |
This interface manages the exchange of video information during a conference.
In addition to the INmChannel Interface methods, this interface implements the following:
GetProperty |
GetState |
IsIncoming |
SetProperty |
HRESULT GetProperty(
[in] NM_VIDPROP uID,
[out] ULONG *puValue);
Retrieves the display properties of the current Video Channel.
S_OK | Success. |
E_INVALIDARG | uID is invalid. |
E_POINTER | puValue is an invalid pointer. |
NM_VIDPROP_PAUSE | Video pause state. puValue will receive 0 if it is not paused (default), or 1 if it is paused. |
NM_VIDPROP_WINDOW_AUTO_SIZE | The size of the video window as a percent of the actual image size being received from the video camera. puValue will be a value from 0 (no autosize) to 400 (400 percent larger than actual size). |
NM_VIDPROP_WINDOW_SIZE | The size of the video window. puValue's LOWORD will receive the width of the window size, and HIWORD will receive the height. Both values will be in pixels (from 0 to 32767). |
NM_VIDPROP_WINDOW_POSITION | The position of the video window. puValue's LOWORD will receive the window's x-coordinate, and HIWORD will receive the y-coordinate. Both values will be in pixels (from -32768 to 32767). |
NM_VIDPROP_WINDOW_TOP_MOST | Position of the video window relative to other windows. puValue will receive 0 if the window is not the topmost window, or 1 if the window is the topmost window. |
NM_VIDPROP_WINDOW_VISIBLE | Visibility of the video window. puValue will receive 0 if the window is not visible, or 1 if the window is visible. |
NM_VIDPROP_IMAGE_PREFERRED_SIZE | Size of the video window. puValue will receive one of the following: |
NM_VIDEO_SMALL | |
NM_VIDEO_MEDIUM | |
NM_VIDEO_LARGE | |
NM_VIDPROP_IMAGE_QUALITY | Image quality of the video window. puValue will receive a value from 0 to 31 (31 = highest quality). |
NM_VIDPROP_CAMERA_DIALOG | Dialogs supported by the capture device. puValue will receive one or both of the following constants: |
NM_VIDEO_FORMAT_DIALOG | |
NM_VIDEO_SOURCE_DIALOG |
Back to INmChannelVideo Interface
HRESULT GetState(
[out] NM_VIDEO_STATE *puState);
Retrieves the state of the current Video Channel.
NM_VIDEO_BOTHPAUSED | The local and remote computers are connected with video, and they are both paused. |
NM_VIDEO_IDLE | The local computer does not have a video connection to anyone, and it is not displaying local video. |
NM_VIDEO_LOCALPAUSED | The local and remote computers are connected with video, but video is paused. The remote computer's video is not paused. |
NM_VIDEO_PREVIEWING | The local computer does not have a video connection to anyone, but it is displaying local video. |
NM_VIDEO_REMOTEPAUSED | The local and remote computers are connected with video, and the remote computer's video is paused. |
NM_VIDEO_TRANSFERRING | The local and remote computers are connected with video, and neither computer is paused (video is being transferred between the two computers). |
Back to INmChannelVideo Interface
HRESULT IsIncoming(void);
Determines if a video source is incoming (receiving) or outgoing (sending).
Back to INmChannelVideo Interface
HRESULT SetProperty(
[in] NM_VIDPROP uID,
[in] ULONG uValue);
Sets the properties of the current Video Channel.
NM_VIDPROP_PAUSE | Video pause state. Set uValue to 0 to play (default), or 1 to pause. |
NM_VIDPROP_WINDOW_AUTO_SIZE | Sets the size of the video window as a percent of the actual image size being received from the video camera. uValue may be a value from 0 (no autosize) to 400 (400 percent larger than actual size). |
NM_VIDPROP_WINDOW_SIZE | Set uValue's LOWORD to the desired width of the window, and HIWORD to the desired height (both in pixels). Both values may be set from 0 to 32767. |
NM_VIDPROP_WINDOW_POSITION | Set uValue's LOWORD to the desired x-coordinate, and HIWORD to the desired the y-coordinate. Both values must be in pixels (from -32768 to 32767). |
NM_VIDPROP_WINDOW_TOP_MOST | Set uValue to 1 to set the video window as the topmost window, or 0 to set it as not topmost. |
NM_VIDPROP_WINDOW_VISIBLE | Set uValue to 0 to hide the video window, or 1 to make it visible. |
NM_VIDPROP_IMAGE_PREFERRED_SIZE | Set uValue to one of the following values to alter the video window's size: |
NM_VIDEO_SMALL | |
NM_VIDEO_MEDIUM | |
NM_VIDEO_LARGE | |
NM_VIDPROP_IMAGE_QUALITY | Set uValue to a value from 0 to 31 (31 = highest quality) to alter the image quality. |
NM_VIDPROP_CAMERA_DIALOG | Set the dialog used by the capture device by assigning one of the following values to uValue: |
NM_VIDEO_FORMAT_DIALOG | |
NM_VIDEO_SOURCE_DIALOG |
Back to INmChannelVideo Interface
This is an event notification sink interface for the INmChannelVideo interface. The methods in this interface are called by the Video Channel object when specific events occur.
These event sink methods should be defined and implemented by the client application to respond to notifications from a Video Channel object. For example, the INmChannelVideoNotify::StateChanged method is notified when the state of the Video Channel has changed. The client application implementation of this method could provide a display to the user informing him or her of this change.
MemberChanged |
NmUI |
PropertyChanged |
StateChanged |
HRESULT MemberChanged(
[in] NM_MEMBER_NOTIFY uNotify,
[in] INmMember *pMember);
Receives notification that a member of the Video Channel was added, removed, or updated. This method is inherited from INmChannelNotify.
NM_MEMBER_ADDED | A member was added to the conference. |
NM_MEMBER_REMOVED | A member was removed from the conference. |
NM_MEMBER_UPDATED | Information for a conference member was updated. |
Back to INmChannelVideoNotify Interface
HRESULT NmUI(
[in] CONFN uNotify);
Receives event notification when a channel change occurs. Only the application in charge (initialized with NM_INIT_CONTROL) of the NetMeeting user interface will receive these notifications. This method is inherited from INmChannelNotify.
Back to INmChannelVideoNotify Interface
HRESULT PropertyChanged(
[in] DWORD dwReserved);
Indicates that the video property has changed.
NM_VIDPROP_PAUSE | Pause state. |
NM_VIDPROP_WINDOW_AUTO_SIZE | Size of the video window as a percentage of the actual image size received from the camera. |
NM_VIDPROP_WINDOW_SIZE | Size of the video window. |
NM_VIDPROP_WINDOW_POSITION | Position of the video window. |
NM_VIDPROP_WINDOW_TOP_MOST | Whether or not the video window is the topmost window. |
NM_VIDPROP_WINDOW_VISIBLE | Whether or not the video window is visible. |
NM_VIDPROP_IMAGE_PREFERRED_SIZE | Size of the video window. |
NM_VIDPROP_IMAGE_QUALITY | Quality of the video image. |
NM_VIDPROP_CAMERA_DIALOG | Dialog used by the capture device. |
When this event sink is notified, use INmChannelVideo::GetProperty to determine the new state of the property.
Back to INmChannelVideoNotify Interface
HRESULT StateChanged(
[in] NM_VIDEO_STATE uState);
Indicates that the video state has changed.
NM_VIDEO_BOTHPAUSED | The local and remote computers are connected with video, and they are both paused. |
NM_VIDEO_IDLE | The local computer does not have a video connection to anyone, and it is not displaying local video. |
NM_VIDEO_LOCALPAUSED | The local and remote computers are connected with video, but video is paused. The remote computer's video is not paused. |
NM_VIDEO_PREVIEWING | The local computer does not have a video connection to anyone, but it is displaying local video. |
NM_VIDEO_REMOTEPAUSED | The local and remote computers are connected with video, and the remote computer's video is paused. |
NM_VIDEO_TRANSFERRING | The local and remote computers are connected with video, and neither computer is paused (video is being transferred between the two computers). |
Back to INmChannelVideoNotify Interface
Last Updated: November 1, 1997
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.