NVIDIA DeepStream SDK API Reference

9.2 Release
sources/libs/ds3d/databridge/video/video_bridge_impl.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2023-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: Apache-2.0
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #ifndef DS3D_VIDEO_BRIDGE_IMPL_H
19 #define DS3D_VIDEO_BRIDGE_IMPL_H
20 
21 #include "video_bridge.h"
22 
23 #include "ds3d/common/helper/memdata.h"
24 #include "ds3d/common/hpp/databridge.hpp"
25 #include "ds3d/common/impl/impl_databridge.h"
26 
27 #include "video_config.h"
28 
29 namespace ds3d { namespace impl { namespace bridge {
30 
32 public:
33  VideoBridge2d3d() = default;
34  ~VideoBridge2d3d() override;
35 
36 protected:
38  const struct VideoBridge2dInput* inputData, OnGuardDataCBImpl outputDataCb,
39  OnGuardBridgeDataCBImpl inputConsumedCb) override;
40  ErrCode stopImpl() override;
41  ErrCode flushImpl() override;
42  ErrCode startImpl(const std::string& content, const std::string& path);
43 
44 private:
45  ErrCode extractBatchMeta(NvDsBatchMeta* batchMeta, GuardDataMap& datamap,
46  ShrdPtr<VideoBridge2dInput>& inputPtr);
47  void timeoutWaitProcess();
48 
49  Config _config;
50  volatile bool _inProcess = false;
51 };
52 
53 }}} // namespace ds3d::impl::bridge
54 
55 
56 #endif // DS3D_VIDEO_BRIDGE_IMPL_H
ds3d::impl::bridge::Config
Definition: sources/libs/ds3d/databridge/video/video_config.h:28
ds3d::impl::BaseImplDataProcessor< abiDataBridge >::OnGuardBridgeDataCBImpl
std::function< void(ErrCode, const struct VideoBridge2dInput *)> OnGuardBridgeDataCBImpl
Definition: includes/ds3d/common/impl/impl_dataprocess.h:34
ds3d::VideoBridge2dInput
Definition: includes/ds3d/common/idatatype.h:157
video_bridge.h
ds3d::impl::bridge::VideoBridge2d3d::startImpl
ErrCode startImpl(const std::string &content, const std::string &path)
ds3d::impl::bridge::VideoBridge2d3d::processImpl
ErrCode processImpl(const struct VideoBridge2dInput *inputData, OnGuardDataCBImpl outputDataCb, OnGuardBridgeDataCBImpl inputConsumedCb) override
ds3d::impl::BaseImplDataProcessor< abiDataBridge >::OnGuardDataCBImpl
std::function< void(ErrCode, GuardDataMap)> OnGuardDataCBImpl
Definition: includes/ds3d/common/impl/impl_dataprocess.h:33
ds3d::ErrCode
ErrCode
Definition: includes/ds3d/common/common.h:47
ds3d::impl::bridge::VideoBridge2d3d::stopImpl
ErrCode stopImpl() override
ds3d::impl::bridge::VideoBridge2d3d::VideoBridge2d3d
VideoBridge2d3d()=default
_NvDsBatchMeta
Holds information about a formed batch containing frames from different sources.
Definition: includes/nvdsmeta.h:264
ds3d::impl::bridge::VideoBridge2d3d
Definition: sources/libs/ds3d/databridge/video/video_bridge_impl.h:31
video_config.h
ds3d::ShrdPtr
std::shared_ptr< T > ShrdPtr
Definition: includes/ds3d/common/hpp/obj.hpp:33
ds3d::GuardDataMap
Definition: includes/ds3d/common/hpp/datamap.hpp:27
ds3d
Definition: includes/ds3d/common/abi_dataprocess.h:25
ds3d::impl::bridge::VideoBridge2d3d::flushImpl
ErrCode flushImpl() override
ds3d::impl::bridge::VideoBridge2d3d::~VideoBridge2d3d
~VideoBridge2d3d() override
ds3d::impl::BaseImplDataBridge
Any custom datafilter must derive from BaseImplDataBridge,.
Definition: includes/ds3d/common/impl/impl_databridge.h:38