42 uint32_t end_sample)
const {
43 DCHECK_LE(start_sample, end_sample);
44 uint32_t current_sample = 0;
45 uint32_t prev_sample = 0;
47 std::vector<DecodingTime>::const_iterator it = decoding_time_table_.begin();
48 for (; it != decoding_time_table_.end(); ++it) {
49 current_sample += it->sample_count;
50 if (current_sample >= start_sample) {
51 duration += (std::min(end_sample, current_sample) -
52 std::max(start_sample, prev_sample + 1) + 1) *
54 if (current_sample >= end_sample)
57 prev_sample = current_sample;