Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

106 lines
5.6 KiB

  1. // IPROP.H
  2. //
  3. // IProperty interface.
  4. //
  5. // A simple property mechanism to query and set properties on media objects.
  6. //
  7. // Created 12-Oct-96 [JonT]
  8. #ifndef _IPROPERTY_H
  9. #define _IPROPERTY_H
  10. #include <pshpack8.h> /* Assume 8 byte packing throughout */
  11. DECLARE_INTERFACE_(IProperty, IUnknown)
  12. //DECLARE_INTERFACE(IProperty)
  13. {
  14. // *** IUnknown methods ***
  15. STDMETHOD(QueryInterface) (THIS_ REFIID riid,LPVOID FAR* ppvObj) PURE;
  16. STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  17. STDMETHOD_(ULONG,Release) (THIS) PURE;
  18. STDMETHOD(GetProperty)(THIS_ DWORD dwProp, PVOID pBuf, LPUINT pcbBuf) PURE;
  19. STDMETHOD(SetProperty)(THIS_ DWORD dwProp, PVOID pBuf, UINT cbBuf) PURE;
  20. };
  21. typedef IProperty *LPIProperty;
  22. // Currently defined properties
  23. #define PROP_NET_SEND_STATS 4 // RTP_STATS
  24. #define PROP_NET_RECV_STATS 5 // RTP_STATS
  25. #define PROP_RTP_PAYLOAD 6 // (dword) RTP payload type
  26. #define PROP_VOLUME 7
  27. #define PROP_SILENCE_LEVEL 8 // (dword)
  28. #define PROP_DURATION 9 // (dword) avg. pkt duration in ms
  29. #define PROP_SILENCE_DURATION 10 // (dword) silence duration before recording stops, in ms
  30. #define PROP_WAVE_DEVICE_TYPE 11 // (dword) play,rec, full duplex capability
  31. #define PROP_DUPLEX_TYPE 12 // (dword) current mode
  32. #define PROP_AUDIO_SPP 13 // (dword)
  33. #define PROP_AUDIO_SPS 14 // (dword)
  34. #define PROP_VOICE_SWITCH 15 // (dword) auto or manual voice switching
  35. #define PROP_AUDIO_STRENGTH 16 // (dword) send audio strength
  36. #define PROP_RECV_AUDIO_STRENGTH 17 // (dword) recv audio strength
  37. #define PROP_RECORD_ON 18 // (dword) enable or disable record
  38. #define PROP_PLAY_ON 19 // (dword) enable or disable playback
  39. #define PROP_RECORD_DEVICE 20 // (dword) device id of waveIn
  40. #define PROP_PLAYBACK_DEVICE 21 // (dword) device id of waveOut
  41. #define PROP_VIDEO_CAPTURE_AVAILABLE 22 // (bool)
  42. #define PROP_VIDEO_CAPTURE_DIALOGS_AVAILABLE 23 // (dword) CAPTURE_DIALOG_SOURCE and/or CAPTURE_DIALOG_FORMAT
  43. #define PROP_VIDEO_CAPTURE_DIALOG 24 // (dword) CAPTURE_DIALOG_SOURCE or CAPTURE_DIALOG_FORMAT
  44. #define PROP_VIDEO_FRAME_RATE 25 // (dword) FRAMERATE_LOW or FRAMERATE_HIGH
  45. #define PROP_VIDEO_SIZE_AVAIL 26 // (dword) FRAME_CIF, FRAME_QCIF, FRAME_SQCIF
  46. #define PROP_VIDEO_SIZE 27 // (dword) FRAME_CIF, FRAME_QCIF, FRAME_SQCIF
  47. #define PROP_VIDEO_PREVIEW_ON 28 // (bool) enable/disable video preview
  48. #define PROP_VIDEO_POSTPROCESSING_SUPPORTED 29 // (bool) used to query the datapump: TRUE is returned if codec supports post-processing
  49. #define PROP_VIDEO_BRIGHTNESS 30 // (dword) sets the brightness of the video data displayed in the Remote window
  50. #define PROP_VIDEO_CONTRAST 31 // (dword) sets the contrast of the video data displayed in the Remote window
  51. #define PROP_VIDEO_SATURATION 32 // (dword) sets the saturation of the video data displayed in the Remote window
  52. #define PROP_VIDEO_IMAGE_QUALITY 33 // (dword) a number between 100 (low quality) and 10000 (high quality)
  53. #define PROP_VIDEO_RESET_BRIGHTNESS 34 // (dword) restores the default brightness of the video data displayed in the Remote window
  54. #define PROP_VIDEO_RESET_CONTRAST 35 // (dword) restores the default contrast of the video data displayed in the Remote window
  55. #define PROP_VIDEO_RESET_SATURATION 36 // (dword) restores the default saturation of the video data displayed in the Remote window
  56. #define PROP_VIDEO_RESET_IMAGE_QUALITY 37 // (dword) a number between 100 (low quality) and 10000 (high quality)
  57. #define PROP_VIDEO_AUDIO_SYNC 38 // (bool) enable A/V sync
  58. #define PROP_MAX_PP_BITRATE 39 // (dword) max point-to-point bitrate of current connection
  59. #define PROP_CHANNEL_ENABLED 41 // (bool) independently enable send/receive on a channel
  60. #define PROP_LOCAL_FORMAT_ID 42 // (dword) unique ID of local compression format
  61. #define PROP_REMOTE_FORMAT_ID 43 // (dword) unique ID of remote compression format
  62. #define PROP_TS_TRADEOFF 44 // (dword) value of temporal/spatial tradeoff (video quality)
  63. #define PROP_REMOTE_TS_CAPABLE 45 // (bool) temporal/spatial tradeoff is remotely controllable
  64. #define PROP_TS_TRADEOFF_IND 46 // (dword) internally set by control channel only
  65. #define PROP_PAUSE_SEND 50 // (bool) disables packet transmission, when read, indicates the current state of the network stream
  66. #define PROP_PAUSE_RECV 51 // (bool) disables packet reception, when read, indicates the current state of the network stream
  67. #define PROP_REMOTE_PAUSED 52 // (bool, read-only) channel is paused at remote end
  68. #define PROP_VIDEO_PREVIEW_STANDBY 54 // (bool) stop preview but leave capture device open
  69. #define PROP_LOCAL_PAUSE_SEND 55 // (bool) disables packet transmission, sticky local state
  70. #define PROP_LOCAL_PAUSE_RECV 56 // (bool) disables packet reception, sticky local state
  71. #define PROP_CAPTURE_DEVICE 57 // (dword) device id of capture device
  72. #define PROP_AUDIO_JAMMED 58 // (bool) TRUE if the audio device is
  73. // failing to open or if another application
  74. // owns the audio device
  75. #define PROP_AUDIO_AUTOMIX 59 // (bool) enable self-adjusting mixer
  76. // Equates used by properties
  77. #define CAPTURE_DIALOG_SOURCE 1
  78. #define CAPTURE_DIALOG_FORMAT 2
  79. #define FRAMERATE_LOW 1
  80. #define FRAMERATE_HIGH 2
  81. #define FRAME_SQCIF 1
  82. #define FRAME_QCIF 2
  83. #define FRAME_CIF 4
  84. #define VOICE_SWITCH_AUTO 1
  85. #define VOICE_SWITCH_MIC_ON 2
  86. #define VOICE_SWITCH_MIC_OFF 4
  87. #define DUPLEX_TYPE_FULL 1
  88. #define DUPLEX_TYPE_HALF 0
  89. #include <poppack.h> /* End byte packing */
  90. #endif //_IPROPERTY_H