@@ -41,30 +41,6 @@ Track::write_to(Writer& writer) const
4141 writer.write (" kind" , _kind);
4242}
4343
44- static RationalTime
45- _safe_duration (Composable* c, ErrorStatus* error_status)
46- {
47- if (auto item = dynamic_cast <Item*>(c))
48- {
49- return item->duration (error_status);
50- }
51- else if (auto transition = dynamic_cast <Transition*>(c))
52- {
53- return transition->duration (error_status);
54- }
55- else
56- {
57- if (error_status)
58- {
59- *error_status = ErrorStatus (
60- ErrorStatus::OBJECT_WITHOUT_DURATION,
61- " Cannot determine duration from this kind of object" ,
62- c);
63- }
64- return RationalTime ();
65- }
66- }
67-
6844TimeRange
6945Track::range_of_child_at_index (int index, ErrorStatus* error_status) const
7046{
@@ -79,7 +55,7 @@ Track::range_of_child_at_index(int index, ErrorStatus* error_status) const
7955 }
8056
8157 Composable* child = children ()[index];
82- RationalTime child_duration = _safe_duration ( child, error_status);
58+ RationalTime child_duration = child-> duration ( error_status);
8359 if (is_error (error_status))
8460 {
8561 return TimeRange ();
@@ -92,7 +68,7 @@ Track::range_of_child_at_index(int index, ErrorStatus* error_status) const
9268 Composable* child2 = children ()[i];
9369 if (!child2->overlapping ())
9470 {
95- start_time += _safe_duration ( children ()[i], error_status);
71+ start_time += children ()[i]-> duration ( error_status);
9672 }
9773 if (is_error (error_status))
9874 {
0 commit comments