ac3.h

来自「在微软例子下实现的虚拟声卡,实现了各种接口,是学习的一个好例子」· C头文件 代码 · 共 94 行

H
94
字号
/*++

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

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?