+ optional<ContentTime> pos;
+
+ if (video && !video->ignore() && (!pos || video->position() < *pos)) {
+ pos = video->position();
+ }
+
+ if (audio && !audio->ignore() && (!pos || audio->position() < *pos)) {
+ pos = audio->position();
+ }
+
+ if (subtitle && !subtitle->ignore() && (!pos || subtitle->position() < *pos)) {
+ pos = subtitle->position();
+ }
+
+ return pos.get_value_or(ContentTime());