Trace sampled video frames through desktop encoding and transport
This commit is contained in:
1 parent
19a135d552
commit
e2102bbbcc
2 files changed
+22
-2
No files matched your search
@@ -264,6 +264,7 @@ void CallVideoEngine::transmit() {
|
||||
}
|
||||
#ifdef HAVE_STREAM_CAPTURE
|
||||
if (!cadence.accept(pts)) { lastPts = pts; ++paced; idle(); continue; }
|
||||
const int64_t convertStarted = nowUs();
|
||||
QImage image = raw.toImage();
|
||||
if (image.isNull()) { DEBUG_WARN(DEBUG_CATEGORY_CALL, "camera frame conversion failed"); lastPts = pts; continue; }
|
||||
LiveEncodedFrame output; CallVideoRateCompletion completion;
|
||||
@@ -283,6 +284,12 @@ void CallVideoEngine::transmit() {
|
||||
packet.size = packet.length = output.data.size(); packet.data = reinterpret_cast<const uint8_t*>(output.data.constData());
|
||||
packet.flags = output.key ? CALL_VIDEO_KEY : 0;
|
||||
forceKey = call_video_port_send(&packet) != 1;
|
||||
// Одинаковое окно исходного PTS на всех этапах: примерно один кадр в секунду, без трассы каждого кадра.
|
||||
if (pts % 1000000 < 34000)
|
||||
DEBUG_DEBUG(DEBUG_CATEGORY_DEBUG,
|
||||
"video timing stage=encode call=%llu frame=%llu pts=%lld mono_us=%lld select_us=%lld convert_us=%lld encode_us=%lld accepted=%d",
|
||||
(unsigned long long)m->id, (unsigned long long)frameId, (long long)pts, (long long)nowUs(),
|
||||
(long long)convertStarted, (long long)(encodeStarted - convertStarted), (long long)(nowUs() - encodeStarted), !forceKey);
|
||||
if (forceKey) ++sendBusy;
|
||||
#else
|
||||
idle();
|
||||
|
||||
Reference in new issue
Block a user