Banuba SDK
Loading...
Searching...
No Matches
realtime_processor_mode.hpp
Go to the documentation of this file.
1/// \file
2/// \addtogroup EffectPlayer
3/// @{
4///
5// AUTOGENERATED FILE - DO NOT MODIFY!
6// This file was generated by Djinni from effect_player.djinni
7
8#pragma once
9
10#include <functional>
11
12namespace bnb { namespace interfaces {
13
14enum class realtime_processor_mode : int {
15 /** Synchronous mode. Frame drop not allowed, `pop` will block on processing. */
16 sync,
17 /**
18 * Synchronous mode when effect loaded. Frame drop not allowed.
19 * During effect loading `push` will forward frames to `pop`, `pop` will return SKIP.
20 * When effect loaded, `pop` will block on processing.
21 */
23 /**
24 * Asynchronous mode. Frame drop is allowed. `push` and `pop` do not block on processing.
25 * `push` can drop frames, if processor busy,
26 * `pop` can return EMPTY, if no processed frame data for now.
27 */
28 async,
29 /**
30 * Asynchronous mode. Frame drop is allowed. `push` and `pop` do not block on processing.
31 * During effect loading `push` will forward frames to `pop`, `pop` will return SKIP.
32 * When effect loaded, `push` can drop frames, if processor busy,
33 * `pop` can return EMPTY, if no processed frame data for now.
34 */
36 /**
37 * Asynchronous mode. Frame drop is allowed. `push` and `pop` do not block on processing.
38 * During processor bootstrap `push` will forward frames to `pop`, `pop` will return SKIP.
39 * When effect loaded, `push` can drop frames, if processor busy,
40 * `pop` can return EMPTY, if no processed frame data for now.
41 */
43};
44
45} } // namespace bnb::interfaces
46
47namespace std {
48
49template <>
51 size_t operator()(::bnb::interfaces::realtime_processor_mode type) const {
52 return std::hash<int>()(static_cast<int>(type));
53 }
54};
55
56} // namespace std
57/// @}
58
@ sync_when_effect_loaded
Synchronous mode when effect loaded.
@ async_when_effect_loaded
Asynchronous mode.