MCPcopy Create free account
hub / github.com/alibaba/CicadaPlayer / GetKeyTimePositionBeforeUTCTime

Method GetKeyTimePositionBeforeUTCTime

mediaPlayer/media_packet_queue.cpp:217–234  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

215}
216
217int64_t MediaPacketQueue::GetKeyTimePositionBeforeUTCTime(int64_t time)
218{
219 ADD_LOCK;
220 int64_t lastKeyPos = INT64_MIN;
221
222 for (auto r_iter = mQueue.rbegin(); r_iter != mQueue.rend(); ++r_iter) {
223 IAFPacket *packet = (*r_iter).get();
224 if (packet && (packet->getInfo().flags & AF_PKT_FLAG_KEY) && packet->getInfo().utcTime > 0 && packet->getInfo().utcTime <= time) {
225 lastKeyPos = packet->getInfo().timePosition;
226 return lastKeyPos;
227 }
228 if (packet == (*mCurrent).get()) {
229 break;
230 }
231 }
232
233 return lastKeyPos;
234}
235
236std::unique_ptr<IAFPacket> MediaPacketQueue::getPacket()
237{

Callers 1

Calls 3

rendMethod · 0.80
rbeginMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected