/*
- Copyright (C) 2015-2016 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2015-2021 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
*/
+
#ifndef DCPOMATIC_AUDIO_STREAM_H
#define DCPOMATIC_AUDIO_STREAM_H
+
#include "audio_mapping.h"
#include "types.h"
#include <boost/thread/mutex.hpp>
+
struct audio_sampling_rate_test;
class AudioStream
{
public:
- AudioStream (int frame_rate, Frame length, int channels);
- AudioStream (int frame_rate, Frame length, AudioMapping mapping);
+ AudioStream(int frame_rate, Frame length, int channels, boost::optional<int> bit_depth);
+ AudioStream(int frame_rate, Frame length, AudioMapping mapping, boost::optional<int> bit_depth);
virtual ~AudioStream () {}
void set_mapping (AudioMapping mapping);
}
int channels () const;
+ boost::optional<int> bit_depth() const;
protected:
mutable boost::mutex _mutex;
int _frame_rate;
Frame _length;
AudioMapping _mapping;
+ boost::optional<int> _bit_depth;
};
+
typedef std::shared_ptr<AudioStream> AudioStreamPtr;
+
#endif