www.pudn.com > WMACompressor.zip > WmaWriter.h


// 
//  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY 
//  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 
//  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR 
//  PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER  
//  REMAINS UNCHANGED. 
// 
//  Email:  yetiicb@hotmail.com 
// 
//  Copyright (C) 2002-2004 Idael Cardoso.  
// 
#pragma once 
#include "Profile.h" 
 
#define ATLTHROW_IF_FAILED(hr) if ( FAILED(hr) ) { AtlThrow(hr); } 
__nogc class CWmaWriter  
{ 
protected: 
  CComPtr m_Writer; 
  CComPtr m_Sink; 
  DWORD m_AudioInput; 
  DWORD m_cAudioBytes; 
  DWORD m_AvgBytesPerSec; 
  __int64 m_MsAudioTime; 
public: 
  CWmaWriter(WAVEFORMATEX* pInFormat, IWMProfile* pProfile, IWMWriterSink* pSink) throw(...); 
  ~CWmaWriter(void); 
public: 
  void Write(BYTE* pBuffer, DWORD Length) throw(...); 
  void Write(INSSBuffer* pSample); 
  INSSBuffer* AllocateSample(DWORD Length); 
};