StereoFrame Class

(QAudioBuffer::StereoFrame)

The StereoFrame class provides a simple wrapper for a stereo audio frame. More...

Header: #include <StereoFrame>
qmake: QT += multimedia

Public Functions

StereoFrame()
StereoFrame(T leftSample, T rightSample)
T average() const
void clear()
StereoFrame<T> &operator=(const StereoFrame<T> &other)

Public Variables

T left
T right
typedef S16S
typedef S16U
typedef S32F
typedef S8S
typedef S8U

Detailed Description

The StereoFrame class provides a simple wrapper for a stereo audio frame.

This templatized structure lets you treat a block of individual samples as an interleaved stereo stream frame. This is most useful when used with the templatized data() functions of QAudioBuffer. Generally the data is accessed as a pointer, so no copying should occur.

There are some predefined instantiations of this template for working with common stereo sample depths in a convenient way.

This frame structure has left and right members for accessing individual channel data.

For example:

// Assuming 'buffer' is an unsigned 16 bit stereo buffer..
QAudioBuffer::S16U *frames = buffer->data<QAudioBuffer::S16U>();
for (int i=0; i < buffer->frameCount(); i++) {
    qSwap(frames[i].left, frames[i].right);
}

See also QAudioBuffer::S8U, QAudioBuffer::S8S, QAudioBuffer::S16S, QAudioBuffer::S16U, and QAudioBuffer::S32F.

Member Function Documentation

StereoFrame::StereoFrame()

Constructs a new frame with the "silent" value for this sample format (0 for signed formats and floats, 0x8* for unsigned formats).

StereoFrame::StereoFrame(T leftSample, T rightSample)

Constructs a new frame with the supplied leftSample and rightSample values.

T StereoFrame::average() const

Returns the arithmetic average of the left and right samples.

void StereoFrame::clear()

Sets the values of this frame to the "silent" value.

StereoFrame<T> &StereoFrame::operator=(const StereoFrame<T> &other)

Assigns other to this frame.

Member Variable Documentation

T StereoFrame::left

This variable holds the left sample

T StereoFrame::right

This variable holds the right sample

Related Non-Members

typedef QAudioBuffer::S16S

This is a predefined specialization for a signed stereo 16 bit sample. Each channel is a signed short.

typedef QAudioBuffer::S16U

This is a predefined specialization for an unsigned stereo 16 bit sample. Each channel is an unsigned short.

typedef QAudioBuffer::S32F

This is a predefined specialization for an 32 bit float sample. Each channel is a float.

typedef QAudioBuffer::S8S

This is a predefined specialization for a signed stereo 8 bit sample. Each channel is a signed char.

typedef QAudioBuffer::S8U

This is a predefined specialization for an unsigned stereo 8 bit sample. Each channel is an unsigned char.

© 2021 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.