mirror of
https://github.com/openharmony/distributed_camera.git
synced 2026-07-21 04:05:22 -04:00
!51 重构surface第二弹
Merge pull request !51 from BruceXuXu/refractor_surface
This commit is contained in:
@@ -287,9 +287,9 @@ DCamRetCode DCameraStream::ReturnDCameraBuffer(const shared_ptr<DCameraBuffer> &
|
||||
if (dcStreamInfo_->intent_ == StreamIntent::VIDEO) {
|
||||
int32_t size = (dcStreamInfo_->width_) * (dcStreamInfo_->height_) * YUV_WIDTH_RATIO / YUV_HEIGHT_RATIO;
|
||||
int64_t timeStamp = static_cast<int64_t>(GetCurrentLocalTimeStamp());
|
||||
surfaceBuffer->ExtraSet("dataSize", size);
|
||||
surfaceBuffer->ExtraSet("isKeyFrame", (int32_t)0);
|
||||
surfaceBuffer->ExtraSet("timeStamp", timeStamp);
|
||||
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) {
|
||||
|
||||
+2
-2
@@ -47,8 +47,8 @@ void DCameraPhotoSurfaceListener::OnBufferAvailable()
|
||||
}
|
||||
|
||||
do {
|
||||
int32_t size;
|
||||
buffer->ExtraGet("dataSize", size);
|
||||
int32_t size = -1;
|
||||
buffer->GetExtraData()->ExtraGet("dataSize", size);
|
||||
if (size <= 0) {
|
||||
size = static_cast<int32_t>(buffer->GetSize());
|
||||
}
|
||||
|
||||
@@ -311,7 +311,7 @@ int32_t EncodeDataProcess::FeedEncoderInputBuffer(std::shared_ptr<DataBuffer>& i
|
||||
}
|
||||
inputTimeStampUs_ = GetEncoderTimeStamp();
|
||||
DHLOGD("Encoder input buffer size %d, timeStamp %lld.", inputBuffer->Size(), (long long)inputTimeStampUs_);
|
||||
surfacebuffer->ExtraSet("timeStamp", inputTimeStampUs_);
|
||||
surfacebuffer->GetExtraData()->ExtraSet("timeStamp", inputTimeStampUs_);
|
||||
BufferFlushConfig flushConfig = { {0, 0, sourceConfig_.GetWidth(), sourceConfig_.GetHeight()}, 0};
|
||||
SurfaceError ret = encodeProducerSurface_->FlushBuffer(surfacebuffer, -1, flushConfig);
|
||||
if (ret != SURFACE_ERROR_OK) {
|
||||
|
||||
+2
-1
@@ -291,7 +291,8 @@ int32_t EncodeDataProcess::FeedEncoderInputBuffer(std::shared_ptr<DataBuffer>& i
|
||||
}
|
||||
inputTimeStampUs_ = GetEncoderTimeStamp();
|
||||
DHLOGD("Encoder input buffer size %d, timeStamp %lld.", inputBuffer->Size(), (long long)inputTimeStampUs_);
|
||||
surfacebuffer->ExtraSet("timeStamp", inputTimeStampUs_);
|
||||
|
||||
surfacebuffer->GetExtraData()->ExtraGet("timeStamp", inputTimeStampUs_);
|
||||
BufferFlushConfig flushConfig = { {0, 0, sourceConfig_.GetWidth(), sourceConfig_.GetHeight()}, 0};
|
||||
SurfaceError ret = encodeProducerSurface_->FlushBuffer(surfacebuffer, -1, flushConfig);
|
||||
if (ret != SURFACE_ERROR_OK) {
|
||||
|
||||
Reference in New Issue
Block a user