Groups on a media server (TRVMediaServer component): named and password-protected groups
Starting from this version, a group may have a name and a password. They may be specified in the parameters of TRVCamSender.JoinGroup. The group name and the identifier of the group creator may be requested using TRVCamSender.GetGroupInfo method, and returned in TRVCamReceiver.OnGetGroupInfo. To join a password-protected group, other users must specify the same password in TRVCamSender.JoinGroup.
A client may receive a list of all groups from the server, using TRVCamSender.GetAllGroups and TRVCamReceiver.OnGetAllGroups.
The count of groups on the server may be limited in TRVMediaServer.MaxGroupCount property.
Some server features (like getting the list of all groups, getting the list of all online users, restarting the server) may be undesirable, so they must be turned on in TRVMediaServer.CmdOptions
Other new features of a media server
A client may restart the server by calling TRVCamSender.RestartServer (works only if this feature is turned on in TRVMediaServer.CmdOptions)
A client may request a list of all [online] users on the server: TRVCamSender.GetAllUsers, GetAllOnlineUsers (works only if this feature is turned on in TRVMediaServer.CmdOptions)
Changes in sound processing
•TRVMicrophone allows choosing the microphone (or another audio input device), new properties: AudioInputDeviceIndex, AudioInputDeviceCount, AudioInputDeviceList.
•You can encode audio data before sending them to the network (TRVCamSender.OnEncodeAudio) and decode them when they are recieved (TRVCamReceiver.OnDecodeAudio).
Changes in local USB cameras
•RVMedia can decode different formats of video from local web cameras (YV12, YUYV, YUY2, YVYU, UYVY, NV12, etc.) itself. Previously, it relied on a converter that converts these formats to RGB (it may be installed or not).
•TRVCamera.VideoResolution now affects web cameras
•Our motion detection class (used in TRVCamSender to detect changed areas to send) is now available as TRVMotionDetector.
•RVMedia supports FFmpeg 3.0 (as well as previous versions of FFmpeg libraries)
•RVMedia supports newer (H.264) Foscam IP cameras (rotation and administration functions). New properties to configure these cameras: Hue, Saturation, Sharpness, Bitrate
•TRVCamSender.UseVideoResolution property is removed. Instead, a new option is added to TRVVideoResolution: rvDefault. This value is now used as default for TRVCamera.VideoResolution и TRVCamSender.VideoResolution. New resolutions are added to TRVVideoResolution.
•new package scheme: 32+64 bit runtime packages + 32 bit designtime packages.
•TRVCamReceiver.OnVideoAccessRequest and OnVideoAccessCancelRequest are renamed to OnMediaAccessRequest and OnMediaAccessCancelRequest (as they already were called in this help file) . A new parameter ADataType is added to these events. The same parameter is added as an optional parameter to TRVCamSender.SendMediaAccessRequest and SendMediaAccessCancelRequest.
•TRVCamera.GStreamerProperty.Bitrate is renamed to KBitrate.
•TRVCamera.Decoder.Baudrate was replaced by Bitrate.
Changes in demo projects
•new demo: ClientServer\VideoChats\ChatRooms\ shows how to use named password-protected rooms, and how a room creator can choose a user who will transmit video to all other group members
•Cameras\MotionDetect is moved to Cameras\MotionDetect_Old, a new demo (using TRVMotionDetector) is placed in Cameras\MotionDetect\
•previously, TRVCamReceiver.Senders.GUIDFrom did not filter data of all types, and this property was used in video chats to filter video; in the new version, TRVCamReceiver.Senders.VideoSenders property is used, as it should;
•changes related to changes in VideoResolution and UseVideoResolution properties (see above)
•ClientServer\VideoChat demos allow choosing a microphone
•changes related to renaming "VideoAccess" events to "MediaAccess" (see above)