windows-nt/Source/XPSP1/NT/drivers/ddk/wdmaudio/msvad/ac3/ac3.h

94 lines
2.1 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++
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