aja-props.hpp 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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. bool swapFrontCenterLFE;
  44. };
  45. class OutputProps {
  46. public:
  47. explicit OutputProps(NTV2DeviceID devID);
  48. ~OutputProps() = default;
  49. OutputProps(const OutputProps &props);
  50. OutputProps(OutputProps &&props);
  51. void operator=(const OutputProps &props);
  52. void operator=(OutputProps &&props);
  53. bool operator==(const OutputProps &props);
  54. bool operator!=(const OutputProps &props);
  55. NTV2FormatDesc FormatDesc();
  56. NTV2Channel Channel() const;
  57. NTV2Channel Framestore() const;
  58. NTV2AudioSystem AudioSystem() const;
  59. NTV2AudioRate AudioRate() const;
  60. size_t AudioSize() const;
  61. audio_format AudioFormat() const;
  62. speaker_layout SpeakerLayout() const;
  63. NTV2DeviceID deviceID;
  64. IOSelection ioSelect;
  65. NTV2OutputDestination outputDest;
  66. NTV2VideoFormat videoFormat;
  67. NTV2PixelFormat pixelFormat;
  68. SDITransport sdiTransport;
  69. SDITransport4K sdi4kTransport;
  70. uint32_t audioNumChannels;
  71. uint32_t audioSampleSize;
  72. uint32_t audioSampleRate;
  73. };