void PlatformTimeRanges::invert() { PlatformTimeRanges inverted; double posInf = std::numeric_limits<double>::infinity(); double negInf = -std::numeric_limits<double>::infinity(); if (!m_ranges.size()) inverted.add(negInf, posInf); else { double start = m_ranges.first().m_start; if (start != negInf) inverted.add(negInf, start); for (size_t index = 0; index + 1 < m_ranges.size(); ++index) inverted.add(m_ranges[index].m_end, m_ranges[index + 1].m_start); double end = m_ranges.last().m_end; if (end != posInf) inverted.add(end, posInf); } m_ranges.swap(inverted.m_ranges); }
void PlatformTimeRanges::invert() { PlatformTimeRanges inverted; MediaTime posInf = MediaTime::positiveInfiniteTime(); MediaTime negInf = MediaTime::negativeInfiniteTime(); if (!m_ranges.size()) inverted.add(negInf, posInf); else { MediaTime start = m_ranges.first().m_start; if (start != negInf) inverted.add(negInf, start); for (size_t index = 0; index + 1 < m_ranges.size(); ++index) inverted.add(m_ranges[index].m_end, m_ranges[index + 1].m_start); MediaTime end = m_ranges.last().m_end; if (end != posInf) inverted.add(end, posInf); } m_ranges.swap(inverted.m_ranges); }