30#if JUCE_USE_OGGVORBIS || defined (DOXYGEN)
42class JUCE_API OggVorbisAudioFormat :
public AudioFormat
46 OggVorbisAudioFormat();
47 ~OggVorbisAudioFormat()
override;
50 Array<int> getPossibleSampleRates()
override;
51 Array<int> getPossibleBitDepths()
override;
52 bool canDoStereo()
override;
53 bool canDoMono()
override;
54 bool isCompressed()
override;
55 StringArray getQualityOptions()
override;
66 int estimateOggFileQuality (
const File& source);
74 static const char*
const encoderName;
76 static const char*
const id3title;
77 static const char*
const id3artist;
78 static const char*
const id3album;
79 static const char*
const id3comment;
80 static const char*
const id3date;
81 static const char*
const id3genre;
82 static const char*
const id3trackNumber;
85 AudioFormatReader* createReaderFor (InputStream* sourceStream,
86 bool deleteStreamIfOpeningFails)
override;
88 AudioFormatWriter* createWriterFor (OutputStream* streamToWriteTo,
89 double sampleRateToUse,
90 unsigned int numberOfChannels,
92 const StringPairArray& metadataValues,
93 int qualityOptionIndex)
override;
94 using AudioFormat::createWriterFor;
97 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (OggVorbisAudioFormat)