TVideoGrabber SDK 17.1.2.2 is available.
- Added: AudioDeviceIndexFromVideoDevice: index in AudioDevices of the audio capture device of the same USB device as a video capture device (e.g. the microphone of a webcam), matched on the USB device path (several identical cameras supported); -1 if none
- Added: IsVideoDeviceUSB: true if a video capture device is a USB device (webcam, UVC camera, USB capture device)
- Improved: RecordToNewFileNow without stopping the capture with the built-in MP4 / MKV writers and with AVI recordings (rm_MP4, rm_MKV, rm_AVI; rm_MP3 / rm_WMA audio recordings): no gap between the files, new file starting at a key frame (as already with the Datastead Multipurpose Encoder); other recording methods: stopped and started again as before
- Improved: Player: clips the GPU cannot decode (e.g. some H.264 Baseline profile clips) or whose GPU decoding fails before the first frame: decoded in software with PlayerHwAccel = hw_Auto; with hw_Cuda / hw_QuickSync / hw_Dxva2 / hw_d3d11: played by the LAV Filters (GPU decoding) or by the Datastead RTSP/RTMP/HTTP/ONVIF Source filter when installed; previously the playback ended at once
- Improved: device lost: cause reported by OnLog when known (device in use by another application, camera access denied by the Windows privacy settings), else its error code; logged as an error
- Improved: video capture devices: manual exposure restored by TVideoGrabber limited to the frame period of the format (e.g. -5 at 30 fps), so that the camera keeps its frame rate, with an OnLog warning; an exposure set by the application (SetCameraControl / SetCameraExposure) is applied as is
- Improved: OnLog warning of the video capture devices delivering fewer frames than their format: now reports a manual exposure longer than the frame period, e.g. “its exposure is manual, -2 (250.0 ms), longer than the frame period (33.3 ms)”
- Changed: IP cameras and live URLs through the Datastead RTSP/RTMP/HTTP/ONVIF Source filter, audio rendered: audio no longer synchronized with the video in preview by default (SyncPreview = sp_Auto): lower latency, faster connection; SyncPreview = sp_Enabled keeps the sync
- Fixed: video capture devices: Low Light Compensation not turned off on the webcams that report its range as 0..0 (e.g. Logitech StreamCam, C930e): frame rate dropping in low light, down to 4 fps (since 17.0.0.1)
- Fixed: AVI recording paused and resumed in the same file (PauseRecording / ResumeRecording): video played too fast after a resume (audio ahead of the video)
- Fixed: AVI recordings with RecordingCanPause and a video capture device delivering fewer frames than its format: “broken or missing index” warning in VLC
- Fixed: OnLog error recommending the LAV Filters for the hardware acceleration, although the clip was decoded on the GPU by the built-in source
- Fixed: OnFrameProgress / OnFrameProgress2: could stop until the next start
- Fixed: 24-bit PCM audio (e.g. MXF clips through the Datastead RTSP/RTMP/HTTP/ONVIF Source filter): no audio; VU meters now also with 24-bit PCM
- Fixed: VideoDeviceIndex, AudioDeviceIndex, VideoCompressorIndex and the other …Index functions: * wildcards (“Name*”, “*Name”, “*Name*”) not recognized, exact names only
- Fixed: Mixer_Activation, SetDisplayParent: returned false even when successful
- Fixed: SetTextOverlay_CustomVar: exception with a VarIndex out of range; AssociateMultiplexedSlave: InputNumber above 15 not refused
- Help: ONVIF_GetBool / ONVIF_SetBool, ONVIF_GetInt / ONVIF_SetInt, ONVIF_GetDouble / ONVIF_SetDouble, ONVIF_GetStr / ONVIF_SetStr and AudioVolumeEnabled documented