FFmpegAudioStream::FFmpegAudioStream (cxml::ConstNodePtr node, int version)
: FFmpegStream (node)
- , mapping (node->node_child ("Mapping"), version)
+ , _frame_rate (node->number_child<int> ("FrameRate"))
+ , _channels (node->number_child<int64_t> ("Channels"))
+ , _mapping (node->node_child ("Mapping"), version)
{
- frame_rate = node->number_child<int> ("FrameRate");
- channels = node->number_child<int64_t> ("Channels");
first_audio = node->optional_number_child<double> ("FirstAudio");
}
FFmpegAudioStream::as_xml (xmlpp::Node* root) const
{
FFmpegStream::as_xml (root);
- root->add_child("FrameRate")->add_child_text (raw_convert<string> (frame_rate));
- root->add_child("Channels")->add_child_text (raw_convert<string> (channels));
+ root->add_child("FrameRate")->add_child_text (raw_convert<string> (_frame_rate));
+ root->add_child("Channels")->add_child_text (raw_convert<string> (_channels));
if (first_audio) {
root->add_child("FirstAudio")->add_child_text (raw_convert<string> (first_audio.get().get()));
}
- mapping.as_xml (root->add_child("Mapping"));
+ _mapping.as_xml (root->add_child("Mapping"));
}
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<ContentTime> first_audio;
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;
};
return 0;
}
- return _audio_stream->channels;
+ return _audio_stream->channels ();
}
int
return 0;
}
- return _audio_stream->frame_rate;
+ return _audio_stream->frame_rate ();
}
bool
return AudioMapping ();
}
- return _audio_stream->mapping;
+ return _audio_stream->mapping ();
}
void
void
FFmpegContent::set_audio_mapping (AudioMapping m)
{
- audio_stream()->mapping = m;
+ audio_stream()->set_mapping (m);
AudioContent::set_audio_mapping (m);
}
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);
}