mirror of
https://gitee.com/jiuyilian/embedded-framework.git
synced 2025-01-06 10:16:51 -05:00
50 lines
1.7 KiB
C++
50 lines
1.7 KiB
C++
/*
|
|
* Copyright (c) 2023 Fancy Code.
|
|
* 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 "MediaManagerImpl.h"
|
|
#include "ILog.h"
|
|
StatusCode MediaManagerImpl::Init(void)
|
|
{
|
|
IHalCpp::GetInstance()->GetCameraHal(mAllCameras);
|
|
return CreateStatusCode(STATUS_CODE_OK);
|
|
}
|
|
StatusCode MediaManagerImpl::UnInit(void)
|
|
{
|
|
return CreateStatusCode(STATUS_CODE_OK);
|
|
}
|
|
StatusCode MediaManagerImpl::SetMediaMonitor(std::shared_ptr<VMediaMonitor> &monitor)
|
|
{
|
|
mMediaMonitor = monitor;
|
|
SetCamerasMonitor();
|
|
return CreateStatusCode(STATUS_CODE_OK);
|
|
}
|
|
void MediaManagerImpl::ReportEvent(const CameraReportEvent &event)
|
|
{
|
|
LogInfo("ReportEvent. file: %s.\n", event.mFileName.c_str());
|
|
MediaReportEvent reprot(event.mFileName, static_cast<MediaChannel>(event.mCameraType));
|
|
auto monitor = mMediaMonitor.lock();
|
|
if (mMediaMonitor.expired()) {
|
|
LogWarning("MediaMonitor is expired.\n");
|
|
return;
|
|
}
|
|
monitor->ReportEvent(reprot);
|
|
}
|
|
void MediaManagerImpl::SetCamerasMonitor(void)
|
|
{
|
|
std::shared_ptr<VCameraHalMonitor> moniter = shared_from_this();
|
|
for (const auto &camera : mAllCameras) {
|
|
LogInfo("SetCameraMonitor.\n");
|
|
camera.second->SetCameraMonitor(moniter);
|
|
}
|
|
} |