mirror of
https://github.com/openharmony/distributed_camera.git
synced 2026-07-20 00:54:12 -04:00
@@ -279,16 +279,20 @@ DCamRetCode DCameraStream::ReturnDCameraBuffer(const DCameraBuffer &buffer)
|
||||
.timestamp = 0
|
||||
};
|
||||
if (dcStreamProducer_ != nullptr) {
|
||||
int32_t size = -1;
|
||||
if (dcStreamInfo_->intent_ == StreamIntent::VIDEO) {
|
||||
size = (dcStreamInfo_->width_) * (dcStreamInfo_->height_) * YUV_WIDTH_RATIO / YUV_HEIGHT_RATIO;
|
||||
int32_t size = (dcStreamInfo_->width_) * (dcStreamInfo_->height_) * YUV_WIDTH_RATIO / YUV_HEIGHT_RATIO;
|
||||
int64_t timeStamp = static_cast<int64_t>(GetCurrentLocalTimeStamp());
|
||||
surfaceBuffer->GetExtraData()->ExtraSet("dataSize", size);
|
||||
surfaceBuffer->GetExtraData()->ExtraSet("isKeyFrame", (int32_t)0);
|
||||
surfaceBuffer->GetExtraData()->ExtraSet("timeStamp", timeStamp);
|
||||
} else if (dcStreamInfo_->intent_ == StreamIntent::STILL_CAPTURE) {
|
||||
size = buffer.size_;
|
||||
int32_t size = buffer.size_;
|
||||
int64_t timeStamp = static_cast<int64_t>(GetCurrentLocalTimeStamp());
|
||||
surfaceBuffer->GetExtraData()->ExtraSet("dataSize", size);
|
||||
surfaceBuffer->GetExtraData()->ExtraSet("isKeyFrame", (int32_t)0);
|
||||
surfaceBuffer->GetExtraData()->ExtraSet("timeStamp", timeStamp);
|
||||
}
|
||||
int64_t timeStamp = static_cast<int64_t>(GetCurrentLocalTimeStamp());
|
||||
surfaceBuffer->GetExtraData()->ExtraSet("dataSize", size);
|
||||
surfaceBuffer->GetExtraData()->ExtraSet("isKeyFrame", (int32_t)0);
|
||||
surfaceBuffer->GetExtraData()->ExtraSet("timeStamp", timeStamp);
|
||||
|
||||
int ret = dcStreamProducer_->FlushBuffer(surfaceBuffer, fence, flushConf);
|
||||
if (ret != 0) {
|
||||
DHLOGI("FlushBuffer error: %d", ret);
|
||||
|
||||
Reference in New Issue
Block a user