• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file expected in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include "hdi_common_v1_3.h"
17 #include "camera.h"
18 #include "video_key_info.h"
19 
20 namespace OHOS::Camera {
21 HdiCommonV1_3::StreamResultCallback HdiCommonV1_3::streamResultCallback_ = 0;
22 
Init()23 void HdiCommonV1_3::Init()
24 {
25     uint32_t mainVer;
26     uint32_t minVer;
27     int32_t ret;
28     if (serviceV1_3 == nullptr) {
29         serviceV1_3 = OHOS::HDI::Camera::V1_3::ICameraHost::Get("camera_service", false);
30         if (serviceV1_3 == nullptr) {
31             printf("Init ICameraHost get failed serviceV1_3 nullptr\n");
32             CAMERA_LOGE("Init ICameraHost get failed serviceV1_3 nullptr");
33             return;
34         }
35         CAMERA_LOGI("V1_3::ICameraHost get success");
36         ret = serviceV1_3->GetVersion(mainVer, minVer);
37         if (ret != 0) {
38             printf("Init GetVersion failed, ret = %d\n", ret);
39             CAMERA_LOGE("Init GetVersion failed, ret = %{public}d", ret);
40             return;
41         }
42         CAMERA_LOGI("V1_3::ICameraHost get version success, %{public}d, %{public}d", mainVer, minVer);
43     }
44 
45     hostCallback = new TestCameraHostCallback();
46     ret = serviceV1_3->SetCallback(hostCallback);
47     if (ret != 0) {
48         printf("Init SetCallback failed, ret = %d\n", ret);
49         CAMERA_LOGE("Init SetCallback failed, ret = %{public}d", ret);
50     }
51 }
52 
DefferredVideoTestInit()53 int32_t HdiCommonV1_3::DefferredVideoTestInit()
54 {
55     constexpr const char* serviceName = "camera_video_process_service";
56     constexpr const int userId = 100;
57     int ret = 0;
58 
59     // get VideoProcessService
60     videoProcessService_ = OHOS::HDI::Camera::V1_3::IVideoProcessService::Get(serviceName, false);
61     if (videoProcessService_ == nullptr) {
62         CAMERA_LOGE("IVideoProcessService::Get Fail, videoProcessService_ is nullptr");
63         printf("IVideoProcessService::Get Fail, videoProcessService_ is nullptr\n");
64         return -1;
65     }
66     videoProcessCallback_ = new OHOS::Camera::HdiCommonV1_3::TestVideoProcessCallback();
67     if (videoProcessCallback_ == nullptr) {
68         CAMERA_LOGE("DefferredVideoTestInit videoProcessCallback_ get failed videoProcessCallback_ nullptr");
69         printf("DefferredVideoTestInit videoProcessCallback_ get failed videoProcessCallback_ nullptr\n");
70         return -1;
71     }
72     ret = videoProcessService_->CreateVideoProcessSession(userId, videoProcessCallback_, videoProcessSession_);
73     if (ret != 0) {
74         CAMERA_LOGE("CreateVideoProcessSession failed, ret = %{public}d", ret);
75         printf("CreateVideoProcessSession failed, ret = %d\n", ret);
76         return -1;
77     }
78     if (videoProcessSession_ == nullptr) {
79         CAMERA_LOGE("CreateVideoProcessSession Fail, videoProcessSession_ is nullptr: %{public}d", ret);
80         printf("CreateVideoProcessSession Fail, videoProcessSession_ is nullptr: %d\r\n", ret);
81         return -1;
82     }
83     std::shared_ptr<CameraSetting> meta = std::make_shared<CameraSetting>(itemCapacity, dataCapacity);
84     int32_t cameraUserId = 100;
85     meta->addEntry(OHOS_CAMERA_USER_ID, &cameraUserId, dataCount);
86     std::vector<uint8_t> metaVec;
87     MetadataUtils::ConvertMetadataToVec(meta, metaVec);
88     cameraDeviceV1_3->UpdateSettings(metaVec);
89     return ret;
90 }
91 
Open(int cameraId)92 void HdiCommonV1_3::Open(int cameraId)
93 {
94     if (cameraDeviceV1_3 == nullptr) {
95         if (serviceV1_3 == nullptr) {
96             printf("Open failed serviceV1_3 nullptr\n");
97             CAMERA_LOGE("Open failed serviceV1_3 nullptr");
98             return;
99         }
100         serviceV1_3->GetCameraIds(cameraIds);
101         if (cameraIds.size() == 0) {
102             printf("Open GetCameraIds failed\n");
103             CAMERA_LOGE("Open GetCameraIds failed");
104             return;
105         }
106         GetCameraMetadata(cameraId);
107         deviceCallback = new OHOS::Camera::HdiCommon::DemoCameraDeviceCallback();
108         if (DEVICE_1 == cameraId) {
109             rc = serviceV1_3->OpenCamera_V1_3(cameraIds[1], deviceCallback, cameraDeviceV1_3);
110         } else {
111             rc = serviceV1_3->OpenCamera_V1_3(cameraIds[0], deviceCallback, cameraDeviceV1_3);
112         }
113         if (rc != HDI::Camera::V1_0::NO_ERROR || cameraDeviceV1_3 == nullptr) {
114             printf("Open OpenCamera_V1_3 failed, rc = %d\n", rc);
115             CAMERA_LOGE("Open OpenCamera_V1_3 failed, rc = %{public}d", rc);
116         } else {
117             CAMERA_LOGI("Open success");
118         }
119     }
120 }
121 
OpenSecureCamera(int cameraId)122 void HdiCommonV1_3::OpenSecureCamera(int cameraId)
123 {
124     if (cameraDeviceV1_3 == nullptr) {
125         if (serviceV1_3 == nullptr) {
126             printf("OpenSecureCamera failed serviceV1_3 nullptr\n");
127             CAMERA_LOGE("OpenSecureCamera failed serviceV1_3 nullptr");
128             return;
129         }
130         serviceV1_3->GetCameraIds(cameraIds);
131         if (cameraIds.size() == 0) {
132             printf("OpenSecureCamera GetCameraIds failed\n");
133             CAMERA_LOGE("OpenSecureCamera GetCameraIds failed");
134             return;
135         }
136         GetCameraMetadata(cameraId);
137         deviceCallback = new OHOS::Camera::HdiCommon::DemoCameraDeviceCallback();
138         if (DEVICE_1 == cameraId) {
139             rc = serviceV1_3->OpenSecureCamera(cameraIds[1], deviceCallback, cameraDeviceV1_3);
140         } else {
141             rc = serviceV1_3->OpenSecureCamera(cameraIds[0], deviceCallback, cameraDeviceV1_3);
142         }
143         if (rc != HDI::Camera::V1_0::NO_ERROR || cameraDeviceV1_3 == nullptr) {
144             printf("Open OpenCamera_V1_3 failed, rc = %d\n", rc);
145             CAMERA_LOGE("Open OpenCamera_V1_3 failed, rc = %{public}d", rc);
146         } else {
147             CAMERA_LOGI("OpenSecureCamera success");
148         }
149     }
150 }
151 
GetCameraMetadata(int cameraId)152 void HdiCommonV1_3::GetCameraMetadata(int cameraId)
153 {
154     if (DEVICE_1 == cameraId) {
155         rc = serviceV1_3->GetCameraAbility(cameraIds[1], abilityVec);
156     } else {
157         rc = serviceV1_3->GetCameraAbility(cameraIds[0], abilityVec);
158     }
159     if (rc != HDI::Camera::V1_0::NO_ERROR) {
160         printf("GetCameraAbility failed, rc = %d\n", rc);
161         CAMERA_LOGE("GetCameraAbility failed, rc = %{public}d", rc);
162         return;
163     }
164     MetadataUtils::ConvertVecToMetadata(abilityVec, ability);
165 }
166 
Close()167 void HdiCommonV1_3::Close()
168 {
169     if (cameraDeviceV1_3 != nullptr) {
170         cameraDeviceV1_3->Close();
171         cameraDeviceV1_3 = nullptr;
172     }
173 }
174 
DefaultMeta(std::shared_ptr<OHOS::HDI::Camera::V1_1::StreamInfo_V1_1> & infos)175 void HdiCommonV1_3::DefaultMeta(
176     std::shared_ptr<OHOS::HDI::Camera::V1_1::StreamInfo_V1_1> &infos)
177 {
178     infos->v1_0.streamId_ = streamIdMeta;
179     infos->v1_0.width_ = metaWidth;
180     infos->v1_0.height_ = metaHeight;
181     infos->v1_0.format_ = snapshotFormat;
182     infos->v1_0.dataspace_ = UT_DATA_SIZE;
183     infos->v1_0.intent_ = StreamIntent::VIDEO;
184     infos->v1_0.encodeType_ = OHOS::HDI::Camera::V1_0::ENCODE_TYPE_H265;
185     infos->v1_0.tunneledMode_ = UT_TUNNEL_MODE;
186 }
187 
DefaultInfosMeta(std::shared_ptr<OHOS::HDI::Camera::V1_1::StreamInfo_V1_1> & infos)188 void HdiCommonV1_3::DefaultInfosMeta(
189     std::shared_ptr<OHOS::HDI::Camera::V1_1::StreamInfo_V1_1> &infos)
190 {
191     DefaultMeta(infos);
192     std::shared_ptr<StreamConsumer> consumer_meta = std::make_shared<StreamConsumer>();
193     infos->v1_0.bufferQueue_ = consumer_meta->CreateProducerSeq([this](void* addr, uint32_t size) {
194         DumpImageFile(streamIdMeta, "yuv", addr, size);
195     });
196     infos->v1_0.bufferQueue_->producer_->SetQueueSize(UT_DATA_SIZE);
197     consumerMap_[StreamIntent::PREVIEW] = consumer_meta;
198 }
199 
DefaultInfosProfessionalCapture(std::shared_ptr<OHOS::HDI::Camera::V1_1::StreamInfo_V1_1> & infos)200 void HdiCommonV1_3::DefaultInfosProfessionalCapture(
201     std::shared_ptr<OHOS::HDI::Camera::V1_1::StreamInfo_V1_1> &infos)
202 {
203     DefaultCapture(infos);
204     std::shared_ptr<StreamConsumer> consumer_capture = std::make_shared<StreamConsumer>();
205     infos->v1_0.bufferQueue_ = consumer_capture->CreateProducerSeq([this](void* addr, uint32_t size) {
206         DumpImageFile(streamIdCapture, "yuv", addr, size);
207     });
208     infos->v1_0.bufferQueue_->producer_->SetQueueSize(UT_DATA_SIZE);
209     consumerMap_[StreamIntent::STILL_CAPTURE] = consumer_capture;
210 }
211 
StartProfessionalStream(std::vector<StreamIntent> intents,uint8_t professionalMode)212 void HdiCommonV1_3::StartProfessionalStream(std::vector<StreamIntent> intents, uint8_t professionalMode)
213 {
214     streamOperatorCallbackV1_3 = new OHOS::Camera::HdiCommonV1_3::TestStreamOperatorCallbackV1_3();
215     uint32_t mainVersion = 1;
216     uint32_t minVersion = 0;
217     rc = cameraDeviceV1_3->GetStreamOperator_V1_3(streamOperatorCallbackV1_3, streamOperator_V1_3);
218     if (rc == HDI::Camera::V1_0::NO_ERROR) {
219         rc = streamOperator_V1_3->GetVersion(mainVersion, minVersion);
220         if (rc != HDI::Camera::V1_0::NO_ERROR) {
221             printf("streamOperator_V1_3 get version failed, rc = %d\n", rc);
222             CAMERA_LOGE("streamOperator_V1_3 get version failed, rc = %{public}d", rc);
223         }
224         CAMERA_LOGI("GetStreamOperator success");
225     } else {
226         printf("GetStreamOperator fail, rc = %d\n", rc);
227         CAMERA_LOGE("GetStreamOperator fail, rc = %{public}d", rc);
228     }
229     streamInfoPre = std::make_shared<OHOS::HDI::Camera::V1_1::StreamInfo_V1_1>();
230     streamInfoVideo = std::make_shared<OHOS::HDI::Camera::V1_1::StreamInfo_V1_1>();
231     streamInfoCapture = std::make_shared<OHOS::HDI::Camera::V1_1::StreamInfo_V1_1>();
232     streamInfoAnalyze = std::make_shared<OHOS::HDI::Camera::V1_1::StreamInfo_V1_1>();
233     for (auto& streamType : intents) {
234         if (streamType == StreamIntent::PREVIEW) {
235             DefaultInfosPreview(streamInfoPre);
236             streamInfos.push_back(*streamInfoPre);
237         } else if (streamType == StreamIntent::VIDEO) {
238             DefaultInfosVideo(streamInfoVideo);
239             streamInfos.push_back(*streamInfoVideo);
240         } else if (streamType == StreamIntent::ANALYZE) {
241             DefaultInfosAnalyze(streamInfoAnalyze);
242             streamInfos.push_back(*streamInfoAnalyze);
243         } else {
244             DefaultInfosProfessionalCapture(streamInfoCapture);
245             streamInfos.push_back(*streamInfoCapture);
246         }
247     }
248     rc = streamOperator_V1_3->CreateStreams_V1_1(streamInfos);
249     if (rc != HDI::Camera::V1_0::NO_ERROR) {
250         printf("check StartProfessionalStream: CreateStreams_V1_1 fail, rc = %d\n", rc);
251         CAMERA_LOGE("check StartProfessionalStream: CreateStreams_V1_1 fail, rc = %{public}d", rc);
252     }
253     rc = streamOperator_V1_3->CommitStreams_V1_1(
254         static_cast<OHOS::HDI::Camera::V1_1::OperationMode_V1_1>(professionalMode), abilityVec);
255     if (rc != HDI::Camera::V1_0::NO_ERROR) {
256         printf("check StartProfessionalStream: CommitStreams_V1_1 fail, rc = %d\n", rc);
257         CAMERA_LOGE("check StartProfessionalStream: CommitStreams_V1_1 fail, rc = %{public}d", rc);
258     }
259     sleep(1);
260     std::vector<OHOS::HDI::Camera::V1_1::StreamInfo_V1_1>().swap(streamInfos);
261 }
262 
StartStream(std::vector<StreamIntent> intents,OHOS::HDI::Camera::V1_3::OperationMode mode)263 void HdiCommonV1_3::StartStream(std::vector<StreamIntent> intents, OHOS::HDI::Camera::V1_3::OperationMode mode)
264 {
265     streamOperatorCallbackV1_3 = new OHOS::Camera::HdiCommonV1_3::TestStreamOperatorCallbackV1_3();
266     uint32_t mainVersion = 1;
267     uint32_t minVersion = 0;
268     rc = cameraDeviceV1_3->GetStreamOperator_V1_3(streamOperatorCallbackV1_3, streamOperator_V1_3);
269     if (rc == HDI::Camera::V1_0::NO_ERROR) {
270         rc = streamOperator_V1_3->GetVersion(mainVersion, minVersion);
271         if (rc != HDI::Camera::V1_0::NO_ERROR) {
272             printf("streamOperator_V1_3 get version failed, rc = %d\n", rc);
273             CAMERA_LOGE("streamOperator_V1_3 get version failed, rc = %{public}d", rc);
274         }
275         CAMERA_LOGI("GetStreamOperator success");
276     } else {
277         printf("GetStreamOperator fail, rc = %d\n", rc);
278         CAMERA_LOGE("GetStreamOperator fail, rc = %{public}d", rc);
279     }
280     streamInfoPre = std::make_shared<OHOS::HDI::Camera::V1_1::StreamInfo_V1_1>();
281     streamInfoVideo = std::make_shared<OHOS::HDI::Camera::V1_1::StreamInfo_V1_1>();
282     streamInfoCapture = std::make_shared<OHOS::HDI::Camera::V1_1::StreamInfo_V1_1>();
283     streamInfoAnalyze = std::make_shared<OHOS::HDI::Camera::V1_1::StreamInfo_V1_1>();
284     for (auto& intent : intents) {
285         if (intent == StreamIntent::PREVIEW) {
286             DefaultInfosPreview(streamInfoPre);
287             streamInfos.push_back(*streamInfoPre);
288         } else if (intent == StreamIntent::VIDEO) {
289             DefaultInfosVideo(streamInfoVideo);
290             streamInfos.push_back(*streamInfoVideo);
291         } else if (intent == StreamIntent::ANALYZE) {
292             DefaultInfosAnalyze(streamInfoAnalyze);
293             streamInfos.push_back(*streamInfoAnalyze);
294         } else {
295             DefaultInfosCapture(streamInfoCapture);
296             streamInfos.push_back(*streamInfoCapture);
297         }
298     }
299     rc = streamOperator_V1_3->CreateStreams_V1_1(streamInfos);
300     if (rc != HDI::Camera::V1_0::NO_ERROR) {
301         printf("check StartStream: CreateStreams_V1_1 fail, rc = %d\n", rc);
302         CAMERA_LOGE("check StartStream: CreateStreams_V1_1 fail, rc = %{public}d", rc);
303     }
304     rc = streamOperator_V1_3->CommitStreams_V1_1(
305         static_cast<OHOS::HDI::Camera::V1_1::OperationMode_V1_1>(mode), abilityVec);
306     if (rc != HDI::Camera::V1_0::NO_ERROR) {
307         printf("check StartStream: CommitStreams_V1_1 fail, rc = %d\n", rc);
308         CAMERA_LOGE("check StartStream: CommitStreams_V1_1 fail, rc = %{public}d", rc);
309     }
310     sleep(1);
311     std::vector<OHOS::HDI::Camera::V1_1::StreamInfo_V1_1>().swap(streamInfos);
312 }
313 
StartCapture(int streamId,int captureId,bool shutterCallback,bool isStreaming)314 void HdiCommonV1_3::StartCapture(int streamId, int captureId, bool shutterCallback, bool isStreaming)
315 {
316     captureInfo = std::make_shared<CaptureInfo>();
317     captureInfo->streamIds_ = {streamId};
318     captureInfo->captureSetting_ = abilityVec;
319     captureInfo->enableShutterCallback_ = shutterCallback;
320     if (streamOperator_V1_3 == nullptr) {
321         printf("StartCapture failed streamOperator_V1_3 nullptr\n");
322         CAMERA_LOGE("StartCapture failed streamOperator_V1_3 nullptr");
323         return;
324     }
325     rc = (OHOS::HDI::Camera::V1_0::CamRetCode)streamOperator_V1_3->Capture(captureId, *captureInfo, isStreaming);
326     if (rc != HDI::Camera::V1_0::NO_ERROR) {
327         printf("check Capture: Capture fail, rc = %d\n", rc);
328         CAMERA_LOGE("check Capture: Capture fail, rc = %{public}d", rc);
329     }
330     sleep(UT_SLEEP_TIME);
331 }
332 
StopStream(std::vector<int> & captureIds,std::vector<int> & streamIds)333 void HdiCommonV1_3::StopStream(std::vector<int>& captureIds, std::vector<int>& streamIds)
334 {
335     if (captureIds.size() > 0) {
336         for (auto &captureId : captureIds) {
337             if (streamOperator_V1_3 == nullptr) {
338                 printf("StopStream failed streamOperator_V1_3 nullptr\n");
339                 CAMERA_LOGE("StopStream failed streamOperator_V1_3 nullptr");
340                 return;
341             }
342             rc = streamOperator_V1_3->CancelCapture(captureId);
343             if (rc != HDI::Camera::V1_0::NO_ERROR) {
344                 printf("CancelCapture fail, rc = %d, captureId = %d\n", rc, captureId);
345                 CAMERA_LOGE("CancelCapture fail, rc = %{public}d, captureId = %{public}d", rc, captureId);
346             }
347         }
348     }
349     if (streamIds.size() > 0) {
350         if (streamOperator_V1_3 == nullptr) {
351             printf("StopStream failed streamOperator_V1_3 nullptr\n");
352             CAMERA_LOGE("StopStream failed streamOperator_V1_3 nullptr");
353             return;
354         }
355         rc = streamOperator_V1_3->ReleaseStreams(streamIds);
356         if (rc != HDI::Camera::V1_0::NO_ERROR) {
357             printf("check Capture: ReleaseStreams fail, rc = %d\n", rc);
358             CAMERA_LOGE("check Capture: ReleaseStreams fail, rc = %{public}d", rc);
359         }
360     }
361 }
362 
OnCaptureStarted(int32_t captureId,const std::vector<int32_t> & streamId)363 int32_t HdiCommonV1_3::TestStreamOperatorCallbackV1_3::OnCaptureStarted(
364     int32_t captureId, const std::vector<int32_t> &streamId)
365 {
366     for (auto it : streamId) {
367         CAMERA_LOGE("captureId: %{public}d, streamId: %{public}d", captureId, it);
368     }
369     return HDI::Camera::V1_0::NO_ERROR;
370 }
371 
OnCaptureEnded(int32_t captureId,const std::vector<CaptureEndedInfo> & infos)372 int32_t HdiCommonV1_3::TestStreamOperatorCallbackV1_3::OnCaptureEnded(int32_t captureId,
373     const std::vector<CaptureEndedInfo> &infos)
374 {
375     for (auto it : infos) {
376         CAMERA_LOGE("captureId: %{public}d, streamId: %{public}d, count: %{public}d", captureId, it.streamId_,
377             it.frameCount_);
378     }
379     return HDI::Camera::V1_0::NO_ERROR;
380 }
381 
OnCaptureEndedExt(int32_t captureId,const std::vector<HDI::Camera::V1_3::CaptureEndedInfoExt> & infos)382 int32_t HdiCommonV1_3::TestStreamOperatorCallbackV1_3::OnCaptureEndedExt(int32_t captureId,
383     const std::vector<HDI::Camera::V1_3::CaptureEndedInfoExt> &infos)
384 {
385     for (auto it : infos) {
386         CAMERA_LOGI("OnCaptureEndedExt captureId: %{public}d, streamId: %{public}d", captureId, it.streamId_);
387     }
388     return HDI::Camera::V1_0::NO_ERROR;
389 }
390 
OnCaptureError(int32_t captureId,const std::vector<CaptureErrorInfo> & infos)391 int32_t HdiCommonV1_3::TestStreamOperatorCallbackV1_3::OnCaptureError(int32_t captureId,
392     const std::vector<CaptureErrorInfo> &infos)
393 {
394     for (auto it : infos) {
395         CAMERA_LOGE("captureId: %{public}d, streamId: %{public}d, error: %{public}d", captureId, it.streamId_,
396             it.error_);
397     }
398     return HDI::Camera::V1_0::NO_ERROR;
399 }
400 
OnFrameShutter(int32_t captureId,const std::vector<int32_t> & streamIds,uint64_t timestamp)401 int32_t HdiCommonV1_3::TestStreamOperatorCallbackV1_3::OnFrameShutter(int32_t captureId,
402     const std::vector<int32_t> &streamIds, uint64_t timestamp)
403 {
404     (void)timestamp;
405     for (auto it : streamIds) {
406         CAMERA_LOGE("captureId: %{public}d, streamId: %{public}d", captureId, it);
407     }
408     return HDI::Camera::V1_0::NO_ERROR;
409 }
410 
OnCaptureStarted_V1_2(int32_t captureId,const std::vector<HDI::Camera::V1_2::CaptureStartedInfo> & infos)411 int32_t HdiCommonV1_3::TestStreamOperatorCallbackV1_3::OnCaptureStarted_V1_2(int32_t captureId,
412     const std::vector<HDI::Camera::V1_2::CaptureStartedInfo> &infos)
413 {
414     for (auto it : infos) {
415         CAMERA_LOGI("captureId: %{public}d, streamId: %{public}d", captureId, it.streamId_);
416     }
417     return HDI::Camera::V1_0::NO_ERROR;
418 }
419 
OnCaptureReady(int32_t captureId,const std::vector<int32_t> & streamIds,uint64_t timestamp)420 int32_t HdiCommonV1_3::TestStreamOperatorCallbackV1_3::OnCaptureReady(int32_t captureId,
421     const std::vector<int32_t> &streamIds, uint64_t timestamp)
422 {
423     (void)timestamp;
424     for (auto it : streamIds) {
425         CAMERA_LOGI("OnCaptureReady captureId: %{public}d, streamId: %{public}d", captureId, it);
426     }
427     return HDI::Camera::V1_0::NO_ERROR;
428 }
429 
OnFrameShutterEnd(int32_t captureId,const std::vector<int32_t> & streamIds,uint64_t timestamp)430 int32_t HdiCommonV1_3::TestStreamOperatorCallbackV1_3::OnFrameShutterEnd(int32_t captureId,
431     const std::vector<int32_t> &streamIds, uint64_t timestamp)
432 {
433     (void)timestamp;
434     for (auto it : streamIds) {
435         CAMERA_LOGI("OnFrameShutterEnd captureId: %{public}d, streamId: %{public}d", captureId, it);
436     }
437     return HDI::Camera::V1_0::NO_ERROR;
438 }
439 
OnResult(int32_t streamId,const std::vector<uint8_t> & result)440 int32_t HdiCommonV1_3::TestStreamOperatorCallbackV1_3::OnResult(int32_t streamId, const std::vector<uint8_t> &result)
441 {
442     MetadataUtils::ConvertVecToMetadata(result, streamResultMeta);
443     if (HdiCommonV1_3::streamResultCallback_) {
444         HdiCommonV1_3::streamResultCallback_(streamId, streamResultMeta);
445     }
446     return HDI::Camera::V1_0::NO_ERROR;
447 }
448 
OnStatusChanged(OHOS::HDI::Camera::V1_2::SessionStatus status)449 int32_t HdiCommonV1_3::TestVideoProcessCallback::OnStatusChanged(OHOS::HDI::Camera::V1_2::SessionStatus status)
450 {
451     CAMERA_LOGE("OnStatusChanged status: %{public}d", static_cast<int>(status));
452     return HDI::Camera::V1_0::NO_ERROR;
453 }
454 
OnProcessDone(const std::string & videoId)455 int32_t HdiCommonV1_3::TestVideoProcessCallback::OnProcessDone(const std::string& videoId)
456 {
457     CAMERA_LOGE("OnProcessDone videoId: %{public}s", videoId.c_str());
458     return HDI::Camera::V1_0::NO_ERROR;
459 }
460 
OnError(const std::string & videoId,OHOS::HDI::Camera::V1_2::ErrorCode errorCode)461 int32_t HdiCommonV1_3::TestVideoProcessCallback::OnError(
462     const std::string& videoId, OHOS::HDI::Camera::V1_2::ErrorCode errorCode)
463 {
464     CAMERA_LOGE("OnError videoId: %{public}s errorCode: %{public}d", videoId.c_str(), static_cast<int>(errorCode));
465     return HDI::Camera::V1_0::NO_ERROR;
466 }
467 
468 } // OHOS::Camera