2 Copyright (C) 2015-2016 Carl Hetherington <cth@carlh.net>
4 This file is part of DCP-o-matic.
6 DCP-o-matic is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 DCP-o-matic is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
22 #include "audio_stream.h"
23 #include "audio_mapping.h"
24 #include "constants.h"
27 using boost::optional;
30 AudioStream::AudioStream(int frame_rate, Frame length, int channels, optional<int> bit_depth)
31 : _frame_rate (frame_rate)
33 , _mapping (AudioMapping (channels, MAX_DCP_AUDIO_CHANNELS))
34 , _bit_depth(bit_depth)
40 AudioStream::AudioStream(int frame_rate, Frame length, AudioMapping mapping, optional<int> bit_depth)
41 : _frame_rate (frame_rate)
44 , _bit_depth(bit_depth)
51 AudioStream::set_mapping (AudioMapping mapping)
53 boost::mutex::scoped_lock lm (_mutex);
59 AudioStream::channels () const
61 boost::mutex::scoped_lock lm (_mutex);
62 return _mapping.input_channels ();
66 AudioStream::bit_depth() const
68 boost::mutex::scoped_lock lm(_mutex);