mirror of
https://gitee.com/openharmony/multimedia_av_codec
synced 2024-12-02 12:27:24 +00:00
【修改说明】CodecBase中存在非通用函数,修改纯虚函数
Signed-off-by: zhanghongran <zhanghongran@huawei.com>
This commit is contained in:
parent
8c356be9ba
commit
c41e92459e
@ -23,7 +23,8 @@
|
||||
| | |---sa_avcodec # avcodec主进程C/S框架
|
||||
| | |---common # 服务公用资源
|
||||
| |---engine # 引擎实现
|
||||
| | |---include # base头文件
|
||||
| | |---base # 内部接口base文件
|
||||
| | | |---include # base头文件
|
||||
| | |---common # 引擎公用资源
|
||||
| | |---factory # 引擎工厂实现
|
||||
| | |---codeclist # 编解码能力查询引擎
|
||||
@ -31,7 +32,7 @@
|
||||
| | |---muxer # 封装引擎
|
||||
| | |---demuxer # 解封装引擎
|
||||
| | |---plugin # 插件
|
||||
| | | |---inferfaces # 插件接口
|
||||
| | | |---interfaces # 插件接口
|
||||
| | | |---core # 插件框架
|
||||
| | | |---plugins # 插件实现
|
||||
| | | | |---codec # 编解码插件
|
||||
|
@ -76,7 +76,9 @@
|
||||
}
|
||||
}
|
||||
],
|
||||
"test": []
|
||||
"test": [
|
||||
"//foundation/multimedia/av_codec/test:av_codec_unit_test"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -18,6 +18,7 @@ declare_args() {
|
||||
multimedia_av_codec_support_demuxer = false
|
||||
multimedia_av_codec_support_muxer = true
|
||||
multimedia_av_codec_support_ffmpeg_demuxer = false
|
||||
multimedia_av_codec_support_test = true
|
||||
}
|
||||
|
||||
av_codec_defines = []
|
||||
|
@ -57,9 +57,11 @@ config("av_codec_packege_include") {
|
||||
"//foundation/multimedia/av_codec/services/services/codec/client",
|
||||
"//foundation/multimedia/av_codec/services/services/codec/ipc",
|
||||
"//foundation/multimedia/av_codec/services/services/codec/server",
|
||||
"//foundation/multimedia/av_codec/services/services/codecbase/",
|
||||
"//foundation/multimedia/av_codec/services/services/codecbase/server/",
|
||||
"//foundation/multimedia/av_codec/services/services/codecbase/server/include/",
|
||||
# "//foundation/multimedia/av_codec/services/services/codecbase/",
|
||||
# "//foundation/multimedia/av_codec/services/services/codecbase/server/",
|
||||
# "//foundation/multimedia/av_codec/services/services/codecbase/server/include/",
|
||||
"//foundation/multimedia/av_codec/services/engine/base/",
|
||||
"//foundation/multimedia/av_codec/services/engine/base/include/",
|
||||
"//foundation/multimedia/av_codec/services/services/common/",
|
||||
"//foundation/multimedia/av_codec/services/services/demuxer/",
|
||||
"//foundation/multimedia/av_codec/services/services/demuxer/client/",
|
||||
@ -78,9 +80,9 @@ config("av_codec_packege_include") {
|
||||
"//foundation/multimedia/av_codec/services/services/source/client/",
|
||||
"//foundation/multimedia/av_codec/services/services/source/ipc/",
|
||||
"//foundation/multimedia/av_codec/services/services/source/server/",
|
||||
"//foundation/multimedia/av_codec/services/services/sourcebase/",
|
||||
"//foundation/multimedia/av_codec/services/services/sourcebase/server/",
|
||||
"//foundation/multimedia/av_codec/services/services/sourcebase/server/include/",
|
||||
# "//foundation/multimedia/av_codec/services/services/sourcebase/",
|
||||
# "//foundation/multimedia/av_codec/services/services/sourcebase/server/",
|
||||
# "//foundation/multimedia/av_codec/services/services/sourcebase/server/include/",
|
||||
"//foundation/multimedia/av_codec/services/utils/",
|
||||
"//foundation/multimedia/av_codec/services/utils/include/",
|
||||
]
|
||||
|
@ -78,9 +78,11 @@ config("av_codec_capi_config") {
|
||||
"//foundation/multimedia/av_codec/services/services/codec/client",
|
||||
"//foundation/multimedia/av_codec/services/services/codec/ipc",
|
||||
"//foundation/multimedia/av_codec/services/services/codec/server",
|
||||
"//foundation/multimedia/av_codec/services/services/codecbase/",
|
||||
"//foundation/multimedia/av_codec/services/services/codecbase/server/",
|
||||
"//foundation/multimedia/av_codec/services/services/codecbase/server/include/",
|
||||
# "//foundation/multimedia/av_codec/services/services/codecbase/",
|
||||
# "//foundation/multimedia/av_codec/services/services/codecbase/server/",
|
||||
# "//foundation/multimedia/av_codec/services/services/codecbase/server/include/",
|
||||
"//foundation/multimedia/av_codec/services/engine/base/",
|
||||
"//foundation/multimedia/av_codec/services/engine/base/include/",
|
||||
"//foundation/multimedia/av_codec/services/services/common/",
|
||||
"//foundation/multimedia/av_codec/services/services/demuxer/",
|
||||
"//foundation/multimedia/av_codec/services/services/demuxer/client/",
|
||||
|
@ -15,7 +15,7 @@ import("//build/ohos.gni")
|
||||
|
||||
group("av_codec_services_package") {
|
||||
deps = [
|
||||
"engine:av_codec_engine_package",
|
||||
# "engine:av_codec_engine_package",
|
||||
"services:av_codec_service",
|
||||
]
|
||||
}
|
||||
|
59
services/engine/base/codecbase.cpp
Normal file
59
services/engine/base/codecbase.cpp
Normal file
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Huawei Device Co., Ltd.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include "codecbase.h"
|
||||
#include "avcodec_log.h"
|
||||
|
||||
namespace {
|
||||
constexpr OHOS::HiviewDFX::HiLogLabel LABEL = {LOG_CORE, LOG_DOMAIN, "CodecBase"}
|
||||
}
|
||||
|
||||
namespace OHOS {
|
||||
namespace Media {
|
||||
|
||||
int32_t CodecBase::NotifyEos()
|
||||
{
|
||||
AVCODEC_LOGW("NotifyEos is not supported");
|
||||
return 0;
|
||||
}
|
||||
|
||||
sptr<Surface> CodecBase::CreateInputSurface()
|
||||
{
|
||||
AVCODEC_LOGW("CreateInputSurface is not supported");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
int32_t CodecBase::SetOutputSurface(sptr<Surface> surface)
|
||||
{
|
||||
(void)surface;
|
||||
AVCODEC_LOGW("SetOutputSurface is not supported");
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t CodecBase::RenderOutputBuffer(size_t index)
|
||||
{
|
||||
(void)index;
|
||||
AVCODEC_LOGW("RenderOutputBuffer is not supported");
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t CodecBase::SignalRequestIDRFrame()
|
||||
{
|
||||
AVCODEC_LOGW("SignalRequestIDRFrame is not supported");
|
||||
return 0;
|
||||
}
|
||||
|
||||
} // namespace Media
|
||||
} // namespace OHOS
|
@ -36,17 +36,18 @@ public:
|
||||
virtual int32_t Flush() = 0;
|
||||
virtual int32_t Reset() = 0;
|
||||
virtual int32_t Release() = 0;
|
||||
virtual int32_t NotifyEos() = 0;
|
||||
virtual int32_t SetParameter(const Format& format) = 0;
|
||||
virtual int32_t GetOutputFormat(Format& format) = 0;
|
||||
virtual sptr<Surface> CreateInputSurface() = 0;
|
||||
virtual int32_t SetOutputSurface(sptr<Surface> surface) = 0;
|
||||
virtual std::shared_ptr<AVSharedMemory> GetInputBuffer(size_t index) = 0;
|
||||
virtual int32_t QueueInputBuffer(size_t index, const AVCodecBufferInfo& info, AVCodecBufferFlag& flag) = 0;
|
||||
virtual std::shared_ptr<AVSharedMemory> GetOutputBuffer(size_t index) = 0;
|
||||
virtual int32_t RenderOutputBuffer(size_t index) = 0;
|
||||
virtual int32_t ReleaseOutputBuffer(size_t index) = 0;
|
||||
virtual int32_t SignalRequestIDRFrame() = 0;
|
||||
|
||||
int32_t NotifyEos();
|
||||
sptr<Surface> CreateInputSurface();
|
||||
int32_t SetOutputSurface(sptr<Surface> surface);
|
||||
int32_t RenderOutputBuffer(size_t index);
|
||||
int32_t SignalRequestIDRFrame();
|
||||
};
|
||||
} // namespace Media
|
||||
} // namespace OHOS
|
@ -95,9 +95,11 @@ config("av_codec_service_config") {
|
||||
"//foundation/multimedia/av_codec/services/services/codec/client",
|
||||
"//foundation/multimedia/av_codec/services/services/codec/ipc",
|
||||
"//foundation/multimedia/av_codec/services/services/codec/server",
|
||||
"//foundation/multimedia/av_codec/services/services/codecbase/",
|
||||
"//foundation/multimedia/av_codec/services/services/codecbase/server/",
|
||||
"//foundation/multimedia/av_codec/services/services/codecbase/server/include/",
|
||||
# "//foundation/multimedia/av_codec/services/services/codecbase/",
|
||||
# "//foundation/multimedia/av_codec/services/services/codecbase/server/",
|
||||
# "//foundation/multimedia/av_codec/services/services/codecbase/server/include/",
|
||||
"//foundation/multimedia/av_codec/services/engine/base/",
|
||||
"//foundation/multimedia/av_codec/services/engine/base/include/",
|
||||
"//foundation/multimedia/av_codec/services/services/common/",
|
||||
"//foundation/multimedia/av_codec/services/services/demuxer/",
|
||||
"//foundation/multimedia/av_codec/services/services/demuxer/client/",
|
||||
@ -161,6 +163,7 @@ ohos_shared_library("av_codec_service") {
|
||||
"codec/ipc/codec_listener_proxy.cpp",
|
||||
"codec/ipc/codec_service_stub.cpp",
|
||||
"codec/server/codec_server.cpp",
|
||||
"$AV_CODEC_ROOT_DIR/services/engine/base/codecbase.cpp",
|
||||
]
|
||||
}
|
||||
if (multimedia_av_codec_support_codeclist) {
|
||||
|
Loading…
Reference in New Issue
Block a user