MCPcopy Create free account
hub / github.com/Tencent/libpag / getEncodeFrame

Method getEncodeFrame

exporter/src/export/encode/PAGEncodeThread.cpp:82–103  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

80}
81
82void PAGEncodeThread::getEncodeFrame() {
83 if (encoder == nullptr) {
84 return;
85 }
86 FrameType frameType = FrameType::FRAME_TYPE_AUTO;
87 uint8_t* data = nullptr;
88 int64_t index = -1;
89 auto size = encoder->getEncodedData(&data, &frameType, &index);
90 if (size > 0 && data != nullptr) {
91 auto newData = pag::ByteData::MakeCopy(data, size);
92 hasEncodedNum++;
93 if (encodeFrameCallback != nullptr) {
94 encodeFrameCallback(std::move(newData), frameType, index);
95 }
96 } else if (size < 0) {
97 valid = false;
98 }
99 if ((hasEncodedNum < needEncodeNum) || !inputFinished) {
100 std::this_thread::sleep_for(std::chrono::microseconds(1000));
101 Q_EMIT getEncodeFrameSignal();
102 }
103}
104
105void PAGEncodeThread::encodeHeadersInternal() {
106 if (encoder == nullptr) {

Callers

nothing calls this directly

Calls 1

getEncodedDataMethod · 0.80

Tested by

no test coverage detected