• LockForProcess
  • IAudioProcessingObject::IsInputFormatSupported or IAudioProcessingObject::IsOutputFormatSupported
  • IsInputFormatSupported and IsOutputFormatSupported
  • Custom Audio Effects in Windows Vista Custom Audio Effects in Windows Vista




    Download 0,57 Mb.
    bet19/28
    Sana22.07.2021
    Hajmi0,57 Mb.
    #15720
    1   ...   15   16   17   18   19   20   21   22   ...   28

    sAPO Format Negotiation


    After the sAPO has been initialized, the audio service negotiates the sample format and activates the APO graph for processing. During format negotiation, the LFX is provided the mix format as the input’s opposite (output). The LFX can return S_FALSE to allow system channel matrixing. Otherwise, if the LFX can successfully process this input/output pair, it returns S_OK. After format negotiation succeeds for the entire graph, the sAPOs are given the final format when their LockForProcess methods are called.

    From the perspective of the audio subsystem, an sAPO is a black box with unknown capabilities. However, the graph builder and other APOs must negotiate a compatible sample format. To do so, they are queried for supported input or output formats by instantiating and initializing the sAPO and then calling its IsInputFormatSupported_or_IAudioProcessingObject::IsOutputFormatSupported'>IAudioProcessingObject::IsInputFormatSupported or IAudioProcessingObject::IsOutputFormatSupported methods. That means that a GFX must be able to respond without the presence of an LFX and vice versa. An sAPO should respond to the query as follows:



    • If the sAPO supports the suggested format, it returns S_OK and adds a reference to the successful format.

    • If the sAPO does not support the suggested format, it suggests an alternative by selecting the “closest” format that it does support and returning S_FALSE. However, an sAPO should suggest an alternate format only if it has some basis for determining “closest.”

    • If selecting a “closest" format would be nothing more than a guess, the sAPO indicates that it cannot support the suggested format by returning APOERR_FORMAT_NOT_SUPPORTED.

    • For a detailed description of IsInputFormatSupported and IsOutputFormatSupported, see the comments in AudioEngineBaseAPO.idl .





    Download 0,57 Mb.
    1   ...   15   16   17   18   19   20   21   22   ...   28




    Download 0,57 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Custom Audio Effects in Windows Vista Custom Audio Effects in Windows Vista

    Download 0,57 Mb.