diff --git a/bundle.json b/bundle.json index 04256ac685df892bb6db89333602d3d5662f439a..5745353a5ada2f060e2ed205bb0c314d142e0bc5 100644 --- a/bundle.json +++ b/bundle.json @@ -44,6 +44,7 @@ "c_utils", "dsoftbus", "hicollie", + "histreamer", "hisysevent", "hilog", "samgr", diff --git a/interfaces/inner_kits/native_cpp/test/sinkfuzztest/encodeoninputbufferavailable_fuzzer/BUILD.gn b/interfaces/inner_kits/native_cpp/test/sinkfuzztest/encodeoninputbufferavailable_fuzzer/BUILD.gn index 8cb378424ef323971d72457ebe363a99573b4738..39c5b5d7eb727587c328b179c64507678218ccca 100644 --- a/interfaces/inner_kits/native_cpp/test/sinkfuzztest/encodeoninputbufferavailable_fuzzer/BUILD.gn +++ b/interfaces/inner_kits/native_cpp/test/sinkfuzztest/encodeoninputbufferavailable_fuzzer/BUILD.gn @@ -73,6 +73,7 @@ ohos_fuzztest("EncodeOnInputBufferAvailableFuzzTest") { "drivers_interface_display:libdisplay_composer_proxy_1.0", "eventhandler:libeventhandler", "graphic_2d:surface", + "histreamer:media_foundation", "hitrace:hitrace_meter", ] } diff --git a/interfaces/inner_kits/native_cpp/test/sinkfuzztest/encodeoninputbufferavailable_fuzzer/encodeoninputbufferavailable_fuzzer.cpp b/interfaces/inner_kits/native_cpp/test/sinkfuzztest/encodeoninputbufferavailable_fuzzer/encodeoninputbufferavailable_fuzzer.cpp index f97838fe3ae41677ac7329ced1fdf3ee8d052a28..9d4d969c952f0ccfdd891317a3b7fdb2e60bd031 100644 --- a/interfaces/inner_kits/native_cpp/test/sinkfuzztest/encodeoninputbufferavailable_fuzzer/encodeoninputbufferavailable_fuzzer.cpp +++ b/interfaces/inner_kits/native_cpp/test/sinkfuzztest/encodeoninputbufferavailable_fuzzer/encodeoninputbufferavailable_fuzzer.cpp @@ -30,7 +30,7 @@ void EncodeOnInputBufferAvailableFuzzTest(const uint8_t* data, size_t size) std::shared_ptr encodeDataProcess = std::make_shared(sinkPipeline); std::shared_ptr encodeVideoCallback = std::make_shared(encodeDataProcess); - std::shared_ptr buffer = nullptr; + std::shared_ptr buffer = nullptr; encodeVideoCallback->OnInputBufferAvailable(index, buffer); } } diff --git a/interfaces/inner_kits/native_cpp/test/sinkfuzztest/encodeonoutputbufferavailable_fuzzer/BUILD.gn b/interfaces/inner_kits/native_cpp/test/sinkfuzztest/encodeonoutputbufferavailable_fuzzer/BUILD.gn index 8f545edd9d72f197073c19629832a30f5dd81ba2..c576c1cad615f5c767cdf8dd145c18dedc2092fb 100644 --- a/interfaces/inner_kits/native_cpp/test/sinkfuzztest/encodeonoutputbufferavailable_fuzzer/BUILD.gn +++ b/interfaces/inner_kits/native_cpp/test/sinkfuzztest/encodeonoutputbufferavailable_fuzzer/BUILD.gn @@ -73,6 +73,7 @@ ohos_fuzztest("EncodeOnOutputBufferAvailableFuzzTest") { "drivers_interface_display:libdisplay_composer_proxy_1.0", "eventhandler:libeventhandler", "graphic_2d:surface", + "histreamer:media_foundation", "hitrace:hitrace_meter", ] } diff --git a/interfaces/inner_kits/native_cpp/test/sinkfuzztest/encodeonoutputbufferavailable_fuzzer/encodeonoutputbufferavailable_fuzzer.cpp b/interfaces/inner_kits/native_cpp/test/sinkfuzztest/encodeonoutputbufferavailable_fuzzer/encodeonoutputbufferavailable_fuzzer.cpp index 2215a766de37febabd03a50e59721a135743edf1..0471170c5af978052d3452773e4e709964558ee3 100644 --- a/interfaces/inner_kits/native_cpp/test/sinkfuzztest/encodeonoutputbufferavailable_fuzzer/encodeonoutputbufferavailable_fuzzer.cpp +++ b/interfaces/inner_kits/native_cpp/test/sinkfuzztest/encodeonoutputbufferavailable_fuzzer/encodeonoutputbufferavailable_fuzzer.cpp @@ -35,7 +35,7 @@ void EncodeOnOutputBufferAvailableFuzzTest(const uint8_t* data, size_t size) std::shared_ptr sinkPipeline = std::make_shared(); std::shared_ptr encodeDataProcess = std::make_shared(sinkPipeline); std::shared_ptr encodeVideoCallback = std::make_shared(encodeDataProcess); - std::shared_ptr buffer = nullptr; + std::shared_ptr buffer = nullptr; encodeVideoCallback->OnOutputBufferAvailable(index, info, flag, buffer); } } diff --git a/interfaces/inner_kits/native_cpp/test/sourcefuzztest/decodeoninputbufferavailable_fuzzer/BUILD.gn b/interfaces/inner_kits/native_cpp/test/sourcefuzztest/decodeoninputbufferavailable_fuzzer/BUILD.gn index 90cd852e6a9414eefd08550ee8e8a2d1113eca37..4b4ddb4a40a7e0b7ebf061eb55534342884abb2f 100644 --- a/interfaces/inner_kits/native_cpp/test/sourcefuzztest/decodeoninputbufferavailable_fuzzer/BUILD.gn +++ b/interfaces/inner_kits/native_cpp/test/sourcefuzztest/decodeoninputbufferavailable_fuzzer/BUILD.gn @@ -72,6 +72,7 @@ ohos_fuzztest("DecodeOnInputBufferAvailableFuzzTest") { "c_utils:utils", "eventhandler:libeventhandler", "graphic_2d:surface", + "histreamer:media_foundation", "hitrace:hitrace_meter", ] } diff --git a/interfaces/inner_kits/native_cpp/test/sourcefuzztest/decodeoninputbufferavailable_fuzzer/decodeoninputbufferavailable_fuzzer.cpp b/interfaces/inner_kits/native_cpp/test/sourcefuzztest/decodeoninputbufferavailable_fuzzer/decodeoninputbufferavailable_fuzzer.cpp index 9e041ea85860ea3e736a346e0de3fbde5d7e0aee..e5094bff608f07154ecae5118f475c33d79209d7 100644 --- a/interfaces/inner_kits/native_cpp/test/sourcefuzztest/decodeoninputbufferavailable_fuzzer/decodeoninputbufferavailable_fuzzer.cpp +++ b/interfaces/inner_kits/native_cpp/test/sourcefuzztest/decodeoninputbufferavailable_fuzzer/decodeoninputbufferavailable_fuzzer.cpp @@ -31,7 +31,7 @@ void DecodeOnInputBufferAvailableFuzzTest(const uint8_t* data, size_t size) std::shared_ptr decodeDataProcess = std::make_shared(eventBusPipeline, sourcePipeline); std::shared_ptr decodeVideoCallback = std::make_shared(decodeDataProcess); - std::shared_ptr buffer = nullptr; + std::shared_ptr buffer = nullptr; decodeVideoCallback->OnInputBufferAvailable(index, buffer); } } diff --git a/interfaces/inner_kits/native_cpp/test/sourcefuzztest/decodeonoutputbufferavailable_fuzzer/BUILD.gn b/interfaces/inner_kits/native_cpp/test/sourcefuzztest/decodeonoutputbufferavailable_fuzzer/BUILD.gn index ac660830fde4192c85ea908a6d4da090b27db80c..e815286e5fda10ba6257758e46e03f943780daf4 100644 --- a/interfaces/inner_kits/native_cpp/test/sourcefuzztest/decodeonoutputbufferavailable_fuzzer/BUILD.gn +++ b/interfaces/inner_kits/native_cpp/test/sourcefuzztest/decodeonoutputbufferavailable_fuzzer/BUILD.gn @@ -72,6 +72,7 @@ ohos_fuzztest("DecodeOnOutputBufferAvailableFuzzTest") { "c_utils:utils", "eventhandler:libeventhandler", "graphic_2d:surface", + "histreamer:media_foundation", "hitrace:hitrace_meter", ] } diff --git a/interfaces/inner_kits/native_cpp/test/sourcefuzztest/decodeonoutputbufferavailable_fuzzer/decodeonoutputbufferavailable_fuzzer.cpp b/interfaces/inner_kits/native_cpp/test/sourcefuzztest/decodeonoutputbufferavailable_fuzzer/decodeonoutputbufferavailable_fuzzer.cpp index ec7a3688456399e2473f8cb165aa28272c051168..b4d6339b0cbf04666d6874a6af7908c4bda2a473 100644 --- a/interfaces/inner_kits/native_cpp/test/sourcefuzztest/decodeonoutputbufferavailable_fuzzer/decodeonoutputbufferavailable_fuzzer.cpp +++ b/interfaces/inner_kits/native_cpp/test/sourcefuzztest/decodeonoutputbufferavailable_fuzzer/decodeonoutputbufferavailable_fuzzer.cpp @@ -37,7 +37,7 @@ void DecodeOnOutputBufferAvailableFuzzTest(const uint8_t* data, size_t size) std::shared_ptr decodeDataProcess = std::make_shared(eventBusPipeline, sourcePipeline); std::shared_ptr decodeVideoCallback = std::make_shared(decodeDataProcess); - std::shared_ptr buffer = nullptr; + std::shared_ptr buffer = nullptr; decodeVideoCallback->OnOutputBufferAvailable(index, info, flag, buffer); } diff --git a/interfaces/inner_kits/native_cpp/test/unittest/common/camera_sink/dcamera_sink_handler_test.cpp b/interfaces/inner_kits/native_cpp/test/unittest/common/camera_sink/dcamera_sink_handler_test.cpp index 33fe6cfec57fbb5c61e437da082647668ec42c61..84974e090b048d65dff9322c461eb57caf645430 100644 --- a/interfaces/inner_kits/native_cpp/test/unittest/common/camera_sink/dcamera_sink_handler_test.cpp +++ b/interfaces/inner_kits/native_cpp/test/unittest/common/camera_sink/dcamera_sink_handler_test.cpp @@ -46,7 +46,6 @@ public: static void TearDownTestCase(void); void SetUp(); void TearDown(); - void SetTokenID(); }; namespace { @@ -65,21 +64,12 @@ void DCameraSinkHandlerTest::TearDownTestCase(void) void DCameraSinkHandlerTest::SetUp(void) { DHLOGI("enter"); -} - -void DCameraSinkHandlerTest::TearDown(void) -{ - DHLOGI("enter"); -} - -void DCameraSinkHandlerTest::SetTokenID() -{ uint64_t tokenId; int32_t numberOfPermissions = 3; const char *perms[numberOfPermissions]; perms[0] = "ohos.permission.ENABLE_DISTRIBUTED_HARDWARE"; - perms[1] = "ohos.permission.DISTRIBUTED_DATASYNC"; - perms[2] = "ohos.permission.CAMERA"; + perms[1] = OHOS_PERMISSION_DISTRIBUTED_DATASYNC; + perms[2] = "ohos.permission.ACCESS_DISTRIBUTED_HARDWARE"; NativeTokenInfoParams infoInstance = { .dcapsNum = 0, .permsNum = numberOfPermissions, @@ -87,7 +77,7 @@ void DCameraSinkHandlerTest::SetTokenID() .dcaps = NULL, .perms = perms, .acls = NULL, - .processName = "dcamera_client_demo", + .processName = "dcamera_sink_handler", .aplStr = "system_basic", }; tokenId = GetAccessTokenId(&infoInstance); @@ -95,6 +85,11 @@ void DCameraSinkHandlerTest::SetTokenID() OHOS::Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo(); } +void DCameraSinkHandlerTest::TearDown(void) +{ + DHLOGI("enter"); +} + /** * @tc.name: dcamera_sink_handler_test_001 * @tc.desc: Verify the InitSource function. @@ -117,7 +112,6 @@ HWTEST_F(DCameraSinkHandlerTest, dcamera_sink_handler_test_001, TestSize.Level1) HWTEST_F(DCameraSinkHandlerTest, dcamera_sink_handler_test_002, TestSize.Level1) { std::string params = "test002"; - SetTokenID(); int32_t ret = DCameraSinkHandler::GetInstance().InitSink(params); EXPECT_EQ(DCAMERA_OK, ret); @@ -190,7 +184,6 @@ HWTEST_F(DCameraSinkHandlerTest, dcamera_sink_handler_test_005, TestSize.Level1) HWTEST_F(DCameraSinkHandlerTest, dcamera_sink_handler_test_006, TestSize.Level1) { std::string params = "test006"; - SetTokenID(); int32_t systemAbilityId = 4804; sptr loadCallback(new DCameraSinkLoadCallback(params)); loadCallback->OnLoadSystemAbilityFail(systemAbilityId); diff --git a/services/data_process/BUILD.gn b/services/data_process/BUILD.gn index 3cbe5adb37ccd1adf5b254d42ce3a489fb7bf8f2..596d55a92bd4f32fab362c79e12bf929f278f3bf 100644 --- a/services/data_process/BUILD.gn +++ b/services/data_process/BUILD.gn @@ -107,6 +107,7 @@ ohos_shared_library("distributed_camera_data_process") { "drivers_interface_display:libdisplay_composer_proxy_1.0", "eventhandler:libeventhandler", "graphic_2d:surface", + "histreamer:media_foundation", "hitrace:hitrace_meter", "safwk:system_ability_fwk", "samgr:samgr_proxy", diff --git a/services/data_process/include/pipeline_node/multimedia_codec/decoder/decode_data_process.h b/services/data_process/include/pipeline_node/multimedia_codec/decoder/decode_data_process.h index 71c638d4307e6db3276120aba7d7c40f8dae3d13..b99d70a23d1a5e7a11119690bf82b5aa14cade61 100644 --- a/services/data_process/include/pipeline_node/multimedia_codec/decoder/decode_data_process.h +++ b/services/data_process/include/pipeline_node/multimedia_codec/decoder/decode_data_process.h @@ -25,13 +25,13 @@ #include "avcodec_common.h" #include "avcodec_video_decoder.h" -#include "avsharedmemory.h" +#include "buffer/avsharedmemory.h" #include "event.h" #include "event_bus.h" #include "event_sender.h" #include "event_registration.h" #include "eventbus_handler.h" -#include "format.h" +#include "meta/format.h" #include "ibuffer_consumer_listener.h" #include "iconsumer_surface.h" #include "avcodec_errors.h" @@ -65,10 +65,10 @@ public: void OnEvent(DCameraCodecEvent& ev) override; void OnError(); - void OnInputBufferAvailable(uint32_t index, std::shared_ptr buffer); - void OnOutputFormatChanged(const MediaAVCodec::Format &format); + void OnInputBufferAvailable(uint32_t index, std::shared_ptr buffer); + void OnOutputFormatChanged(const Media::Format &format); void OnOutputBufferAvailable(uint32_t index, const MediaAVCodec::AVCodecBufferInfo& info, - const MediaAVCodec::AVCodecBufferFlag& flag, std::shared_ptr buffer); + const MediaAVCodec::AVCodecBufferFlag& flag, std::shared_ptr buffer); void GetDecoderOutputBuffer(const sptr& surface); VideoConfigParams GetSourceConfig() const; VideoConfigParams GetTargetConfig() const; @@ -142,11 +142,11 @@ private: int64_t lastFeedDecoderInputBufferTimeUs_ = 0; int64_t outputTimeStampUs_ = 0; std::string processType_; - MediaAVCodec::Format metadataFormat_; - MediaAVCodec::Format decodeOutputFormat_; + Media::Format metadataFormat_; + Media::Format decodeOutputFormat_; MediaAVCodec::AVCodecBufferInfo outputInfo_; std::queue> inputBuffersQueue_; - std::queue> availableInputBufferQueue_; + std::queue> availableInputBufferQueue_; std::queue availableInputIndexsQueue_; std::deque frameInfoDeque_; }; diff --git a/services/data_process/include/pipeline_node/multimedia_codec/decoder/decode_video_callback.h b/services/data_process/include/pipeline_node/multimedia_codec/decoder/decode_video_callback.h index 9eb7fcc739e83a50099009a6ec6a1917301288e4..12bc0d5404c7f835bac81a3f858b897057ce9854 100644 --- a/services/data_process/include/pipeline_node/multimedia_codec/decoder/decode_video_callback.h +++ b/services/data_process/include/pipeline_node/multimedia_codec/decoder/decode_video_callback.h @@ -18,7 +18,7 @@ #include "avcodec_errors.h" #include "avcodec_common.h" -#include "format.h" +#include "meta/format.h" #include "decode_data_process.h" @@ -33,10 +33,10 @@ public: ~DecodeVideoCallback() override = default; void OnError(MediaAVCodec::AVCodecErrorType errorType, int32_t errorCode) override; - void OnInputBufferAvailable(uint32_t index, std::shared_ptr buffer) override; - void OnOutputFormatChanged(const MediaAVCodec::Format &format) override; + void OnInputBufferAvailable(uint32_t index, std::shared_ptr buffer) override; + void OnOutputFormatChanged(const Media::Format &format) override; void OnOutputBufferAvailable(uint32_t index, MediaAVCodec::AVCodecBufferInfo info, - MediaAVCodec::AVCodecBufferFlag flag, std::shared_ptr buffer) override; + MediaAVCodec::AVCodecBufferFlag flag, std::shared_ptr buffer) override; private: std::weak_ptr decodeVideoNode_; }; diff --git a/services/data_process/include/pipeline_node/multimedia_codec/encoder/encode_data_process.h b/services/data_process/include/pipeline_node/multimedia_codec/encoder/encode_data_process.h index d6ea033b54a34f6413184b7d68d5a8e5bb0fbbb0..f39bf6be6ea1742e9458b85d7d3db16ec60e854e 100644 --- a/services/data_process/include/pipeline_node/multimedia_codec/encoder/encode_data_process.h +++ b/services/data_process/include/pipeline_node/multimedia_codec/encoder/encode_data_process.h @@ -22,8 +22,8 @@ #include "avcodec_common.h" #include "avcodec_video_encoder.h" -#include "avsharedmemory.h" -#include "format.h" +#include "buffer/avsharedmemory.h" +#include "meta/format.h" #include "avcodec_errors.h" #include "securec.h" #include "surface.h" @@ -55,10 +55,10 @@ public: void ReleaseProcessNode() override; void OnError(); - void OnInputBufferAvailable(uint32_t index, std::shared_ptr buffer); - void OnOutputFormatChanged(const MediaAVCodec::Format &format); + void OnInputBufferAvailable(uint32_t index, std::shared_ptr buffer); + void OnOutputFormatChanged(const Media::Format &format); void OnOutputBufferAvailable(uint32_t index, MediaAVCodec::AVCodecBufferInfo info, - MediaAVCodec::AVCodecBufferFlag flag, std::shared_ptr buffer); + MediaAVCodec::AVCodecBufferFlag flag, std::shared_ptr buffer); VideoConfigParams GetSourceConfig() const; VideoConfigParams GetTargetConfig() const; @@ -80,7 +80,7 @@ private: void IncreaseWaitEncodeCnt(); void ReduceWaitEncodeCnt(); int32_t GetEncoderOutputBuffer(uint32_t index, MediaAVCodec::AVCodecBufferInfo info, - MediaAVCodec::AVCodecBufferFlag flag, std::shared_ptr& buffer); + MediaAVCodec::AVCodecBufferFlag flag, std::shared_ptr& buffer); int32_t EncodeDone(std::vector>& outputBuffers); private: @@ -136,8 +136,8 @@ private: int64_t lastFeedEncoderInputBufferTimeUs_ = 0; int64_t inputTimeStampUs_ = 0; std::string processType_; - MediaAVCodec::Format metadataFormat_; - MediaAVCodec::Format encodeOutputFormat_; + Media::Format metadataFormat_; + Media::Format encodeOutputFormat_; std::string surfaceStr_ = "surface"; int32_t index_ = FRAME_HEAD; }; diff --git a/services/data_process/include/pipeline_node/multimedia_codec/encoder/encode_video_callback.h b/services/data_process/include/pipeline_node/multimedia_codec/encoder/encode_video_callback.h index 4f2d93f3d471ef2e1fa881360132cdd9f6bae59a..aec5c70c6e6240a1b91124fb687924ca03f8ca81 100644 --- a/services/data_process/include/pipeline_node/multimedia_codec/encoder/encode_video_callback.h +++ b/services/data_process/include/pipeline_node/multimedia_codec/encoder/encode_video_callback.h @@ -18,7 +18,7 @@ #include "avcodec_errors.h" #include "avcodec_common.h" -#include "format.h" +#include "meta/format.h" #include "encode_data_process.h" @@ -33,10 +33,10 @@ public: ~EncodeVideoCallback() override = default; void OnError(MediaAVCodec::AVCodecErrorType errorType, int32_t errorCode) override; - void OnInputBufferAvailable(uint32_t index, std::shared_ptr buffer) override; - void OnOutputFormatChanged(const MediaAVCodec::Format &format) override; + void OnInputBufferAvailable(uint32_t index, std::shared_ptr buffer) override; + void OnOutputFormatChanged(const Media::Format &format) override; void OnOutputBufferAvailable(uint32_t index, MediaAVCodec::AVCodecBufferInfo info, - MediaAVCodec::AVCodecBufferFlag flag, std::shared_ptr buffer) override; + MediaAVCodec::AVCodecBufferFlag flag, std::shared_ptr buffer) override; private: std::weak_ptr encodeVideoNode_; }; diff --git a/services/data_process/src/pipeline_node/multimedia_codec/decoder/decode_data_process.cpp b/services/data_process/src/pipeline_node/multimedia_codec/decoder/decode_data_process.cpp index 60edcbce92e8084ed3c144b9784aa96c0197f281..f5e3f452fc9cf4a7b0f135afbe5c377c6f75a3f2 100644 --- a/services/data_process/src/pipeline_node/multimedia_codec/decoder/decode_data_process.cpp +++ b/services/data_process/src/pipeline_node/multimedia_codec/decoder/decode_data_process.cpp @@ -179,7 +179,7 @@ int32_t DecodeDataProcess::InitDecoderMetadataFormat() return DCAMERA_NOT_FOUND; } - metadataFormat_.PutIntValue("pixel_format", MediaAVCodec::VideoPixelFormat::NV12); + metadataFormat_.PutIntValue("pixel_format", static_cast(MediaAVCodec::VideoPixelFormat::NV12)); metadataFormat_.PutStringValue("codec_mime", processType_); metadataFormat_.PutIntValue("width", sourceConfig_.GetWidth()); metadataFormat_.PutIntValue("height", sourceConfig_.GetHeight()); @@ -344,7 +344,7 @@ void DecodeDataProcess::ReleaseProcessNode() processType_ = ""; std::queue>().swap(inputBuffersQueue_); std::queue().swap(availableInputIndexsQueue_); - std::queue>().swap(availableInputBufferQueue_); + std::queue>().swap(availableInputBufferQueue_); std::deque().swap(frameInfoDeque_); waitDecoderOutputCount_ = 0; lastFeedDecoderInputBufferTimeUs_ = 0; @@ -443,7 +443,7 @@ int32_t DecodeDataProcess::FeedDecoderInputBuffer() return DCAMERA_OK; } uint32_t index = availableInputIndexsQueue_.front(); - std::shared_ptr sharedMemoryInput = availableInputBufferQueue_.front(); + std::shared_ptr sharedMemoryInput = availableInputBufferQueue_.front(); if (sharedMemoryInput == nullptr) { DHLOGE("Failed to obtain the input shared memory corresponding to the [%u] index.", index); return DCAMERA_BAD_VALUE; @@ -711,7 +711,7 @@ void DecodeDataProcess::OnError() targetPipelineSource->OnError(DataProcessErrorType::ERROR_PIPELINE_DECODER); } -void DecodeDataProcess::OnInputBufferAvailable(uint32_t index, std::shared_ptr buffer) +void DecodeDataProcess::OnInputBufferAvailable(uint32_t index, std::shared_ptr buffer) { DHLOGD("DecodeDataProcess::OnInputBufferAvailable"); std::lock_guard lck(mtxHoldCount_); @@ -724,7 +724,7 @@ void DecodeDataProcess::OnInputBufferAvailable(uint32_t index, std::shared_ptr buffer) + const MediaAVCodec::AVCodecBufferFlag& flag, std::shared_ptr buffer) { int64_t finishDecodeT = GetNowTimeStampUs(); if (!isDecoderProcess_.load()) { diff --git a/services/data_process/src/pipeline_node/multimedia_codec/decoder/decode_data_process_common.cpp b/services/data_process/src/pipeline_node/multimedia_codec/decoder/decode_data_process_common.cpp index f78cfbf7b559deaace69239b835a96c7b8200839..2185a99f08a56de89ae4b532947f8f014244910b 100644 --- a/services/data_process/src/pipeline_node/multimedia_codec/decoder/decode_data_process_common.cpp +++ b/services/data_process/src/pipeline_node/multimedia_codec/decoder/decode_data_process_common.cpp @@ -181,19 +181,19 @@ int32_t DecodeDataProcess::InitDecoderMetadataFormat() DHLOGI("Init video decoder metadata format. videoformat: %d", processedConfig_.GetVideoformat()); switch (processedConfig_.GetVideoformat()) { case Videoformat::YUVI420: - metadataFormat_.PutIntValue("pixel_format", MediaAVCodec::VideoPixelFormat::YUVI420); + metadataFormat_.PutIntValue("pixel_format", static_cast(MediaAVCodec::VideoPixelFormat::YUVI420)); metadataFormat_.PutIntValue("max_input_size", MAX_YUV420_BUFFER_SIZE); break; case Videoformat::NV12: - metadataFormat_.PutIntValue("pixel_format", MediaAVCodec::VideoPixelFormat::NV12); + metadataFormat_.PutIntValue("pixel_format", static_cast(MediaAVCodec::VideoPixelFormat::NV12)); metadataFormat_.PutIntValue("max_input_size", MAX_YUV420_BUFFER_SIZE); break; case Videoformat::NV21: - metadataFormat_.PutIntValue("pixel_format", MediaAVCodec::VideoPixelFormat::NV21); + metadataFormat_.PutIntValue("pixel_format", static_cast(MediaAVCodec::VideoPixelFormat::NV21)); metadataFormat_.PutIntValue("max_input_size", MAX_YUV420_BUFFER_SIZE); break; case Videoformat::RGBA_8888: - metadataFormat_.PutIntValue("pixel_format", MediaAVCodec::VideoPixelFormat::RGBA); + metadataFormat_.PutIntValue("pixel_format", static_cast(MediaAVCodec::VideoPixelFormat::RGBA)); metadataFormat_.PutIntValue("max_input_size", MAX_RGB32_BUFFER_SIZE); break; default: @@ -365,7 +365,7 @@ void DecodeDataProcess::ReleaseProcessNode() processType_ = ""; std::queue>().swap(inputBuffersQueue_); std::queue().swap(availableInputIndexsQueue_); - std::queue>().swap(availableInputBufferQueue_); + std::queue>().swap(availableInputBufferQueue_); std::deque().swap(frameInfoDeque_); waitDecoderOutputCount_ = 0; lastFeedDecoderInputBufferTimeUs_ = 0; @@ -464,7 +464,7 @@ int32_t DecodeDataProcess::FeedDecoderInputBuffer() return DCAMERA_OK; } uint32_t index = availableInputIndexsQueue_.front(); - std::shared_ptr sharedMemoryInput = availableInputBufferQueue_.front(); + std::shared_ptr sharedMemoryInput = availableInputBufferQueue_.front(); if (sharedMemoryInput == nullptr) { DHLOGE("Failed to obtain the input shared memory corresponding to the [%u] index.", index); return DCAMERA_BAD_VALUE; @@ -712,7 +712,7 @@ void DecodeDataProcess::OnError() targetPipelineSource->OnError(DataProcessErrorType::ERROR_PIPELINE_DECODER); } -void DecodeDataProcess::OnInputBufferAvailable(uint32_t index, std::shared_ptr buffer) +void DecodeDataProcess::OnInputBufferAvailable(uint32_t index, std::shared_ptr buffer) { DHLOGD("DecodeDataProcess::OnInputBufferAvailable"); std::lock_guard lck(mtxHoldCount_); @@ -725,7 +725,7 @@ void DecodeDataProcess::OnInputBufferAvailable(uint32_t index, std::shared_ptr buffer) + const MediaAVCodec::AVCodecBufferFlag& flag, std::shared_ptr buffer) { int64_t finishDecodeT = GetNowTimeStampUs(); if (!isDecoderProcess_.load()) { diff --git a/services/data_process/src/pipeline_node/multimedia_codec/decoder/decode_video_callback.cpp b/services/data_process/src/pipeline_node/multimedia_codec/decoder/decode_video_callback.cpp index b0391d92c6d205ced2530ac2bfdeb3241810ae37..12fb2acd441e28c84580e0a8f1a75ea6372e0d62 100644 --- a/services/data_process/src/pipeline_node/multimedia_codec/decoder/decode_video_callback.cpp +++ b/services/data_process/src/pipeline_node/multimedia_codec/decoder/decode_video_callback.cpp @@ -30,7 +30,7 @@ void DecodeVideoCallback::OnError(MediaAVCodec::AVCodecErrorType errorType, int3 targetDecoderNode->OnError(); } -void DecodeVideoCallback::OnInputBufferAvailable(uint32_t index, std::shared_ptr buffer) +void DecodeVideoCallback::OnInputBufferAvailable(uint32_t index, std::shared_ptr buffer) { DHLOGD("DecodeVideoCallback : OnInputBufferAvailable."); std::shared_ptr targetDecoderNode = decodeVideoNode_.lock(); @@ -41,7 +41,7 @@ void DecodeVideoCallback::OnInputBufferAvailable(uint32_t index, std::shared_ptr targetDecoderNode->OnInputBufferAvailable(index, buffer); } -void DecodeVideoCallback::OnOutputFormatChanged(const MediaAVCodec::Format &format) +void DecodeVideoCallback::OnOutputFormatChanged(const Media::Format &format) { DHLOGD("DecodeVideoCallback : OnOutputFormatChanged."); std::shared_ptr targetDecoderNode = decodeVideoNode_.lock(); @@ -53,7 +53,7 @@ void DecodeVideoCallback::OnOutputFormatChanged(const MediaAVCodec::Format &form } void DecodeVideoCallback::OnOutputBufferAvailable(uint32_t index, MediaAVCodec::AVCodecBufferInfo info, - MediaAVCodec::AVCodecBufferFlag flag, std::shared_ptr buffer) + MediaAVCodec::AVCodecBufferFlag flag, std::shared_ptr buffer) { DHLOGD("DecodeVideoCallback : OnOutputBufferAvailable. Only relaese buffer when using surface output."); std::shared_ptr targetDecoderNode = decodeVideoNode_.lock(); diff --git a/services/data_process/src/pipeline_node/multimedia_codec/encoder/encode_data_process.cpp b/services/data_process/src/pipeline_node/multimedia_codec/encoder/encode_data_process.cpp index 72371212adb4936ce5ffaf24496cb5d2db0a6a56..36dff26b2ca9dd542bcb7587803e24c48c127d87 100644 --- a/services/data_process/src/pipeline_node/multimedia_codec/encoder/encode_data_process.cpp +++ b/services/data_process/src/pipeline_node/multimedia_codec/encoder/encode_data_process.cpp @@ -188,19 +188,19 @@ int32_t EncodeDataProcess::InitEncoderMetadataFormat() } switch (sourceConfig_.GetVideoformat()) { case Videoformat::YUVI420: - metadataFormat_.PutIntValue("pixel_format", MediaAVCodec::VideoPixelFormat::YUVI420); + metadataFormat_.PutIntValue("pixel_format", static_cast(MediaAVCodec::VideoPixelFormat::YUVI420)); metadataFormat_.PutLongValue("max_input_size", NORM_YUV420_BUFFER_SIZE); break; case Videoformat::NV12: - metadataFormat_.PutIntValue("pixel_format", MediaAVCodec::VideoPixelFormat::NV12); + metadataFormat_.PutIntValue("pixel_format", static_cast(MediaAVCodec::VideoPixelFormat::NV12)); metadataFormat_.PutLongValue("max_input_size", NORM_YUV420_BUFFER_SIZE); break; case Videoformat::NV21: - metadataFormat_.PutIntValue("pixel_format", MediaAVCodec::VideoPixelFormat::NV21); + metadataFormat_.PutIntValue("pixel_format", static_cast(MediaAVCodec::VideoPixelFormat::NV21)); metadataFormat_.PutLongValue("max_input_size", NORM_YUV420_BUFFER_SIZE); break; case Videoformat::RGBA_8888: - metadataFormat_.PutIntValue("pixel_format", MediaAVCodec::VideoPixelFormat::RGBA); + metadataFormat_.PutIntValue("pixel_format", static_cast(MediaAVCodec::VideoPixelFormat::RGBA)); metadataFormat_.PutLongValue("max_input_size", NORM_RGB32_BUFFER_SIZE); break; default: @@ -473,7 +473,7 @@ void EncodeDataProcess::ReduceWaitEncodeCnt() } int32_t EncodeDataProcess::GetEncoderOutputBuffer(uint32_t index, MediaAVCodec::AVCodecBufferInfo info, - MediaAVCodec::AVCodecBufferFlag flag, std::shared_ptr& buffer) + MediaAVCodec::AVCodecBufferFlag flag, std::shared_ptr& buffer) { DHLOGD("Get encoder output buffer."); if (videoEncoder_ == nullptr) { @@ -559,12 +559,12 @@ void EncodeDataProcess::OnError() targetPipelineSink->OnError(DataProcessErrorType::ERROR_PIPELINE_ENCODER); } -void EncodeDataProcess::OnInputBufferAvailable(uint32_t index, std::shared_ptr buffer) +void EncodeDataProcess::OnInputBufferAvailable(uint32_t index, std::shared_ptr buffer) { DHLOGD("The available input buffer index : %u. No operation when using surface input.", index); } -void EncodeDataProcess::OnOutputFormatChanged(const MediaAVCodec::Format &format) +void EncodeDataProcess::OnOutputFormatChanged(const Media::Format &format) { if (encodeOutputFormat_.GetFormatMap().empty()) { DHLOGE("The first changed video encoder output format is null."); @@ -574,7 +574,7 @@ void EncodeDataProcess::OnOutputFormatChanged(const MediaAVCodec::Format &format } void EncodeDataProcess::OnOutputBufferAvailable(uint32_t index, MediaAVCodec::AVCodecBufferInfo info, - MediaAVCodec::AVCodecBufferFlag flag, std::shared_ptr buffer) + MediaAVCodec::AVCodecBufferFlag flag, std::shared_ptr buffer) { if (!isEncoderProcess_.load()) { DHLOGE("EncodeNode occurred error or start release."); diff --git a/services/data_process/src/pipeline_node/multimedia_codec/encoder/encode_video_callback.cpp b/services/data_process/src/pipeline_node/multimedia_codec/encoder/encode_video_callback.cpp index 8d8036e0047d3925506e3dac4dca32828e76d5a5..9d57bca56c375ed4f7149853fc1afda0208e1c7b 100644 --- a/services/data_process/src/pipeline_node/multimedia_codec/encoder/encode_video_callback.cpp +++ b/services/data_process/src/pipeline_node/multimedia_codec/encoder/encode_video_callback.cpp @@ -29,7 +29,7 @@ void EncodeVideoCallback::OnError(MediaAVCodec::AVCodecErrorType errorType, int3 targetEncoderNode->OnError(); } -void EncodeVideoCallback::OnInputBufferAvailable(uint32_t index, std::shared_ptr buffer) +void EncodeVideoCallback::OnInputBufferAvailable(uint32_t index, std::shared_ptr buffer) { DHLOGD("EncodeVideoCallback : OnInputBufferAvailable. No operation when using surface input."); std::shared_ptr targetEncoderNode = encodeVideoNode_.lock(); @@ -40,7 +40,7 @@ void EncodeVideoCallback::OnInputBufferAvailable(uint32_t index, std::shared_ptr targetEncoderNode->OnInputBufferAvailable(index, buffer); } -void EncodeVideoCallback::OnOutputFormatChanged(const MediaAVCodec::Format &format) +void EncodeVideoCallback::OnOutputFormatChanged(const Media::Format &format) { DHLOGD("EncodeVideoCallback : OnOutputFormatChanged."); std::shared_ptr targetEncoderNode = encodeVideoNode_.lock(); @@ -52,7 +52,7 @@ void EncodeVideoCallback::OnOutputFormatChanged(const MediaAVCodec::Format &form } void EncodeVideoCallback::OnOutputBufferAvailable(uint32_t index, MediaAVCodec::AVCodecBufferInfo info, - MediaAVCodec::AVCodecBufferFlag flag, std::shared_ptr buffer) + MediaAVCodec::AVCodecBufferFlag flag, std::shared_ptr buffer) { DHLOGD("EncodeVideoCallback : OnOutputBufferAvailable."); std::shared_ptr targetEncoderNode = encodeVideoNode_.lock(); diff --git a/services/data_process/test/unittest/common/pipeline_node/BUILD.gn b/services/data_process/test/unittest/common/pipeline_node/BUILD.gn index 26de7b6d8706e2ebda7b541d94acf9c2502fba28..eed0319c32c55bcb8829e0b42429ca074eb417a5 100644 --- a/services/data_process/test/unittest/common/pipeline_node/BUILD.gn +++ b/services/data_process/test/unittest/common/pipeline_node/BUILD.gn @@ -73,6 +73,7 @@ ohos_unittest("DCameraDataProcessPipelineNodeTest") { "drivers_interface_display:libdisplay_composer_proxy_1.0", "eventhandler:libeventhandler", "graphic_2d:surface", + "histreamer:media_foundation", "hitrace:hitrace_meter", ] diff --git a/services/data_process/test/unittest/common/pipeline_node/decode_data_process_test.cpp b/services/data_process/test/unittest/common/pipeline_node/decode_data_process_test.cpp index a89f869d8a5e9e76777c093fd1d86aad3d3cafd7..f1c9af897af5e55148d9645058733be298da8e35 100644 --- a/services/data_process/test/unittest/common/pipeline_node/decode_data_process_test.cpp +++ b/services/data_process/test/unittest/common/pipeline_node/decode_data_process_test.cpp @@ -429,7 +429,7 @@ HWTEST_F(DecodeDataProcessTest, decode_data_process_test_012, TestSize.Level1) EXPECT_EQ(rc, DCAMERA_OK); uint32_t index = 1; - std::shared_ptr buffer = nullptr; + std::shared_ptr buffer = nullptr; testDecodeDataProcess_->OnInputBufferAvailable(index, buffer); size_t capacity = 100; std::vector> inputBuffers; @@ -583,9 +583,9 @@ HWTEST_F(DecodeDataProcessTest, decode_data_process_test_016, TestSize.Level1) EXPECT_EQ(rc, DCAMERA_OK); uint32_t index = 1; - std::shared_ptr buffer = nullptr; + std::shared_ptr buffer = nullptr; testDecodeDataProcess_->OnInputBufferAvailable(index, buffer); - MediaAVCodec::Format format; + Media::Format format; testDecodeDataProcess_->OnOutputFormatChanged(format); MediaAVCodec::AVCodecBufferInfo info; MediaAVCodec::AVCodecBufferFlag flag = MediaAVCodec::AVCODEC_BUFFER_FLAG_CODEC_DATA; diff --git a/services/data_process/test/unittest/common/pipeline_node/encode_data_process_test.cpp b/services/data_process/test/unittest/common/pipeline_node/encode_data_process_test.cpp index c54bb10ed7758cebac409ad1c61b2e8f1b27d421..6742e64c2a86bea0e35ad8fedcfea9f9c8426b87 100644 --- a/services/data_process/test/unittest/common/pipeline_node/encode_data_process_test.cpp +++ b/services/data_process/test/unittest/common/pipeline_node/encode_data_process_test.cpp @@ -438,7 +438,7 @@ HWTEST_F(EncodeDataProcessTest, encode_data_process_test_013, TestSize.Level1) testEncodeDataProcess_->ReduceWaitEncodeCnt(); uint32_t index = time; MediaAVCodec::AVCodecBufferInfo info; - std::shared_ptr buffer = nullptr; + std::shared_ptr buffer = nullptr; MediaAVCodec::AVCodecBufferFlag flag = MediaAVCodec::AVCODEC_BUFFER_FLAG_CODEC_DATA; int32_t rc = testEncodeDataProcess_->GetEncoderOutputBuffer(index, info, flag, buffer); EXPECT_EQ(rc, DCAMERA_BAD_VALUE); @@ -495,11 +495,11 @@ HWTEST_F(EncodeDataProcessTest, encode_data_process_test_015, TestSize.Level1) uint32_t index = 0; MediaAVCodec::AVCodecBufferInfo info; MediaAVCodec::AVCodecBufferFlag flag = MediaAVCodec::AVCODEC_BUFFER_FLAG_CODEC_DATA; - std::shared_ptr buffer = nullptr; + std::shared_ptr buffer = nullptr; testEncodeDataProcess_->OnOutputBufferAvailable(index, info, flag, buffer); testEncodeDataProcess_->OnError(); testEncodeDataProcess_->OnInputBufferAvailable(index, buffer); - MediaAVCodec::Format format; + Media::Format format; testEncodeDataProcess_->OnOutputFormatChanged(format); testEncodeDataProcess_->OnOutputBufferAvailable(index, info, flag, buffer); EXPECT_EQ(rc, DCAMERA_OK);