Better error message when loading a DCP with no ASSETMAP{,.xml}
[dcpomatic.git] / src / lib / audio_content.cc
index 703696a44d7d7accf1b71b2fa236306645a72e6d..59ba992ad2058a7117bc0f29ed128a755fb1b2ce 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2013-2016 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2013-2018 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
@@ -146,7 +146,7 @@ AudioContent::technical_summary () const
 void
 AudioContent::set_mapping (AudioMapping mapping)
 {
-       ContentChange cc (_parent, AudioContentProperty::STREAMS);
+       ChangeSignaller<Content> cc (_parent, AudioContentProperty::STREAMS);
 
        int c = 0;
        BOOST_FOREACH (AudioStreamPtr i, streams ()) {
@@ -341,7 +341,7 @@ AudioContent::add_properties (list<UserProperty>& p) const
 void
 AudioContent::set_streams (vector<AudioStreamPtr> streams)
 {
-       ContentChange cc (_parent, AudioContentProperty::STREAMS);
+       ChangeSignaller<Content> cc (_parent, AudioContentProperty::STREAMS);
 
        {
                boost::mutex::scoped_lock lm (_mutex);
@@ -360,7 +360,7 @@ AudioContent::stream () const
 void
 AudioContent::add_stream (AudioStreamPtr stream)
 {
-       ContentChange cc (_parent, AudioContentProperty::STREAMS);
+       ChangeSignaller<Content> cc (_parent, AudioContentProperty::STREAMS);
 
        {
                boost::mutex::scoped_lock lm (_mutex);
@@ -371,7 +371,7 @@ AudioContent::add_stream (AudioStreamPtr stream)
 void
 AudioContent::set_stream (AudioStreamPtr stream)
 {
-       ContentChange cc (_parent, AudioContentProperty::STREAMS);
+       ChangeSignaller<Content> cc (_parent, AudioContentProperty::STREAMS);
 
        {
                boost::mutex::scoped_lock lm (_mutex);
@@ -405,5 +405,7 @@ AudioContent::modify_position (DCPTime& pos) const
 void
 AudioContent::modify_trim_start (ContentTime& trim) const
 {
-       trim = trim.round (stream()->frame_rate());
+       DCPOMATIC_ASSERT (!_streams.empty());
+       /* XXX: we're in trouble if streams have different rates */
+       trim = trim.round (_streams.front()->frame_rate());
 }