52 lines
958 B
C
52 lines
958 B
C
|
/*
|
||
|
* StreamEncoder.h
|
||
|
* ---------------
|
||
|
* Purpose: Exporting streamed music files.
|
||
|
* Notes : none
|
||
|
* Authors: Joern Heusipp
|
||
|
* OpenMPT Devs
|
||
|
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
|
||
|
*/
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#include "openmpt/all/BuildSettings.hpp"
|
||
|
|
||
|
#include "StreamEncoder.h"
|
||
|
|
||
|
OPENMPT_NAMESPACE_BEGIN
|
||
|
|
||
|
|
||
|
#ifdef MPT_WITH_LAME
|
||
|
class ComponentLame;
|
||
|
#endif
|
||
|
|
||
|
enum MP3EncoderType
|
||
|
{
|
||
|
MP3EncoderLame,
|
||
|
MP3EncoderLameCompatible,
|
||
|
};
|
||
|
|
||
|
class MP3Encoder : public EncoderFactoryBase
|
||
|
{
|
||
|
|
||
|
private:
|
||
|
|
||
|
MP3EncoderType m_Type;
|
||
|
|
||
|
public:
|
||
|
|
||
|
std::unique_ptr<IAudioStreamEncoder> ConstructStreamEncoder(std::ostream &file, const Encoder::Settings &settings, const FileTags &tags) const override;
|
||
|
mpt::ustring DescribeQuality(float quality) const override;
|
||
|
mpt::ustring DescribeBitrateABR(int bitrate) const override;
|
||
|
bool IsAvailable() const override;
|
||
|
|
||
|
public:
|
||
|
|
||
|
MP3Encoder(MP3EncoderType type);
|
||
|
|
||
|
};
|
||
|
|
||
|
|
||
|
OPENMPT_NAMESPACE_END
|