/*++ Copyright (c) 1997-2000 Microsoft Corporation All Rights Reserved Module Name: ac3.h Abstract: Node and Pin numbers for ac3 sample. --*/ #ifndef _MSVAD_AC3_H_ #define _MSVAD_AC3_H_ // Pin properties. #define MAX_OUTPUT_STREAMS 1 // Number of capture streams. #define MAX_INPUT_STREAMS 1 // Number of render streams. #define MAX_TOTAL_STREAMS MAX_OUTPUT_STREAMS + MAX_INPUT_STREAMS #define MAX_AC3_INPUT_STREAMS 1 // Number of AC3 render streams. // PCM Info #define MIN_CHANNELS 1 // Min Channels. #define MAX_CHANNELS_PCM 2 // Max Channels. #define MIN_BITS_PER_SAMPLE_PCM 8 // Min Bits Per Sample #define MAX_BITS_PER_SAMPLE_PCM 16 // Max Bits Per Sample #define MIN_SAMPLE_RATE 4000 // Min Sample Rate #define MAX_SAMPLE_RATE 64000 // Max Sample Rate // AC3 Info #define MAX_CHANNELS_AC3 2 #define MIN_BITS_PER_SAMPLE_AC3 16 #define MAX_BITS_PER_SAMPLE_AC3 16 #define MIN_SAMPLE_RATE_AC3 48000 #define MAX_SAMPLE_RATE_AC3 48000 // Wave pins enum { KSPIN_WAVE_CAPTURE_SINK = 0, KSPIN_WAVE_CAPTURE_SOURCE, KSPIN_WAVE_RENDER_SINK, KSPIN_WAVE_RENDER_SOURCE, KSPIN_WAVE_AC3_RENDER_SINK, KSPIN_WAVE_AC3_RENDER_SOURCE }; // Wave Topology nodes. enum { KSNODE_WAVE_ADC = 0, KSNODE_WAVE_DAC }; // topology pins. enum { KSPIN_TOPO_WAVEOUT_SOURCE = 0, KSPIN_TOPO_SYNTHOUT_SOURCE, KSPIN_TOPO_SYNTHIN_SOURCE, KSPIN_TOPO_MIC_SOURCE, KSPIN_TOPO_LINEOUT_DEST, KSPIN_TOPO_WAVEIN_DEST }; // topology nodes. enum { KSNODE_TOPO_WAVEOUT_VOLUME = 0, KSNODE_TOPO_WAVEOUT_MUTE, KSNODE_TOPO_SYNTHOUT_VOLUME, KSNODE_TOPO_SYNTHOUT_MUTE, KSNODE_TOPO_MIC_VOLUME, KSNODE_TOPO_SYNTHIN_VOLUME, KSNODE_TOPO_LINEOUT_MIX, KSNODE_TOPO_LINEOUT_VOLUME, KSNODE_TOPO_WAVEIN_MUX }; // Misc functions. inline BOOL IsFormatAc3(IN PKSDATAFORMAT pDataFormat) { return (WAVE_FORMAT_DOLBY_AC3_SPDIF == EXTRACT_WAVEFORMATEX_ID(&pDataFormat->SubFormat)); } // IsFormatAc3 #endif