imediadeviceinfo.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #pragma once
  2. #ifdef _WIN32
  3. #ifdef LIBMEDIADEVICEINFO_EXPORTS
  4. #define LIBMEDIADEVICEINFO_API __declspec(dllexport)
  5. #else
  6. #define LIBMEDIADEVICEINFO_API __declspec(dllimport)
  7. #endif
  8. # elif ( defined(__GNUC__) && __GNUC__ >= 4 )
  9. #define LIBMEDIADEVICEINFO_API __attribute__((visibility("default")))
  10. #else // RVC_OS_WIN
  11. #define LIBMEDIADEVICEINFO_API
  12. #endif // RVC_OS_WIN
  13. #pragma pack(1)
  14. typedef struct rvc_camera_info_s {
  15. char strdriver[16];
  16. char strcard[32];
  17. char strbus_info[32];
  18. }rvc_camera_info_t;
  19. #pragma pack()
  20. /**
  21. * get video camera devices count, return device count numbers
  22. */
  23. extern "C" LIBMEDIADEVICEINFO_API int rvc_videocap_get_device_count();
  24. /**
  25. * get video camera name, buf length should not be larger than 255,
  26. * return -1 if error
  27. * if buf == null, len is ignored, return value is the required buffer size
  28. * else return value is copy to buf, including null-terminated char
  29. */
  30. extern "C" LIBMEDIADEVICEINFO_API int rvc_videocap_get_device_name(int device_id, char* buf, int len);
  31. /**
  32. * get video device path string, buf length should not be larger than 255,
  33. * return -1 on error, if buf == null, len is ignored, return value is the required buffer size
  34. */
  35. extern "C" LIBMEDIADEVICEINFO_API int rvc_videocap_get_device_path(int device_id, char* buf, int len);
  36. /**
  37. * get video camera name and path, buf length should not be larger than 255,
  38. * return -1 if error
  39. */
  40. extern "C" LIBMEDIADEVICEINFO_API int rvc_videocap_get_device_info(int device_id, char* namebuf, int namelen, char* pathbuf, int pathlen);
  41. /**
  42. * get video camera recognise name, buf length should not be larger than 255,
  43. * return -1 if error
  44. */
  45. extern "C" LIBMEDIADEVICEINFO_API int rvc_videocap_get_device_fullpathname(int device_id, char* fullnamebuf, int fulllen);
  46. /**
  47. * get video device id
  48. * return -1 if error
  49. */
  50. extern "C" LIBMEDIADEVICEINFO_API int rvc_videocap_get_video_device_id(const char* dev_name);
  51. /**
  52. * get video camera infos
  53. * return -1 if error
  54. */
  55. extern "C" LIBMEDIADEVICEINFO_API int rvc_videocap_get_camera_infos(int device_id, rvc_camera_info_t* tinfo);