| 113 | } |
| 114 | |
| 115 | int64_t MediaPacketQueue::GetLastKeyTimePos() |
| 116 | { |
| 117 | ADD_LOCK; |
| 118 | int64_t lastPos = INT64_MIN; |
| 119 | // std::deque<std::shared_ptr<IAFPacket>>::reverse_iterator r_iter; |
| 120 | |
| 121 | for (auto r_iter = mQueue.rbegin(); r_iter != mQueue.rend(); ++r_iter) { |
| 122 | IAFPacket *packet = (*r_iter).get(); |
| 123 | if (packet == (*mCurrent).get()) { |
| 124 | break; |
| 125 | } |
| 126 | |
| 127 | if (packet && (packet->getInfo().flags & AF_PKT_FLAG_KEY)) { |
| 128 | lastPos = packet->getInfo().timePosition; |
| 129 | return lastPos; |
| 130 | } |
| 131 | } |
| 132 | |
| 133 | return lastPos; |
| 134 | } |
| 135 | |
| 136 | int64_t MediaPacketQueue::GetLastPTS() |
| 137 | { |
no test coverage detected