⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sdlaudio_render.h

📁 audio-video-codecs.rar语音编解码器
💻 H
字号:
/*
 *
 *                  INTEL CORPORATION PROPRIETARY INFORMATION
 *     This software is supplied under the terms of a license agreement or
 *     nondisclosure agreement with Intel Corporation and may not be copied
 *     or disclosed except in accordance with the terms of that agreement.
 *          Copyright(c) 2003-2006 Intel Corporation. All Rights Reserved.
 *
 */

#ifndef __SDLAUDIO_RENDER_H__
#define __SDLAUDIO_RENDER_H__

#include "umc_defs.h"

#ifdef UMC_ENABLE_SDL_AUDIO_RENDER

#include "umc_structures.h"
#include "basic_audio_render.h"
#include "sdlaudio_drv.h"

namespace UMC
{

class SDLAudioRender: public BasicAudioRender
{
public:
    // Default constructor
    SDLAudioRender();

    // Destructor
    virtual ~SDLAudioRender() { Close(); }

    /* Initialize the audio driver */
    virtual Status Init(MediaReceiverParams* mparams);

    /* Write sound data to audio buffer */
    virtual Status SendFrame(MediaData* data);

    /* Toggle pause mode */
    virtual Status Pause(bool pause);

    /* Set audio volume */
    virtual Ipp32f SetVolume(Ipp32f gain);

    /* Get audio volume */
    virtual Ipp32f GetVolume();

    /* Close the audio driver */
    virtual Status Close (void);

    /* Reset the audio driver */
    virtual Status Reset (void);

    virtual Status SetParams(MediaReceiverParams *params,
                             Ipp32u trickModes = UMC_TRICK_MODES_NO);

protected:
    virtual Ipp64f GetTimeTick(void);

    SDLAudioDrv *m_pDrv;
    Ipp64f m_dfStartPTS;
    vm_tick m_tickStartTime;
    vm_tick m_tickPrePauseTime;
};
} // namespace UMC

#endif // UMC_ENABLE_SDL_AUDIO_RENDER

#endif // __SDL_AUDIO_RENDER_H__

⌨️ 快捷键说明

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