Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
OnlineAudioStreamManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/UniqueOwnerPointer.h"
7#include "mc/deps/game_refs/WeakRef.h"
8#include "mc/platform/brstd/move_only_function.h"
9
10// auto generated forward declare list
11// clang-format off
12class TaskGroup;
13namespace Audio { class IOnlineAudioFetcher; }
14namespace Audio { class OnlineAudioEncryptionData; }
15namespace Audio { class OnlineAudioStream; }
16namespace Audio { class OnlineStreamedAudioBuffer; }
17namespace Audio { struct OnlineStreamConfig; }
18namespace Audio { struct OnlineStreamParams; }
19// clang-format on
20
21namespace Audio {
22
23class OnlineAudioStreamManager {
24public:
25 // member variables
26 // NOLINTBEGIN
36 // NOLINTEND
37
38public:
39 // prevent constructor by default
40 OnlineAudioStreamManager& operator=(OnlineAudioStreamManager const&);
41 OnlineAudioStreamManager(OnlineAudioStreamManager const&);
42 OnlineAudioStreamManager();
43
44public:
45 // member functions
46 // NOLINTBEGIN
47#ifdef LL_PLAT_C
48 MCNAPI OnlineAudioStreamManager(
50 ::brstd::move_only_function<::std::unique_ptr<::Audio::IOnlineAudioFetcher>(
51 ::std::string const&,
52 ::std::shared_ptr<::Audio::OnlineStreamedAudioBuffer>,
54 ::std::optional<::Audio::OnlineAudioEncryptionData>
55 )> fetcherFactory,
57 int maxConcurrentStreams
58 );
59
60 MCNAPI void _cleanupStoppedStreams();
61
62 MCNAPI ::WeakRef<::Audio::OnlineAudioStream>
63 createStream(::std::string const& url, ::Audio::OnlineStreamParams params);
64
65 MCNAPI void stopAll();
66
67 MCNAPI void update();
68
69 MCNAPI ~OnlineAudioStreamManager();
70#endif
71 // NOLINTEND
72
73public:
74 // constructor thunks
75 // NOLINTBEGIN
76#ifdef LL_PLAT_C
77 MCNAPI void* $ctor(
79 ::brstd::move_only_function<::std::unique_ptr<::Audio::IOnlineAudioFetcher>(
80 ::std::string const&,
81 ::std::shared_ptr<::Audio::OnlineStreamedAudioBuffer>,
83 ::std::optional<::Audio::OnlineAudioEncryptionData>
84 )> fetcherFactory,
86 int maxConcurrentStreams
87 );
88#endif
89 // NOLINTEND
90
91public:
92 // destructor thunk
93 // NOLINTBEGIN
94#ifdef LL_PLAT_C
95 MCNAPI void $dtor();
96#endif
97 // NOLINTEND
98};
99
100} // namespace Audio
Definition IOnlineAudioFetcher.h:14
Definition OnlineAudioEncryptionData.h:7
Definition OnlineAudioStream.h:7
Definition OnlineStreamedAudioBuffer.h:10
Definition UniqueOwnerPointer.h:11
Definition TaskGroup.h:85
Definition move_only_function.h:9
Definition OnlineStreamConfig.h:7
Definition OnlineStreamParams.h:7
Definition Alias.h:14