Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
HttpAudioFetchCoordinator.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/audio/online_streaming/IOnlineAudioFetcherUpdateHandle.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace Audio { struct OnlineAudioFetcherUpdateInput; }
11namespace Audio { struct OnlineAudioFetcherUpdateOutput; }
12// clang-format on
13
14namespace Audio {
15
16class HttpAudioFetchCoordinator : public ::Audio::IOnlineAudioFetcherUpdateHandle,
17 public ::std::enable_shared_from_this<::Audio::HttpAudioFetchCoordinator> {
18public:
19 // HttpAudioFetchCoordinator inner types declare
20 // clang-format off
21 struct ActiveRequest;
22 // clang-format on
23
24 // HttpAudioFetchCoordinator inner types define
25 enum class FetchPhase : int {
26 Audio = 0,
27 InitializationData = 1,
28 };
29
30 struct ActiveRequest {
31 public:
32 // member variables
33 // NOLINTBEGIN
38 // NOLINTEND
39
40 public:
41 // prevent constructor by default
42 ActiveRequest& operator=(ActiveRequest const&);
43 ActiveRequest(ActiveRequest const&);
44 ActiveRequest();
45 };
46
47public:
48 // member variables
49 // NOLINTBEGIN
78 // NOLINTEND
79
80public:
81 // prevent constructor by default
82 HttpAudioFetchCoordinator& operator=(HttpAudioFetchCoordinator const&);
83 HttpAudioFetchCoordinator(HttpAudioFetchCoordinator const&);
84 HttpAudioFetchCoordinator();
85
86public:
87 // virtual functions
88 // NOLINTBEGIN
89 virtual ~HttpAudioFetchCoordinator() /*override*/ = default;
90
91 virtual ::Audio::OnlineAudioFetcherUpdateOutput update(
92 ::std::chrono::steady_clock::time_point currentTime,
94 ) /*override*/;
95 // NOLINTEND
96
97public:
98 // member functions
99 // NOLINTBEGIN
100#ifdef LL_PLAT_C
101 MCNAPI bool _isSeekTargetReady(::std::lock_guard<::std::mutex> const&) const;
102
103 MCNAPI void _processCompletedResponse(
104 ::std::lock_guard<::std::mutex> const&,
105 ::std::chrono::steady_clock::time_point currentTime
106 );
107
108 MCNAPI void _tryIssueRequest();
109
110 MCNAPI void stop();
111#endif
112 // NOLINTEND
113
114public:
115 // virtual function thunks
116 // NOLINTBEGIN
117#ifdef LL_PLAT_C
118 MCNAPI ::Audio::OnlineAudioFetcherUpdateOutput
119 $update(::std::chrono::steady_clock::time_point currentTime, ::Audio::OnlineAudioFetcherUpdateInput const& input);
120#endif
121
122
123 // NOLINTEND
124};
125
126} // namespace Audio
Definition IOnlineAudioFetcherUpdateHandle.h:13
Definition HttpAudioFetchCoordinator.h:30
Definition OnlineAudioFetcherUpdateInput.h:7
Definition OnlineAudioFetcherUpdateOutput.h:7
Definition Alias.h:14