29#if JUCE_USE_OGGVORBIS || DOXYGEN
41class JUCE_API OggVorbisAudioFormat :
public AudioFormat
45 OggVorbisAudioFormat();
46 ~OggVorbisAudioFormat()
override;
49 Array<int> getPossibleSampleRates()
override;
50 Array<int> getPossibleBitDepths()
override;
51 bool canDoStereo()
override;
52 bool canDoMono()
override;
53 bool isCompressed()
override;
54 StringArray getQualityOptions()
override;
65 int estimateOggFileQuality (
const File& source);
73 static const char*
const encoderName;
75 static const char*
const id3title;
76 static const char*
const id3artist;
77 static const char*
const id3album;
78 static const char*
const id3comment;
79 static const char*
const id3date;
80 static const char*
const id3genre;
81 static const char*
const id3trackNumber;
84 AudioFormatReader* createReaderFor (InputStream* sourceStream,
85 bool deleteStreamIfOpeningFails)
override;
87 AudioFormatWriter* createWriterFor (OutputStream* streamToWriteTo,
88 double sampleRateToUse,
89 unsigned int numberOfChannels,
91 const StringPairArray& metadataValues,
92 int qualityOptionIndex)
override;
93 using AudioFormat::createWriterFor;
96 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (OggVorbisAudioFormat)