亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hspalsadevice.h

?? Amarok是一款在LINUX或其他類UNIX操作系統中運行的音頻播放器軟件。 經過兩年開發后
?? H
字號:
/****************************************************************************** *                                                                            * *   This program is free software; you can redistribute it and/or modify     * *   it under the terms of the GNU General Public License as published by     * *   the Free Software Foundation; either version 2 of the License, or        * *   (at your option) any later version.                                      * *                                                                            * *   This library is distributed in the hope that it will be useful, but      * *   WITHOUT ANY WARRANTY; without even the implied warranty of               * *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU        * *   Lesser General Public License for more details.                          * *                                                                            * *   You should have received a copy of the GNU Lesser General Public         * *   License along with this library; if not, write to the Free Software      * *   Foundation, Inc., 51 Franklin St, 5th fl, Boston, MA 02110-1301,         * *   USA, or check http://www.fsf.org/about/contact.html                      * *                                                                            * *   Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. * *   Portions Copyright (c) 2005 Paul Cifarelli                               * *                                                                            * ******************************************************************************/#ifndef _AUDLINUXALSA#define _AUDLINUXALSA#ifdef USE_HELIX_ALSA#define ALSA_PCM_NEW_HW_PARAMS_API#define ALSA_PCM_NEW_SW_PARAMS_API#include <alsa/asoundlib.h>class HelixSimplePlayer;class AudioQueue{public:   AudioQueue( const HXAudioData *buf );   ~AudioQueue();   AudioQueue  *fwd;   HXAudioData ad;   LONG32 bytes;};class HSPAudioDevice : public IHXAudioDevice{public:   HSPAudioDevice(HelixSimplePlayer *player, const char *device);   virtual ~HSPAudioDevice();   /*    *  IUnknown methods    */   STDMETHOD(QueryInterface)   (THIS_                               REFIID riid,                                void** ppvObj);   STDMETHOD_(ULONG32,AddRef)  (THIS);   STDMETHOD_(ULONG32,Release) (THIS);   /*    * IHXAudioDevice methods    */    STDMETHOD(CheckFormat) (      THIS_      const HXAudioFormat* pAudioFormat      );   STDMETHOD(Close) (      THIS_      const BOOL bFlush      );    STDMETHOD(Drain) (      THIS      );   STDMETHOD(GetCurrentAudioTime) (      THIS_      REF(ULONG32) ulCurrentTime      );   STDMETHOD_(UINT16,GetVolume) (      THIS      );   STDMETHOD_(BOOL,InitVolume) (      THIS_      const UINT16 uMinVolume,      const UINT16 uMaxVolume      );   STDMETHOD(Open) (      THIS_      const HXAudioFormat* pAudioFormat,      IHXAudioDeviceResponse* pStreamResponse      );   STDMETHOD(Pause) (      THIS      );   STDMETHOD(Reset) (      THIS      );   STDMETHOD(Resume) (      THIS      );   STDMETHOD(SetVolume) (      THIS_      const UINT16 uVolume      );   STDMETHOD(Write) (      THIS_      const HXAudioData* pAudioData      );   HX_RESULT  OnTimeSync();   void setDevice( const char *device );   protected:   virtual INT16 GetAudioFd(void);      //This ones important.   virtual UINT64 GetBytesActualyPlayed(void) const;      //Device specific method to set the audio device characteristics. Sample rate,   //bits-per-sample, etc.   //Method *must* set member vars. m_unSampleRate and m_unNumChannels.   virtual HX_RESULT SetDeviceConfig( const HXAudioFormat* pFormat );      //Device specific method to test wether or not the device supports the   //give sample rate. If the device can not be opened, or otherwise tested,   //it should return RA_AOE_DEVBUSY.   virtual HX_RESULT CheckSampleRate( ULONG32 ulSampleRate );   virtual HX_RESULT _CheckFormat( const HXAudioFormat* pFormat );      //Device specific method to write bytes out to the audiodevice and return a   //count of bytes written.   virtual HX_RESULT WriteBytes( UCHAR* buffer, ULONG32 ulBuffLength, LONG32& lCount );      //Device specific methods to open/close the mixer and audio devices.   virtual HX_RESULT _OpenAudio();   virtual HX_RESULT _CloseAudio();   virtual HX_RESULT _OpenMixer();   virtual HX_RESULT _CloseMixer();      //Device specific method to reset device and return it to a state that it   //can accept new sample rates, num channels, etc.   virtual HX_RESULT _Reset();   virtual HX_RESULT _Pause();   virtual HX_RESULT _Resume();     //Device specific method to get/set the devices current volume.   virtual UINT16    _GetVolume() const;   virtual HX_RESULT _SetVolume(UINT16 volume);      //Device specific method to drain a device. This should play the remaining   //bytes in the devices buffer and then return.   virtual HX_RESULT _Drain();      //Device specific method to return the amount of room available on the   //audio device that can be written without blocking.   virtual HX_RESULT GetRoomOnDevice( ULONG32& ulBytes) const;      //A method to let us know if the hardware supports puase/resume.   //We can use this to remove unneeded memcpys and other expensive   //operations. The default implementation is 'No, not supported'.   virtual BOOL HardwarePauseSupported() const;   int _Write( const HXAudioData *pAudioData );   int sync();   private:   HSPAudioDevice();   //protect the unintentional copy ctor.   HSPAudioDevice( const HSPAudioDevice & );  //Not implemented.      /* The constness imposed by the base class is a lost cause here --      make all functions const, all members mutable. */   void HandleXRun(void) const;   void HandleSuspend(void) const;      HX_RESULT GetBytesActuallyPlayedUsingTStamps (UINT64 &nBytesPlayed) const;   HX_RESULT GetBytesActuallyPlayedUsingDelay   (UINT64 &nBytesPlayed) const;   HX_RESULT GetBytesActuallyPlayedUsingAvail   (UINT64 &nBytesPlayed) const;   HX_RESULT GetBytesActuallyPlayedUsingTimer   (UINT64 &nBytesPlayed) const;      mutable snd_pcm_t*   m_pAlsaPCMHandle;   mutable snd_mixer_t* m_pAlsaMixerHandle;   mutable snd_mixer_elem_t* m_pAlsaMixerElem;      mutable IHXBuffer* m_pPCMDeviceName;   mutable IHXBuffer* m_pMixerDeviceName;   mutable IHXBuffer* m_pMixerElementName;      mutable BOOL m_bHasHardwarePauseAndResume;      mutable UINT64 m_nBytesPlayedBeforeLastTrigger;      mutable UINT64 m_nLastBytesPlayed;      mutable snd_timestamp_t m_tstampLastTrigger;   mutable BOOL m_bGotInitialTrigger;      mutable BOOL m_bUseMMAPTStamps;   LONG32             m_lRefCount;   mutable LONG32     m_wLastError;   BOOL               m_bMixerPresent;   UINT32             m_unSampleRate;   UINT16             m_unNumChannels;   UINT32             m_wBlockSize;   UINT32             m_ulBytesPerGran;   UINT32             m_ulDeviceBufferSize;   UINT16             m_uSampFrameSize;   UINT32             m_ulTotalWritten;   UINT32             m_ulCurrentTime;   UINT32             m_ulQTime;   UINT32             m_ulLastTime;   BOOL               m_SWPause;   HelixSimplePlayer *m_Player;   IHXAudioDeviceResponse *m_pStreamResponse;   bool                        m_done;   bool                        m_drain;   bool                        m_closed;   AudioQueue                 *m_head;   AudioQueue                 *m_tail;   pthread_t                   m_thrid;   pthread_mutex_t             m_m;   pthread_cond_t              m_cv;   void addBuf(struct AudioQueue *item);   void pushBuf(struct AudioQueue *item);   AudioQueue *getBuf();   void clearQueue();   static void *writerThread( void *arg );};#endif  // USE_HELIX_ALSA#endif  //_AUDIOOUTLINUXALSA

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区日韩精品| 国产精品女主播av| 欧美一级久久久| 久久久久国产精品麻豆| 一区二区三区在线免费视频| 日本aⅴ免费视频一区二区三区| 久久精品免费看| 一本大道久久精品懂色aⅴ| 色综合天天做天天爱| 99久久精品国产麻豆演员表| 777xxx欧美| 最近日韩中文字幕| 久久www免费人成看片高清| 91麻豆国产香蕉久久精品| 久久亚洲精品小早川怜子| 婷婷综合另类小说色区| 97精品国产露脸对白| 久久精品人人做人人爽人人| 三级久久三级久久久| 91久久精品一区二区三区| 日本一区二区三区电影| 另类欧美日韩国产在线| 欧美日韩精品专区| 亚洲在线观看免费视频| 91丨国产丨九色丨pron| 国产精品美女久久久久久久网站| 久久精品久久综合| 欧美一区二区三区免费大片| 亚洲成人7777| 欧美日韩国产首页| 亚洲综合久久久| 色噜噜狠狠成人网p站| 亚洲欧洲无码一区二区三区| 丁香亚洲综合激情啪啪综合| 国产午夜精品久久久久久免费视| 黄一区二区三区| 久久综合色鬼综合色| 六月婷婷色综合| 欧美mv日韩mv亚洲| 精品在线一区二区三区| 日韩欧美国产三级电影视频| 人妖欧美一区二区| 欧美精品久久天天躁| 精品一区二区免费| 欧美一区二区三区婷婷月色| 亚洲午夜激情网页| 欧美少妇xxx| 亚洲成av人片在线观看| 精品污污网站免费看| 亚洲国产精品久久人人爱 | 舔着乳尖日韩一区| 欧美日韩国产一级| 麻豆久久一区二区| 久久久精品国产免大香伊| 国产一区二区毛片| 国产精品久久综合| 欧美三级视频在线播放| 美女视频黄久久| 国产欧美日韩亚州综合| 色先锋资源久久综合| 性感美女久久精品| 久久亚洲二区三区| 久久久久高清精品| 欧美日韩成人综合天天影院 | 美女视频第一区二区三区免费观看网站 | 中文字幕人成不卡一区| 91久久线看在观草草青青| 亚洲电影欧美电影有声小说| 欧美成人性福生活免费看| 国产成人av一区二区三区在线 | 欧美精品高清视频| 韩国欧美国产1区| 136国产福利精品导航| 欧美日韩国产高清一区| 国产高清久久久| 亚洲摸摸操操av| 日韩无一区二区| 色综合久久综合网| 精品一区二区三区av| 国产精品免费丝袜| 欧美综合色免费| 国产福利精品导航| 亚洲图片欧美视频| 国产欧美va欧美不卡在线| 欧美性生活一区| 成人免费视频国产在线观看| 日韩成人免费在线| 亚洲欧美视频一区| 久久精品男人天堂av| 欧美绝品在线观看成人午夜影视| 国产成人激情av| 蜜臀av一级做a爰片久久| 一区二区三区中文在线观看| 久久久久久**毛片大全| 日韩一区二区免费在线观看| 一本久久a久久精品亚洲| 国产老肥熟一区二区三区| 日本亚洲视频在线| 亚洲综合久久av| 亚洲人成网站影音先锋播放| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 麻豆精品一区二区综合av| 亚洲裸体在线观看| 欧美高清在线视频| 久久久精品欧美丰满| 日韩久久免费av| 8v天堂国产在线一区二区| 欧美视频在线不卡| 91视频91自| 成人一区二区三区视频在线观看| 国产一区免费电影| 精品影院一区二区久久久| 免费观看在线色综合| 日本不卡免费在线视频| 爽好多水快深点欧美视频| 亚洲一二三区视频在线观看| 亚洲综合激情网| 亚洲综合小说图片| 一区二区三区国产| 亚洲永久免费av| 午夜一区二区三区视频| 亚洲成人免费av| 丝袜a∨在线一区二区三区不卡| 午夜国产精品影院在线观看| 偷窥国产亚洲免费视频| 日韩精品一级中文字幕精品视频免费观看| 一区二区免费在线| 亚洲国产精品久久人人爱蜜臀| 亚洲成人动漫av| 日韩国产欧美在线观看| 久久99精品久久久久久久久久久久 | 国产乱码精品一区二区三区av| 久久国产精品第一页| 国产剧情一区二区三区| 波多野结衣亚洲| 在线看一区二区| 在线不卡a资源高清| 日韩精品一区二区三区在线| 欧美精品一区二区三区高清aⅴ| 久久麻豆一区二区| 国产精品国产a| 亚洲综合激情网| 麻豆成人综合网| 不卡一卡二卡三乱码免费网站| 日本韩国精品一区二区在线观看| 欧美日韩高清一区二区不卡| 欧美成人三级在线| 综合久久久久久久| 日韩国产精品91| 成人一级片网址| 欧美日韩视频在线第一区 | 日韩av一区二区三区四区| 国产一区高清在线| 色菇凉天天综合网| 日韩午夜电影av| 亚洲色图19p| 美女性感视频久久| 91原创在线视频| 日韩欧美一级特黄在线播放| 国产精品卡一卡二卡三| 日韩成人免费在线| 91视频在线观看| 日韩精品一区二区三区四区视频| 国产精品无圣光一区二区| 亚洲成人1区2区| 成人高清在线视频| 日韩西西人体444www| 最新国产成人在线观看| 国内偷窥港台综合视频在线播放| 在线一区二区三区| 国产午夜精品一区二区三区视频 | 亚洲欧洲av在线| 久久精工是国产品牌吗| 91国产丝袜在线播放| 久久精品视频在线看| 手机精品视频在线观看| 91最新地址在线播放| 久久久国产午夜精品| 青青草国产精品97视觉盛宴| 91久久一区二区| 国产精品视频一二| 国产一区二三区好的| 91精品福利在线一区二区三区| 亚洲精品午夜久久久| 北条麻妃一区二区三区| 久久在线观看免费| 青青草成人在线观看| 欧美绝品在线观看成人午夜影视| 亚洲精品精品亚洲| av一区二区三区| 国产精品热久久久久夜色精品三区| 麻豆精品一区二区av白丝在线| 欧美亚日韩国产aⅴ精品中极品| 国产精品久久久久久久午夜片| 久久99国产精品麻豆| 777xxx欧美| 日本亚洲三级在线| 777奇米四色成人影色区| 天天操天天色综合| 884aa四虎影成人精品一区|