X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Faudio_stream.cc;h=f771d44a2ffc7845737ab4f91a565285cc2ccfc0;hb=f3617efde1751ac9e55f692369dc4ba3c6350ca8;hp=8e260b34643c216a20d9be290520beedc6a50d85;hpb=3db1df492e1009ee28641cdc593a139df156e8d7;p=dcpomatic.git diff --git a/src/lib/audio_stream.cc b/src/lib/audio_stream.cc index 8e260b346..f771d44a2 100644 --- a/src/lib/audio_stream.cc +++ b/src/lib/audio_stream.cc @@ -1,41 +1,52 @@ /* Copyright (C) 2015-2016 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + DCP-o-matic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with DCP-o-matic. If not, see . */ + #include "audio_stream.h" #include "audio_mapping.h" -#include "util.h" +#include "constants.h" + + +using boost::optional; -AudioStream::AudioStream (int frame_rate, Frame length, int channels) + +AudioStream::AudioStream(int frame_rate, Frame length, int channels, optional bit_depth) : _frame_rate (frame_rate) , _length (length) + , _mapping (AudioMapping (channels, MAX_DCP_AUDIO_CHANNELS)) + , _bit_depth(bit_depth) { - _mapping = AudioMapping (channels, MAX_DCP_AUDIO_CHANNELS); + } -AudioStream::AudioStream (int frame_rate, Frame length, AudioMapping mapping) + +AudioStream::AudioStream(int frame_rate, Frame length, AudioMapping mapping, optional bit_depth) : _frame_rate (frame_rate) , _length (length) , _mapping (mapping) + , _bit_depth(bit_depth) { } + void AudioStream::set_mapping (AudioMapping mapping) { @@ -43,9 +54,18 @@ AudioStream::set_mapping (AudioMapping mapping) _mapping = mapping; } + int AudioStream::channels () const { boost::mutex::scoped_lock lm (_mutex); return _mapping.input_channels (); } + +optional +AudioStream::bit_depth() const +{ + boost::mutex::scoped_lock lm(_mutex); + return _bit_depth; +} +