/xbmc/cores/paplayer/SIDCodec.h

http://github.com/xbmc/xbmc · C Header · 52 lines · 26 code · 7 blank · 19 comment · 0 complexity · 9796ac9ba236544c7a9e0ce37a70e9aa MD5 · raw file

  1. #ifndef SID_CODEC_H_
  2. #define SID_CODEC_H_
  3. /*
  4. * Copyright (C) 2005-2013 Team XBMC
  5. * http://xbmc.org
  6. *
  7. * This Program is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License as published by
  9. * the Free Software Foundation; either version 2, or (at your option)
  10. * any later version.
  11. *
  12. * This Program is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License
  18. * along with XBMC; see the file COPYING. If not, see
  19. * <http://www.gnu.org/licenses/>.
  20. *
  21. */
  22. #include "ICodec.h"
  23. #include "DllSidplay2.h"
  24. class SIDCodec : public ICodec
  25. {
  26. public:
  27. SIDCodec();
  28. virtual ~SIDCodec();
  29. virtual bool Init(const CStdString &strFile, unsigned int filecache);
  30. virtual void DeInit();
  31. virtual int64_t Seek(int64_t iSeekTime);
  32. virtual int ReadPCM(BYTE *pBuffer, int size, int *actualsize);
  33. virtual bool CanInit();
  34. virtual CAEChannelInfo GetChannelInfo();
  35. virtual void SetTotalTime(int64_t totaltime)
  36. {
  37. m_TotalTime = totaltime*1000;
  38. }
  39. private:
  40. DllSidplay2 m_dll;
  41. void* m_sid;
  42. int m_iTrack;
  43. int64_t m_iDataPos;
  44. };
  45. #endif