JS8Call-Improved master
Loading...
Searching...
No Matches
BWFFile.h File Reference

Broadcast Wave Format (BWF) file helper and QIODevice wrapper. More...

#include "JS8_Include/pimpl_h.h"
#include <QByteArray>
#include <QFile>
#include <QMap>
#include <array>
Include dependency graph for BWFFile.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  BWFFile
 QIODevice-style access to BWF/WAV sample data and metadata. More...

Detailed Description

Broadcast Wave Format (BWF) file helper and QIODevice wrapper.

BWF is a WAV-compatible format with EBU 'bext' metadata. This class exposes the audio sample data as a QIODevice while providing access to the bext and LIST-INFO metadata chunks.

The InfoDictionary used by some constructors should contain valid WAV LIST-INFO identifiers as keys; a list of common identifiers is available at: http://bwfmetaedit.sourceforge.net/listinfo.html

For files opened ReadOnly the dictionary is not written back. For files opened ReadWrite, any existing LIST-INFO tags are merged into the dictionary when the file is opened and the merged dictionary will be written back to the file if the file is modified.

The sample data may not be in the native endian. Callers are responsible for any required endian conversions; internally the class presents data in native endian and performs conversions automatically. Use the format() accessor and QAudioFormat::byteOrder() to determine byte ordering.

See also
https://tech.ebu.ch/docs/tech/tech3285.pdf
https://tech.ebu.ch/docs/r/r098.pdf