From 97e09772b91038e223f16f9bbfd5fdef1a6cd552 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Fri, 25 Jul 2014 09:25:09 +0100 Subject: [PATCH] Put some get/sets in FFmpegAudioStream. --- src/lib/ffmpeg_audio_stream.cc | 12 +++++------ src/lib/ffmpeg_audio_stream.h | 37 +++++++++++++++++++++++++--------- src/lib/ffmpeg_content.cc | 8 ++++---- test/stream_test.cc | 18 ++++++++--------- 4 files changed, 46 insertions(+), 29 deletions(-) diff --git a/src/lib/ffmpeg_audio_stream.cc b/src/lib/ffmpeg_audio_stream.cc index 255952b8f..d8666e89e 100644 --- a/src/lib/ffmpeg_audio_stream.cc +++ b/src/lib/ffmpeg_audio_stream.cc @@ -27,10 +27,10 @@ using dcp::raw_convert; FFmpegAudioStream::FFmpegAudioStream (cxml::ConstNodePtr node, int version) : FFmpegStream (node) - , mapping (node->node_child ("Mapping"), version) + , _frame_rate (node->number_child ("FrameRate")) + , _channels (node->number_child ("Channels")) + , _mapping (node->node_child ("Mapping"), version) { - frame_rate = node->number_child ("FrameRate"); - channels = node->number_child ("Channels"); first_audio = node->optional_number_child ("FirstAudio"); } @@ -38,10 +38,10 @@ void FFmpegAudioStream::as_xml (xmlpp::Node* root) const { FFmpegStream::as_xml (root); - root->add_child("FrameRate")->add_child_text (raw_convert (frame_rate)); - root->add_child("Channels")->add_child_text (raw_convert (channels)); + root->add_child("FrameRate")->add_child_text (raw_convert (_frame_rate)); + root->add_child("Channels")->add_child_text (raw_convert (_channels)); if (first_audio) { root->add_child("FirstAudio")->add_child_text (raw_convert (first_audio.get().get())); } - mapping.as_xml (root->add_child("Mapping")); + _mapping.as_xml (root->add_child("Mapping")); } diff --git a/src/lib/ffmpeg_audio_stream.h b/src/lib/ffmpeg_audio_stream.h index 8a9525422..1587afcae 100644 --- a/src/lib/ffmpeg_audio_stream.h +++ b/src/lib/ffmpeg_audio_stream.h @@ -28,20 +28,33 @@ class FFmpegAudioStream : public FFmpegStream public: FFmpegAudioStream (std::string n, int i, int f, int c) : FFmpegStream (n, i) - , frame_rate (f) - , channels (c) - , mapping (c) + , _frame_rate (f) + , _channels (c) + , _mapping (c) { - mapping.make_default (); + _mapping.make_default (); } FFmpegAudioStream (cxml::ConstNodePtr, int); void as_xml (xmlpp::Node *) const; - int frame_rate; - int channels; - AudioMapping mapping; + int frame_rate () const { + return _frame_rate; + } + + int channels () const { + return _channels; + } + + AudioMapping mapping () const { + return _mapping; + } + + void set_mapping (AudioMapping m) { + _mapping = m; + } + boost::optional first_audio; private: @@ -50,8 +63,12 @@ private: /* Constructor for tests */ FFmpegAudioStream () : FFmpegStream ("", 0) - , frame_rate (0) - , channels (0) - , mapping (1) + , _frame_rate (0) + , _channels (0) + , _mapping (1) {} + + int _frame_rate; + int _channels; + AudioMapping _mapping; }; diff --git a/src/lib/ffmpeg_content.cc b/src/lib/ffmpeg_content.cc index e14d1bd6b..0af53d883 100644 --- a/src/lib/ffmpeg_content.cc +++ b/src/lib/ffmpeg_content.cc @@ -284,7 +284,7 @@ FFmpegContent::audio_channels () const return 0; } - return _audio_stream->channels; + return _audio_stream->channels (); } int @@ -296,7 +296,7 @@ FFmpegContent::audio_frame_rate () const return 0; } - return _audio_stream->frame_rate; + return _audio_stream->frame_rate (); } bool @@ -328,7 +328,7 @@ FFmpegContent::audio_mapping () const return AudioMapping (); } - return _audio_stream->mapping; + return _audio_stream->mapping (); } void @@ -345,7 +345,7 @@ FFmpegContent::set_filters (vector const & filters) void FFmpegContent::set_audio_mapping (AudioMapping m) { - audio_stream()->mapping = m; + audio_stream()->set_mapping (m); AudioContent::set_audio_mapping (m); } diff --git a/test/stream_test.cc b/test/stream_test.cc index 16ab83baf..de2108066 100644 --- a/test/stream_test.cc +++ b/test/stream_test.cc @@ -73,16 +73,16 @@ BOOST_AUTO_TEST_CASE (stream_test) FFmpegAudioStream a (cxml::NodePtr (new cxml::Node (root)), 5); BOOST_CHECK_EQUAL (a.identifier(), "4"); - BOOST_CHECK_EQUAL (a.frame_rate, 44100); - BOOST_CHECK_EQUAL (a.channels, 2); + BOOST_CHECK_EQUAL (a.frame_rate(), 44100); + BOOST_CHECK_EQUAL (a.channels(), 2); BOOST_CHECK_EQUAL (a.name, "hello there world"); - BOOST_CHECK_EQUAL (a.mapping.content_channels(), 2); + BOOST_CHECK_EQUAL (a.mapping().content_channels(), 2); - BOOST_CHECK_EQUAL (a.mapping.get (0, dcp::LEFT), 1); - BOOST_CHECK_EQUAL (a.mapping.get (0, dcp::RIGHT), 0); - BOOST_CHECK_EQUAL (a.mapping.get (0, dcp::CENTRE), 1); - BOOST_CHECK_EQUAL (a.mapping.get (1, dcp::LEFT), 0); - BOOST_CHECK_EQUAL (a.mapping.get (1, dcp::RIGHT), 1); - BOOST_CHECK_EQUAL (a.mapping.get (1, dcp::CENTRE), 1); + BOOST_CHECK_EQUAL (a.mapping().get (0, dcp::LEFT), 1); + BOOST_CHECK_EQUAL (a.mapping().get (0, dcp::RIGHT), 0); + BOOST_CHECK_EQUAL (a.mapping().get (0, dcp::CENTRE), 1); + BOOST_CHECK_EQUAL (a.mapping().get (1, dcp::LEFT), 0); + BOOST_CHECK_EQUAL (a.mapping().get (1, dcp::RIGHT), 1); + BOOST_CHECK_EQUAL (a.mapping().get (1, dcp::CENTRE), 1); } -- 2.30.2