22 #ifndef QTAV_AUDIOFORMAT_H 23 #define QTAV_AUDIOFORMAT_H 25 #include <QtCore/QSharedDataPointer> 26 #include <QtCore/QString> 34 class AudioFormatPrivate;
37 enum { kSize = 12, kFloat = 1<<(kSize+1), kUnsigned = 1<<(kSize+2), kPlanar = 1<<(kSize+3), kByteOrder = 1<<(kSize+4) };
45 SampleFormat_Unknown = 0,
46 SampleFormat_Input = SampleFormat_Unknown,
47 SampleFormat_Unsigned8 = 1 | kUnsigned,
48 SampleFormat_Signed8 = 1,
49 SampleFormat_Unigned16 = 2 | kUnsigned,
50 SampleFormat_Signed16 = 2,
51 SampleFormat_Unsigned24 = 3 | kUnsigned,
52 SampleFormat_Signed24 = 3,
53 SampleFormat_Unsigned32 = 4 | kUnsigned,
54 SampleFormat_Signed32 = 4,
55 SampleFormat_Float = 4 | kFloat,
56 SampleFormat_Double = 8 | kFloat,
57 SampleFormat_Unsigned8Planar = SampleFormat_Unsigned8 | kPlanar,
58 SampleFormat_Signed16Planar = SampleFormat_Signed16 | kPlanar,
59 SampleFormat_Signed32Planar = SampleFormat_Signed32 | kPlanar,
60 SampleFormat_FloatPlanar = SampleFormat_Float | kPlanar,
61 SampleFormat_DoublePlanar = SampleFormat_Double | kPlanar
67 ChannelLayout_Mono = ChannelLayout_Center,
69 ChannelLayout_Unsupported
91 bool isUnsigned()
const;
92 bool isPlanar()
const;
93 int planeCount()
const;
95 void setSampleRate(
int sampleRate);
96 int sampleRate()
const;
101 void setChannelLayoutFFmpeg(qint64 layout);
102 qint64 channelLayoutFFmpeg()
const;
106 QString channelLayoutName()
const;
110 void setChannels(
int channels);
116 int channels()
const;
120 void setSampleFormatFFmpeg(
int ffSampleFormat);
121 int sampleFormatFFmpeg()
const;
122 QString sampleFormatName()
const;
126 qint32 bytesForDuration(qint64 duration)
const;
127 qint64 durationForBytes(qint32 byteCount)
const;
129 qint32 bytesForFrames(qint32 frameCount)
const;
130 qint32 framesForBytes(qint32 byteCount)
const;
133 qint32 framesForDuration(qint64 duration)
const;
134 qint64 durationForFrames(qint32 frameCount)
const;
141 int bytesPerFrame()
const;
146 int bytesPerSample()
const;
147 int sampleSize()
const;
149 int bytesPerSecond()
const;
151 QSharedDataPointer<AudioFormatPrivate> d;
154 #ifndef QT_NO_DEBUG_STREAM 166 #endif // QTAV_AUDIOFORMAT_H
#define Q_AV_EXPORT
Definition: QtAV_Global.h:40
Q_AV_EXPORT QDebug operator<<(QDebug debug, const AudioFormat &fmt)
AudioOutput ao; ao.setAudioFormat(fmt); ao.open(); while (has_data) { data = read_data(ao->bufferSize...
Definition: AudioDecoder.h:31