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.

93 lines
2.1 KiB

  1. /*++
  2. Copyright (c) 1997-2000 Microsoft Corporation All Rights Reserved
  3. Module Name:
  4. ac3.h
  5. Abstract:
  6. Node and Pin numbers for ac3 sample.
  7. --*/
  8. #ifndef _MSVAD_AC3_H_
  9. #define _MSVAD_AC3_H_
  10. // Pin properties.
  11. #define MAX_OUTPUT_STREAMS 1 // Number of capture streams.
  12. #define MAX_INPUT_STREAMS 1 // Number of render streams.
  13. #define MAX_TOTAL_STREAMS MAX_OUTPUT_STREAMS + MAX_INPUT_STREAMS
  14. #define MAX_AC3_INPUT_STREAMS 1 // Number of AC3 render streams.
  15. // PCM Info
  16. #define MIN_CHANNELS 1 // Min Channels.
  17. #define MAX_CHANNELS_PCM 2 // Max Channels.
  18. #define MIN_BITS_PER_SAMPLE_PCM 8 // Min Bits Per Sample
  19. #define MAX_BITS_PER_SAMPLE_PCM 16 // Max Bits Per Sample
  20. #define MIN_SAMPLE_RATE 4000 // Min Sample Rate
  21. #define MAX_SAMPLE_RATE 64000 // Max Sample Rate
  22. // AC3 Info
  23. #define MAX_CHANNELS_AC3 2
  24. #define MIN_BITS_PER_SAMPLE_AC3 16
  25. #define MAX_BITS_PER_SAMPLE_AC3 16
  26. #define MIN_SAMPLE_RATE_AC3 48000
  27. #define MAX_SAMPLE_RATE_AC3 48000
  28. // Wave pins
  29. enum
  30. {
  31. KSPIN_WAVE_CAPTURE_SINK = 0,
  32. KSPIN_WAVE_CAPTURE_SOURCE,
  33. KSPIN_WAVE_RENDER_SINK,
  34. KSPIN_WAVE_RENDER_SOURCE,
  35. KSPIN_WAVE_AC3_RENDER_SINK,
  36. KSPIN_WAVE_AC3_RENDER_SOURCE
  37. };
  38. // Wave Topology nodes.
  39. enum
  40. {
  41. KSNODE_WAVE_ADC = 0,
  42. KSNODE_WAVE_DAC
  43. };
  44. // topology pins.
  45. enum
  46. {
  47. KSPIN_TOPO_WAVEOUT_SOURCE = 0,
  48. KSPIN_TOPO_SYNTHOUT_SOURCE,
  49. KSPIN_TOPO_SYNTHIN_SOURCE,
  50. KSPIN_TOPO_MIC_SOURCE,
  51. KSPIN_TOPO_LINEOUT_DEST,
  52. KSPIN_TOPO_WAVEIN_DEST
  53. };
  54. // topology nodes.
  55. enum
  56. {
  57. KSNODE_TOPO_WAVEOUT_VOLUME = 0,
  58. KSNODE_TOPO_WAVEOUT_MUTE,
  59. KSNODE_TOPO_SYNTHOUT_VOLUME,
  60. KSNODE_TOPO_SYNTHOUT_MUTE,
  61. KSNODE_TOPO_MIC_VOLUME,
  62. KSNODE_TOPO_SYNTHIN_VOLUME,
  63. KSNODE_TOPO_LINEOUT_MIX,
  64. KSNODE_TOPO_LINEOUT_VOLUME,
  65. KSNODE_TOPO_WAVEIN_MUX
  66. };
  67. // Misc functions.
  68. inline BOOL IsFormatAc3(IN PKSDATAFORMAT pDataFormat)
  69. {
  70. return
  71. (WAVE_FORMAT_DOLBY_AC3_SPDIF ==
  72. EXTRACT_WAVEFORMATEX_ID(&pDataFormat->SubFormat));
  73. } // IsFormatAc3
  74. #endif