Banuba SDK
input.hpp
1 #pragma once
2 
5 #include <bnb/types/full_image.hpp>
6 #include <bnb/utils/defs.hpp>
7 
8 namespace bnb::player_api::interfaces
9 {
10  class input;
11 } // namespace bnb::player_api::interfaces
12 
13 namespace bnb::player_api
14 {
15  using frame_data_sptr = std::shared_ptr<bnb::interfaces::frame_data>;
16  using full_image_sptr = std::shared_ptr<bnb::full_image_t>;
17  using input_sptr = std::shared_ptr<bnb::player_api::interfaces::input>;
18  using frame_processor_sptr = std::shared_ptr<bnb::interfaces::frame_processor>;
19 } // namespace bnb::player_api
20 
21 namespace bnb::player_api::interfaces
22 {
23 
24  /**
25  * The interface is inherited by all classes that must work with the player,
26  * responsible for providing frames from outside in the player.
27  */
28  class BNB_EXPORT input
29  {
30  public:
31  virtual ~input() = default;
32 
33  /**
34  * Get last available frame
35  * @return frame_processor with filled frame_data
36  */
37  virtual frame_processor_sptr get_frame_processor() const noexcept = 0;
38 
39  /**
40  * Get timestamp of the current frame.
41  * @return timestamp
42  */
43  virtual uint64_t get_frame_time_us() const noexcept = 0;
44  }; // class input
45 
46 } // namespace bnb::player_api::interfaces
frame_data.hpp
frame_processor.hpp
bnb::player_api::interfaces::input
The interface is inherited by all classes that must work with the player, responsible for providing f...
Definition: input.hpp:28