AbstractStream::status PlaylistManager::dequeue(mtime_t i_floor, mtime_t *pi_nzbarrier) { AbstractStream::status i_return = AbstractStream::status_eof; const mtime_t i_nzdeadline = *pi_nzbarrier; std::vector<AbstractStream *>::iterator it; for(it=streams.begin(); it!=streams.end(); ++it) { AbstractStream *st = *it; mtime_t i_pcr; AbstractStream::status i_ret = st->dequeue(i_nzdeadline, &i_pcr); if( i_ret > i_return ) i_return = i_ret; if( i_pcr > i_floor ) *pi_nzbarrier = std::min( *pi_nzbarrier, i_pcr - VLC_TS_0 ); } return i_return; }