MWCapture SDK Linux  3.3.1.LAST_SVN_COMMIT_NUM
MWUSBCapture.h
1 /************************************************************************************************/
2 // MWUSBCapture.h : header file
3 
4 // MAGEWELL PROPRIETARY INFORMATION
5 
6 // The following license only applies to head files and library within Magewell's SDK
7 // and not to Magewell's SDK as a whole.
8 
9 // Copyrights © Nanjing Magewell Electronics Co., Ltd. ("Magewell") All rights reserved.
10 
11 // Magewell grands to any person who obtains the copy of Magewell's head files and library
12 // the rights,including without limitation, to use on the condition that the following terms are met:
13 // - The above copyright notice shall be retained in any circumstances.
14 // -The following disclaimer shall be included in the software and documentation and/or
15 // other materials provided for the purpose of publish, distribution or sublicense.
16 
17 // THE SOFTWARE IS PROVIDED BY MAGEWELL "AS IS" AND ANY EXPRESS, INCLUDING BUT NOT LIMITED TO,
18 // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19 // IN NO EVENT SHALL MAGEWELL BE LIABLE
20 
21 // FOR ANY CLAIM, DIRECT OR INDIRECT DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT,
22 // TORT OR OTHERWISE, ARISING IN ANY WAY OF USING THE SOFTWARE.
23 
24 // CONTACT INFORMATION:
25 // SDK@magewell.net
26 // http://www.magewell.com/
27 //
28 /************************************************************************************************/
29 #ifndef _MWUSB_CAPTURE_H_
30 #define _MWUSB_CAPTURE_H_
31 
32 #ifdef LIBMWCAPTURE_EXPORTS
33 #define LIBMWCAPTURE_API __declspec(dllexport)
34 #elif LIBMWCAPTURE_DLL
35 #define LIBMWCAPTURE_API __declspec(dllimport)
36 #else
37 #define LIBMWCAPTURE_API
38 #endif
39 
40 #ifdef _WIN32
41 #include <Windows.h>
42 #endif
43 #include <stdint.h>
44 #include "MWUSBCaptureExtension.h"
45 
46 #ifdef __cplusplus
47 extern "C" {
48 #endif
49 
88 LIBMWCAPTURE_API
90  LPFN_HOT_PLUG_CALLBACK lpfnCallback,
91  void * pParam
92  );
93 
116 MW_RESULT
117 LIBMWCAPTURE_API
119  );
120 
158 MW_RESULT
159 LIBMWCAPTURE_API
161  HUSBCHANNEL hChannel,
162  MWCAP_NOTIFY_ENABLE * pNotify
163  );
164 
208 MW_RESULT
209 LIBMWCAPTURE_API
211  HUSBCHANNEL hChannel,
212  uint64_t * pullStatusBit
213  );
214 
237 MW_RESULT
238 LIBMWCAPTURE_API
240  HUSBCHANNEL hChannel,
241  uint32_t cbOffset,
242  uint32_t cbErase
243  );
244 
278 MW_RESULT
279 LIBMWCAPTURE_API
281  HUSBCHANNEL hChannel,
282  uint32_t * pdwAddress
283  );
284 
321 MW_RESULT
322 LIBMWCAPTURE_API
324  HUSBCHANNEL hChannel,
325  char * pbyEDID,
326  uint32_t * pcbEDID
327  );
328 
362 MW_RESULT
363 LIBMWCAPTURE_API
365  HUSBCHANNEL hChannel,
366  bool_t * pbValid
367  );
368 
404 MW_RESULT
405 LIBMWCAPTURE_API
407  HUSBCHANNEL hChannel,
408  MWCAP_USB_AUDIO_NODE audioNode,
409  MWCAP_AUDIO_VOLUME* pVolume
410  );
411 
449 MW_RESULT
450 LIBMWCAPTURE_API
452  HUSBCHANNEL hChannel,
453  MWCAP_USB_AUDIO_NODE audioNode,
454  MWCAP_AUDIO_VOLUME* pVolume
455  );
456 
457 
492 MW_RESULT
493 LIBMWCAPTURE_API
495  HUSBCHANNEL hChannel,
496  MWCAP_VIDEO_OUTPUT_FOURCC* pOutputFourCC
497  );
498 
538 MW_RESULT
539 LIBMWCAPTURE_API
541  HUSBCHANNEL hChannel,
542  MWCAP_VIDEO_OUTPUT_FOURCC* pOutputFourCC
543  );
544 
578 MW_RESULT
579 LIBMWCAPTURE_API
581  HUSBCHANNEL hChannel,
583  );
584 
624 MW_RESULT
625 LIBMWCAPTURE_API
627  HUSBCHANNEL hChannel,
629  );
630 
664 MW_RESULT
665 LIBMWCAPTURE_API
667  HUSBCHANNEL hChannel,
668  MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL* pFrameInterval
669  );
670 
710 MW_RESULT
711 LIBMWCAPTURE_API
713  HUSBCHANNEL hChannel,
714  MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL* pFrameInterval
715  );
716 
751 MW_RESULT
752 LIBMWCAPTURE_API
754  HUSBCHANNEL hChannel,
755  MWCAP_STATUS_IMAGE_MODE * pImageMode
756  );
757 
794 MW_RESULT
795 LIBMWCAPTURE_API
797  HUSBCHANNEL hChannel,
798  MWCAP_STATUS_IMAGE_MODE * pImageMode
799  );
800 
834 MW_RESULT
835 LIBMWCAPTURE_API
837  HUSBCHANNEL hChannel,
838  MWCAP_DEVICE_NAME_MODE * pNameMode
839  );
840 
876 MW_RESULT
877 LIBMWCAPTURE_API
879  HUSBCHANNEL hChannel,
880  MWCAP_DEVICE_NAME_MODE * pNameMode
881  );
882 
920 MW_RESULT
921 LIBMWCAPTURE_API
923  HUSBCHANNEL hChannel
924  );
925 
957 MW_RESULT
958 LIBMWCAPTURE_API
960  HUSBCHANNEL hChannel
961  );
962 
994 MW_RESULT
995 LIBMWCAPTURE_API
997  HUSBCHANNEL hChannel
998  );
999 
1035 MW_RESULT
1036 LIBMWCAPTURE_API
1038  HUSBCHANNEL hChannel,
1039  uint32_t * pdwFlag
1040  );
1041 
1042 
1050 MW_RESULT
1051 LIBMWCAPTURE_API
1052 MWUSBGetEDIDMode(HUSBCHANNEL hChannel, MWCAP_EDID_MODE * pMode);
1060 MW_RESULT
1061 LIBMWCAPTURE_API
1062 MWUSBSetEDIDMode(HUSBCHANNEL hChannel, MWCAP_EDID_MODE mode);
1063 
1064 
1104 MW_RESULT
1105 LIBMWCAPTURE_API
1107  HCHANNEL hChannel,
1108  MWCAP_VIDEO_FRAMERATE* pFramerate,
1109  int* nCount
1110 );
1111 
1112 
1151 MW_RESULT
1152 LIBMWCAPTURE_API
1154  HCHANNEL hChannel,
1155  MWCAP_VIDEO_FRAMERATE_EX* pFramerate,
1156  int* nCount
1157 );
1158 
1159 #ifdef __cplusplus
1160 }
1161 #endif
1162 
1163 
1164 #endif //_MWUSB_CAPTURE_H_
MW_RESULT LIBMWCAPTURE_API MWUSBGetFirmwareReadAddress(HUSBCHANNEL hChannel, uint32_t *pdwAddress)
Gets read address of USB device firmware.
MW_RESULT LIBMWCAPTURE_API MWUSBGetNotifyStatus(HUSBCHANNEL hChannel, uint64_t *pullStatusBit)
Gets notification status of USB specified channel.
MW_RESULT LIBMWCAPTURE_API MWUSBSetEDIDMode(HUSBCHANNEL hChannel, MWCAP_EDID_MODE mode)
Sets the edid mode.
MW_RESULT LIBMWCAPTURE_API MWUSBSetNotifyEnable(HUSBCHANNEL hChannel, MWCAP_NOTIFY_ENABLE *pNotify)
Sets notification types for specified channel.
Definition: MWCaptureExtension.h:1100
MW_RESULT LIBMWCAPTURE_API MWUSBSetDeviceNameMode(HUSBCHANNEL hChannel, MWCAP_DEVICE_NAME_MODE *pNameMode)
Sets device name pattern of USB device.
MW_RESULT LIBMWCAPTURE_API MWUSBGetStatusImageMode(HUSBCHANNEL hChannel, MWCAP_STATUS_IMAGE_MODE *pImageMode)
Gets the image pattern showed when there is not a valid input signal.
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoOutputFrameSize(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_SIZE *pFrameSize)
Gets resolutions of captured images supported by the USB device.
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoCaptureSupportFrameRate(HCHANNEL hChannel, MWCAP_VIDEO_FRAMERATE *pFramerate, int *nCount)
Gets frame rates supported by USB device based on v4l.
MW_RESULT LIBMWCAPTURE_API MWUSBGetExtensionSupported(HUSBCHANNEL hChannel, uint32_t *pdwFlag)
Gets extended Hid interfaces supported by USB device.
MW_RESULT LIBMWCAPTURE_API MWUSBSetStatusImageMode(HUSBCHANNEL hChannel, MWCAP_STATUS_IMAGE_MODE *pImageMode)
Sets the image pattern showed when there is not a valid input signal.
MW_RESULT LIBMWCAPTURE_API MWUSBSetAudioVolume(HUSBCHANNEL hChannel, MWCAP_USB_AUDIO_NODE audioNode, MWCAP_AUDIO_VOLUME *pVolume)
Sets the volume of USB audio device.
MW_RESULT LIBMWCAPTURE_API MWUSBGetDeviceNameMode(HUSBCHANNEL hChannel, MWCAP_DEVICE_NAME_MODE *pNameMode)
Gets device name pattern of USB device.
MW_RESULT LIBMWCAPTURE_API MWUSBGetEDIDLoopThrough(HUSBCHANNEL hChannel, char *pbyEDID, uint32_t *pcbEDID)
Gets EDID of the loopthrough interface in the USB device, only supported by devices with loopthrough ...
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoOutputFrameSize(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_SIZE *pFrameSize)
Sets resolutions supported by the USB device.
MW_RESULT LIBMWCAPTURE_API MWUSBRegisterHotPlug(LPFN_HOT_PLUG_CALLBACK lpfnCallback, void *pParam)
Registers hotplug callback function of USB capture device.
MW_RESULT LIBMWCAPTURE_API MWUSBResetOptions(HUSBCHANNEL hChannel)
Restores to the default settings.
enum _MW_RESULT_ MW_RESULT
MW_RESULT.
MW_RESULT LIBMWCAPTURE_API MWUSBSaveOptions(HUSBCHANNEL hChannel)
Saves configurations.
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoOutputFrameInterval(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL *pFrameInterval)
Gets capture intervals supported by USB device.
MW_RESULT LIBMWCAPTURE_API MWUSBGetAudioVolume(HUSBCHANNEL hChannel, MWCAP_USB_AUDIO_NODE audioNode, MWCAP_AUDIO_VOLUME *pVolume)
Gets the volume of USB audio device.
Definition: MWUSBCaptureExtension.h:206
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoCaptureSupportFrameRateEx(HCHANNEL hChannel, MWCAP_VIDEO_FRAMERATE_EX *pFramerate, int *nCount)
Gets frame rates supported by USB device based on v4l.
Definition: MWUSBCaptureExtension.h:216
Definition: MWUSBCaptureExtension.h:222
MW_RESULT LIBMWCAPTURE_API MWUSBGetLoopThroughValid(HUSBCHANNEL hChannel, bool_t *pbValid)
Gets whether the loopthrough interface in the USB device is valid.
Definition: MWUSBCaptureExtension.h:266
MW_RESULT LIBMWCAPTURE_API MWUSBUnRegisterHotPlug()
Unregisters hotplug callback function.
Definition: MWUSBCaptureExtension.h:260
Definition: MWUSBCaptureExtension.h:173
MW_RESULT LIBMWCAPTURE_API MWUSBGetEDIDMode(HUSBCHANNEL hChannel, MWCAP_EDID_MODE *pMode)
Gets current edid mode.
MW_RESULT LIBMWCAPTURE_API MWUSBSetFirmwareErase(HUSBCHANNEL hChannel, uint32_t cbOffset, uint32_t cbErase)
Erases firmware data from USB device.
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoOutputFOURCC(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FOURCC *pOutputFourCC)
Sets capture formats supported by the USB device, 3 at most.
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoOutputFOURCC(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FOURCC *pOutputFourCC)
Gets capture formats supported by the USB device.
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoOutputFrameInterval(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL *pFrameInterval)
Sets capture intervals supported by USB device.
MW_RESULT LIBMWCAPTURE_API MWUSBLoadOptions(HUSBCHANNEL hChannel)
Loads the saved configurations.