From 4a0342b62004cc202583b0de27c8e6af5534fb64 Mon Sep 17 00:00:00 2001 From: yangli Date: Mon, 19 Jun 2023 14:47:26 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E6=B7=BB=E5=8A=A0source=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangli --- .../2.0/include/screenregion.h | 2 +- .../screenregionmgr/2.0/src/screenregion.cpp | 63 +++++++++---------- .../dscreenmgr/2.0/include/dscreen.h | 2 +- .../dscreenmgr/2.0/src/dscreen.cpp | 54 +++++++--------- 4 files changed, 55 insertions(+), 66 deletions(-) diff --git a/services/screenservice/sinkservice/screenregionmgr/2.0/include/screenregion.h b/services/screenservice/sinkservice/screenregionmgr/2.0/include/screenregion.h index dd914e07..49bd0b11 100644 --- a/services/screenservice/sinkservice/screenregionmgr/2.0/include/screenregion.h +++ b/services/screenservice/sinkservice/screenregionmgr/2.0/include/screenregion.h @@ -38,7 +38,7 @@ public: void OnEngineEvent(DScreenEventType event, const std::string &content) override; void OnEngineMessage(const std::shared_ptr &message) override; void OnEngineDataDone(const std::shared_ptr &buffer) override; - std::sptr GetWSBuffer(); + void GetWSBuffer(sptr::SurfaceBuffer &wsBuffer, const std::shared_ptr &buffer); int32_t Release(); int32_t InitReceiverEngine(IAVEngineProvider *providerPtr); diff --git a/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp b/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp index 928ff159..e60a3a98 100644 --- a/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp +++ b/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp @@ -259,39 +259,8 @@ void ScreenRegion::OnEngineMessage(const std::shared_ptr &messag } } -std::sptr ScreenRegion::GetWSBuffer() +void ScreenRegion::GetWSBuffer(sptr::SurfaceBuffer &wsBuffer, const std::shared_ptr &buffer) { - if (windowSurface_ == nullptr) { - DHLOGE("window surface is nullptr."); - return; - } - sptr wsBuffer = nullptr; - int32_t releaseFence = -1; - OHOS::BufferRequestConfig requestConfig = { - .width = videoParam_->GetVideoWidth(), - .height = videoParam_->GetVideoHeight(), - .strideAlignment = STRIDE_ALIGNMENT, - .format = PIXEL_FMT_YCRCB_420_SP, - .usage = HBM_USE_CPU_READ | HBM_USE_CPU_WRITE | HBM_USE_MEM_DMA, - }; - SurfaceError surfaceErr = windowSurface_->RequestBuffer(wsBuffer, releaseFence, requestConfig); - if (surfaceErr != SURFACE_ERROR_OK || wsBuffer == nullptr) { - DHLOGE("surface request buffer failed, surfaceErr: %d.", surfaceErr); - windowSurface_->CancelBuffer(wsBuffer); - return; - } - return wsBuffer; -} - -void ScreenRegion::OnEngineDataDone(const std::shared_ptr &buffer) -{ - ++frameNumber_; - DHLOGI("OnEngineDataDone enter"); - if (buffer == nullptr) { - DHLOGE("received video buffer data is nullptr."); - return; - } - sptr wsBuffer = GetWSBuffer(); auto bufferData = buffer->GetBufferData(0); auto bufferAddr = bufferData->GetAddress(); auto wsBufAddr = static_cast(wsBuffer->GetVirAddr()); @@ -327,7 +296,37 @@ void ScreenRegion::OnEngineDataDone(const std::shared_ptr &buffer dstOffset += videoParam_->GetVideoWidth(); srcOffset += alignedWidth; } +} +void ScreenRegion::OnEngineDataDone(const std::shared_ptr &buffer) +{ + ++frameNumber_; + DHLOGI("OnEngineDataDone enter"); + if (buffer == nullptr) { + DHLOGE("received video buffer data is nullptr."); + return; + } + if (windowSurface_ == nullptr) { + DHLOGE("window surface is nullptr."); + return; + } + sptr wsBuffer = nullptr; + int32_t releaseFence = -1; + OHOS::BufferRequestConfig requestConfig = { + .width = videoParam_->GetVideoWidth(), + .height = videoParam_->GetVideoHeight(), + .strideAlignment = STRIDE_ALIGNMENT, + .format = PIXEL_FMT_YCRCB_420_SP, + .usage = HBM_USE_CPU_READ | HBM_USE_CPU_WRITE | HBM_USE_MEM_DMA, + }; + SurfaceError surfaceErr = windowSurface_->RequestBuffer(wsBuffer, releaseFence, requestConfig); + if (surfaceErr != SURFACE_ERROR_OK || wsBuffer == nullptr) { + DHLOGE("surface request buffer failed, surfaceErr: %d.", surfaceErr); + windowSurface_->CancelBuffer(wsBuffer); + return; + } + SetWSBuffer(wsBuffer,buffer); + BufferFlushConfig flushConfig = { {0, 0, wsBuffer->GetWidth(), wsBuffer->GetHeight()}, 0}; surfaceErr = windowSurface_->FlushBuffer(wsBuffer, -1, flushConfig); if (surfaceErr != SURFACE_ERROR_OK) { diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen.h b/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen.h index 02e4f13e..b4d20b3f 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen.h +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen.h @@ -108,7 +108,7 @@ private: int32_t ConfigSurface(); int32_t RemoveSurface(); int32_t SetUp(); - void Judgment(); + void ChooseParameter(std::string &codecType, std::string &pixelFormat); bool CheckJsonData(json &attrJson); void SetState(DScreenState state); diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp index 93378d30..eb7b1fb1 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp @@ -365,22 +365,34 @@ int32_t DScreen::StopSenderEngine() return DH_SUCCESS; } -void DScreen::Judgment() +void DScreen::ChooseParameter(std::string &codecType, std::string &pixelFormat) { - DHLOGI("SetUp, devId: %s, dhId: %s", GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str()); - if (senderAdapter_ == nullptr) { - DHLOGE("av transport sender adapter is null."); - return ERR_DH_AV_TRANS_NULL_VALUE; + if (videoParam_->GetCodecType() == VIDEO_CODEC_TYPE_VIDEO_H265) { + codecType = MINE_VIDEO_H265; + } else if (videoParam_->GetCodecType() == VIDEO_CODEC_TYPE_VIDEO_H264) { + codecType = MINE_VIDEO_H264; + } else { + codecType = MINE_VIDEO_RAW; } - if (videoParam_ == nullptr) { - DHLOGE("videoParam is nullptr."); - return ERR_DH_SCREEN_SA_VALUE_NOT_INIT; + if (videoParam_->GetVideoFormat() == VIDEO_DATA_FORMAT_YUVI420) { + pixelFormat = VIDEO_FORMAT_YUVI420; + } else if (videoParam_->GetVideoFormat() == VIDEO_DATA_FORMAT_NV12) { + pixelFormat = VIDEO_FORMAT_NV12; + } else if (videoParam_->GetVideoFormat() == VIDEO_DATA_FORMAT_NV21) { + pixelFormat = VIDEO_FORMAT_NV21; + } else { + pixelFormat = VIDEO_FORMAT_RGBA8888; } + senderAdapter_->SetParameter(AVTransTag::VIDEO_CODEC_TYPE, codecType); + senderAdapter_->SetParameter(AVTransTag::VIDEO_PIXEL_FORMAT, pixelFormat); + senderAdapter_->SetParameter(AVTransTag::VIDEO_WIDTH, std::to_string(videoParam_->GetVideoWidth())); + senderAdapter_->SetParameter(AVTransTag::VIDEO_HEIGHT, std::to_string(videoParam_->GetVideoHeight())); + senderAdapter_->SetParameter(AVTransTag::VIDEO_FRAME_RATE, std::to_string(videoParam_->GetFps())); + senderAdapter_->SetParameter(AVTransTag::VIDEO_BIT_RATE, std::to_string(BIT_RATE)); } int32_t DScreen::SetUp() { - Judgment() auto mapRelation = ScreenMgrAdapter::GetInstance().GetMapRelation(screenId_); if (mapRelation == nullptr) { DHLOGE("get map relation failed."); @@ -403,31 +415,9 @@ int32_t DScreen::SetUp() DHLOGE("set message to remote engine failed."); return ret; } - std::string codecType; - if (videoParam_->GetCodecType() == VIDEO_CODEC_TYPE_VIDEO_H265) { - codecType = MINE_VIDEO_H265; - } else if (videoParam_->GetCodecType() == VIDEO_CODEC_TYPE_VIDEO_H264) { - codecType = MINE_VIDEO_H264; - } else { - codecType = MINE_VIDEO_RAW; - } std::string pixelFormat; - if (videoParam_->GetVideoFormat() == VIDEO_DATA_FORMAT_YUVI420) { - pixelFormat = VIDEO_FORMAT_YUVI420; - } else if (videoParam_->GetVideoFormat() == VIDEO_DATA_FORMAT_NV12) { - pixelFormat = VIDEO_FORMAT_NV12; - } else if (videoParam_->GetVideoFormat() == VIDEO_DATA_FORMAT_NV21) { - pixelFormat = VIDEO_FORMAT_NV21; - } else { - pixelFormat = VIDEO_FORMAT_RGBA8888; - } - senderAdapter_->SetParameter(AVTransTag::VIDEO_CODEC_TYPE, codecType); - senderAdapter_->SetParameter(AVTransTag::VIDEO_PIXEL_FORMAT, pixelFormat); - senderAdapter_->SetParameter(AVTransTag::VIDEO_WIDTH, std::to_string(videoParam_->GetVideoWidth())); - senderAdapter_->SetParameter(AVTransTag::VIDEO_HEIGHT, std::to_string(videoParam_->GetVideoHeight())); - senderAdapter_->SetParameter(AVTransTag::VIDEO_FRAME_RATE, std::to_string(videoParam_->GetFps())); - senderAdapter_->SetParameter(AVTransTag::VIDEO_BIT_RATE, std::to_string(BIT_RATE)); + ChooseParameter(codecType, pixelFormat); return senderAdapter_->SetParameter(AVTransTag::ENGINE_READY, OWNER_NAME_D_SCREEN); } -- Gitee From 78abf44aff365f24518b9f99d483edc349f1d650 Mon Sep 17 00:00:00 2001 From: yangli Date: Mon, 19 Jun 2023 19:33:21 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E4=B8=A4=E7=AB=AF=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangli --- ..._receiver_engine_adpater.h => av_receiver_engine_adapter.h} | 0 .../sinkservice/screenregionmgr/2.0/include/screenregion.h | 2 +- ...eiver_engine_adpater.cpp => av_receiver_engine_adapter.cpp} | 0 .../{av_sender_engine_adpater.h => av_sender_engine_adapter.h} | 0 .../sourceservice/dscreenmgr/2.0/include/dscreen_manager.h | 2 +- ..._sender_engine_adpater.cpp => av_sender_engine_adapter.cpp} | 3 ++- .../screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp | 2 +- 7 files changed, 5 insertions(+), 4 deletions(-) rename services/screenservice/sinkservice/screenregionmgr/2.0/include/{av_receiver_engine_adpater.h => av_receiver_engine_adapter.h} (100%) rename services/screenservice/sinkservice/screenregionmgr/2.0/src/{av_receiver_engine_adpater.cpp => av_receiver_engine_adapter.cpp} (100%) rename services/screenservice/sourceservice/dscreenmgr/2.0/include/{av_sender_engine_adpater.h => av_sender_engine_adapter.h} (100%) rename services/screenservice/sourceservice/dscreenmgr/2.0/src/{av_sender_engine_adpater.cpp => av_sender_engine_adapter.cpp} (99%) diff --git a/services/screenservice/sinkservice/screenregionmgr/2.0/include/av_receiver_engine_adpater.h b/services/screenservice/sinkservice/screenregionmgr/2.0/include/av_receiver_engine_adapter.h similarity index 100% rename from services/screenservice/sinkservice/screenregionmgr/2.0/include/av_receiver_engine_adpater.h rename to services/screenservice/sinkservice/screenregionmgr/2.0/include/av_receiver_engine_adapter.h diff --git a/services/screenservice/sinkservice/screenregionmgr/2.0/include/screenregion.h b/services/screenservice/sinkservice/screenregionmgr/2.0/include/screenregion.h index 49bd0b11..61f6fa1f 100644 --- a/services/screenservice/sinkservice/screenregionmgr/2.0/include/screenregion.h +++ b/services/screenservice/sinkservice/screenregionmgr/2.0/include/screenregion.h @@ -20,7 +20,7 @@ #include "surface.h" -#include "2.0/include/av_receiver_engine_adpater.h" +#include "2.0/include/av_receiver_engine_adapter.h" #include "distributed_hardware_fwk_kit.h" #include "dscreen_maprelation.h" #include "screen_client_common.h" diff --git a/services/screenservice/sinkservice/screenregionmgr/2.0/src/av_receiver_engine_adpater.cpp b/services/screenservice/sinkservice/screenregionmgr/2.0/src/av_receiver_engine_adapter.cpp similarity index 100% rename from services/screenservice/sinkservice/screenregionmgr/2.0/src/av_receiver_engine_adpater.cpp rename to services/screenservice/sinkservice/screenregionmgr/2.0/src/av_receiver_engine_adapter.cpp diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/include/av_sender_engine_adpater.h b/services/screenservice/sourceservice/dscreenmgr/2.0/include/av_sender_engine_adapter.h similarity index 100% rename from services/screenservice/sourceservice/dscreenmgr/2.0/include/av_sender_engine_adpater.h rename to services/screenservice/sourceservice/dscreenmgr/2.0/include/av_sender_engine_adapter.h diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen_manager.h b/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen_manager.h index 289cafb7..fa5c4cb3 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen_manager.h +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/include/dscreen_manager.h @@ -21,7 +21,7 @@ #include "single_instance.h" #include "screen_manager.h" -#include "av_sender_engine_adpater.h" +#include "av_sender_engine_adapter.h" #include "dscreen.h" #include "dscreen_maprelation.h" #include "idscreen_sink.h" diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/src/av_sender_engine_adpater.cpp b/services/screenservice/sourceservice/dscreenmgr/2.0/src/av_sender_engine_adapter.cpp similarity index 99% rename from services/screenservice/sourceservice/dscreenmgr/2.0/src/av_sender_engine_adpater.cpp rename to services/screenservice/sourceservice/dscreenmgr/2.0/src/av_sender_engine_adapter.cpp index b421a696..ad6176fe 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/src/av_sender_engine_adpater.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/src/av_sender_engine_adapter.cpp @@ -13,7 +13,7 @@ * limitations under the License. */ -#include "2.0/include/av_sender_engine_adpater.h" +#include "2.0/include/av_sender_engine_adapter.h" #include "dscreen_errcode.h" #include "dscreen_log.h" @@ -247,6 +247,7 @@ int32_t AVTransSenderAdapter::OnSenderEvent(const AVTransEvent& event) break; default: DHLOGE("Invalid event type."); + break; } return DH_AVT_SUCCESS; } diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp index eb7b1fb1..4fdeca9a 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp @@ -17,7 +17,7 @@ #include "avcodec_info.h" #include "avcodec_list.h" -#include "2.0/include/av_sender_engine_adpater.h" +#include "2.0/include/av_sender_engine_adapter.h" #include "dscreen_constants.h" #include "dscreen_errcode.h" #include "dscreen_hisysevent.h" -- Gitee From e3da1949a79922f87173b402286056cf95251908 Mon Sep 17 00:00:00 2001 From: yangli Date: Mon, 19 Jun 2023 21:40:04 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E4=B8=A4=E7=AB=AF=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangli --- .../screendatachannel/src/screen_data_channel_impl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/screentransport/screendatachannel/src/screen_data_channel_impl.cpp b/services/screentransport/screendatachannel/src/screen_data_channel_impl.cpp index 47a2811d..8229d625 100644 --- a/services/screentransport/screendatachannel/src/screen_data_channel_impl.cpp +++ b/services/screentransport/screendatachannel/src/screen_data_channel_impl.cpp @@ -139,7 +139,7 @@ int32_t ScreenDataChannelImpl::CloseSession() } sessionId_ = 0; if (jpegSessionFlag_ == true && jpegSessionId_ != 0) { - ret = SoftbusAdapter::GetInstance().CloseSoftbusSession(sessionId_); + ret = SoftbusAdapter::GetInstance().CloseSoftbusSession(jpegSessionId_); if (ret != DH_SUCCESS) { DHLOGE("%s: Close jpeg session failed ret: %" PRId32, LOG_TAG, ret); return ret; -- Gitee From c2a12594558a46f6e90b0a271a0fd73ddf2c792f Mon Sep 17 00:00:00 2001 From: yangli Date: Mon, 19 Jun 2023 22:49:50 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E4=B8=A4=E7=AB=AF=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangli --- .../screenregionmgr/2.0/include/av_receiver_engine_adapter.h | 4 ++-- .../sinkservice/screenregionmgr/2.0/src/screenregion.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/services/screenservice/sinkservice/screenregionmgr/2.0/include/av_receiver_engine_adapter.h b/services/screenservice/sinkservice/screenregionmgr/2.0/include/av_receiver_engine_adapter.h index b995223e..15d8e941 100644 --- a/services/screenservice/sinkservice/screenregionmgr/2.0/include/av_receiver_engine_adapter.h +++ b/services/screenservice/sinkservice/screenregionmgr/2.0/include/av_receiver_engine_adapter.h @@ -13,8 +13,8 @@ * limitations under the License. */ -#ifndef OHOS_AV_TRANSPORT_SENDER_ADAPTER_H -#define OHOS_AV_TRANSPORT_SENDER_ADAPTER_H +#ifndef OHOS_AV_TRANSPORT_RECEIVER_ADAPTER_H +#define OHOS_AV_TRANSPORT_RECEIVER_ADAPTER_H #include #include diff --git a/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp b/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp index e60a3a98..10b9f002 100644 --- a/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp +++ b/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp @@ -325,7 +325,7 @@ void ScreenRegion::OnEngineDataDone(const std::shared_ptr &buffer windowSurface_->CancelBuffer(wsBuffer); return; } - SetWSBuffer(wsBuffer,buffer); + SetWSBuffer(wsBuffer, buffer); BufferFlushConfig flushConfig = { {0, 0, wsBuffer->GetWidth(), wsBuffer->GetHeight()}, 0}; surfaceErr = windowSurface_->FlushBuffer(wsBuffer, -1, flushConfig); -- Gitee From 689d8658e876037cde7c481ec06efa221037878b Mon Sep 17 00:00:00 2001 From: yangli Date: Tue, 20 Jun 2023 09:21:02 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E4=B8=A4=E7=AB=AF=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangli --- .../dscreenmgr/2.0/src/av_sender_engine_adapter.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/src/av_sender_engine_adapter.cpp b/services/screenservice/sourceservice/dscreenmgr/2.0/src/av_sender_engine_adapter.cpp index ad6176fe..9464606a 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/src/av_sender_engine_adapter.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/src/av_sender_engine_adapter.cpp @@ -247,7 +247,6 @@ int32_t AVTransSenderAdapter::OnSenderEvent(const AVTransEvent& event) break; default: DHLOGE("Invalid event type."); - break; } return DH_AVT_SUCCESS; } -- Gitee From 7873a844f1967cb9134152b243a2d56a1c78285f Mon Sep 17 00:00:00 2001 From: yangli Date: Tue, 20 Jun 2023 15:25:25 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=B8=A4=E7=AB=AF=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangli --- .../sourceservice/dscreenmgr/2.0/src/dscreen.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp index 4fdeca9a..805b96e7 100644 --- a/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp +++ b/services/screenservice/sourceservice/dscreenmgr/2.0/src/dscreen.cpp @@ -393,6 +393,15 @@ void DScreen::ChooseParameter(std::string &codecType, std::string &pixelFormat) int32_t DScreen::SetUp() { + DHLOGI("SetUp, devId: %s, dhId: %s", GetAnonyString(devId_).c_str(), GetAnonyString(dhId_).c_str()); + if (senderAdapter_ == nullptr) { + DHLOGE("av transport sender adapter is null."); + return ERR_DH_AV_TRANS_NULL_VALUE; + } + if (videoParam_ == nullptr) { + DHLOGE("videoParam is nullptr."); + return ERR_DH_SCREEN_SA_VALUE_NOT_INIT; + } auto mapRelation = ScreenMgrAdapter::GetInstance().GetMapRelation(screenId_); if (mapRelation == nullptr) { DHLOGE("get map relation failed."); -- Gitee