aja-props.hpp 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #pragma once
  2. #include "aja-enums.hpp"
  3. #include "aja-vpid-data.hpp"
  4. #include <media-io/audio-io.h>
  5. #include <ajantv2/includes/ntv2enums.h>
  6. #include <ajantv2/includes/ntv2formatdescriptor.h>
  7. #include <map>
  8. #include <string>
  9. #include <vector>
  10. //TODO(paulh): Consolidate the two Props classes
  11. class SourceProps {
  12. public:
  13. explicit SourceProps();
  14. explicit SourceProps(NTV2DeviceID devID);
  15. ~SourceProps() = default;
  16. SourceProps(const SourceProps &props);
  17. SourceProps(SourceProps &&props);
  18. void operator=(const SourceProps &props);
  19. void operator=(SourceProps &&props);
  20. bool operator==(const SourceProps &props);
  21. bool operator!=(const SourceProps &props);
  22. NTV2InputSource InitialInputSource() const;
  23. NTV2InputSourceSet InputSources() const;
  24. NTV2Channel Channel() const;
  25. NTV2Channel Framestore() const;
  26. NTV2AudioSystem AudioSystem() const;
  27. NTV2AudioRate AudioRate() const;
  28. size_t AudioSize() const;
  29. audio_format AudioFormat() const;
  30. speaker_layout SpeakerLayout() const;
  31. NTV2DeviceID deviceID;
  32. IOSelection ioSelect;
  33. NTV2VideoFormat videoFormat;
  34. NTV2PixelFormat pixelFormat;
  35. SDITransport sdiTransport;
  36. SDITransport4K sdi4kTransport;
  37. VPIDDataList vpids;
  38. uint32_t audioNumChannels;
  39. uint32_t audioSampleSize;
  40. uint32_t audioSampleRate;
  41. bool autoDetect;
  42. bool deactivateWhileNotShowing;
  43. };
  44. class OutputProps {
  45. public:
  46. explicit OutputProps(NTV2DeviceID devID);
  47. ~OutputProps() = default;
  48. OutputProps(const OutputProps &props);
  49. OutputProps(OutputProps &&props);
  50. void operator=(const OutputProps &props);
  51. void operator=(OutputProps &&props);
  52. bool operator==(const OutputProps &props);
  53. bool operator!=(const OutputProps &props);
  54. NTV2FormatDesc FormatDesc();
  55. NTV2Channel Channel() const;
  56. NTV2Channel Framestore() const;
  57. NTV2AudioSystem AudioSystem() const;
  58. NTV2AudioRate AudioRate() const;
  59. size_t AudioSize() const;
  60. audio_format AudioFormat() const;
  61. speaker_layout SpeakerLayout() const;
  62. NTV2DeviceID deviceID;
  63. IOSelection ioSelect;
  64. NTV2OutputDestination outputDest;
  65. NTV2VideoFormat videoFormat;
  66. NTV2PixelFormat pixelFormat;
  67. SDITransport sdiTransport;
  68. SDITransport4K sdi4kTransport;
  69. uint32_t audioNumChannels;
  70. uint32_t audioSampleSize;
  71. uint32_t audioSampleRate;
  72. };