OpenShot Audio Library | OpenShotAudio
1.0.0
Toggle main menu visibility
Loading...
Searching...
No Matches
juce_OggVorbisAudioFormat.h
1
/*
2
==============================================================================
3
4
This file is part of the JUCE library.
5
Copyright (c) 2022 - Raw Material Software Limited
6
7
JUCE is an open source library subject to commercial or open-source
8
licensing.
9
10
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11
Agreement and JUCE Privacy Policy.
12
13
End User License Agreement: www.juce.com/juce-7-licence
14
Privacy Policy: www.juce.com/juce-privacy-policy
15
16
Or: You may also use this code under the terms of the GPL v3 (see
17
www.gnu.org/licenses).
18
19
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21
DISCLAIMED.
22
23
==============================================================================
24
*/
25
26
namespace
juce
27
{
28
29
#if JUCE_USE_OGGVORBIS || DOXYGEN
30
31
//==============================================================================
41
class
JUCE_API OggVorbisAudioFormat :
public
AudioFormat
42
{
43
public
:
44
//==============================================================================
45
OggVorbisAudioFormat();
46
~OggVorbisAudioFormat()
override
;
47
48
//==============================================================================
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
;
55
56
//==============================================================================
65
int
estimateOggFileQuality (
const
File& source);
66
67
//==============================================================================
73
static
const
char
*
const
encoderName;
74
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;
82
83
//==============================================================================
84
AudioFormatReader* createReaderFor (InputStream* sourceStream,
85
bool
deleteStreamIfOpeningFails)
override
;
86
87
AudioFormatWriter* createWriterFor (OutputStream* streamToWriteTo,
88
double
sampleRateToUse,
89
unsigned
int
numberOfChannels,
90
int
bitsPerSample,
91
const
StringPairArray& metadataValues,
92
int
qualityOptionIndex)
override
;
93
using
AudioFormat::createWriterFor;
94
95
private
:
96
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (OggVorbisAudioFormat)
97
};
98
99
100
#endif
101
102
}
// namespace juce
juce::AudioFormat
Definition
juce_AudioFormat.h:39
libopenshot-audio
JuceLibraryCode
modules
juce_audio_formats
codecs
juce_OggVorbisAudioFormat.h
Generated by
1.18.0