/*
** Copyright (C) 1999 - 2002 Albert L. Faber
**  
** 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 program 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 General Public License for more details.
** 
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software 
** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/

#ifndef ENCODERWMA8DLL_H_INCLUDED
#define ENCODERWMA8DLL_H_INCLUDED

#include "Encode.h"

#include "WmaEncoder.h"
#include "WavToWma.h"

#define WMA8 (1)

class CEncoderWMA8Dll : public CEncoder
{
	WavToWma	m_Encoder;
    ContentDesc m_CntDesc;

	void*							m_pCODEC;
	LPCreateNewCompressionObject	m_pCreateNewCompressionObject;
	LPDeleteCompressionObject		m_pDeleteCompressionObject;
	LPANewDataBlockArrived			m_pANewDataBlockArrived;
	LPShowConfigBit					m_pShowConfigBit;
	LPRemoveConfigBit				m_pRemoveConfigBit;
	LPGetExtensionYouCreate			m_pGetExtensionYouCreate;
	LPSetIDTagElement				m_pSetIDTagElement;
	LPSetSettings					m_pSetSettings;
	HINSTANCE						m_hDLL;

	CString							m_strStreamFileName;

public:
	// CONSTRUCTOR
	CEncoderWMA8Dll();
	virtual ~CEncoderWMA8Dll();
	virtual	CEncoderDlg*	GetSettingsDlg();
	virtual CDEX_ERR InitEncoder( CTaskInfo* pTask );
	virtual CDEX_ERR OpenStream(CString strOutFileName,DWORD dwSampleRate,WORD nChannels);
	virtual CDEX_ERR EncodeChunk(PSHORT pbsInSamples,DWORD dwNumSamples);
	virtual CDEX_ERR CloseStream();
	virtual CDEX_ERR DeInitEncoder();
};


#endif
