15 #include <unordered_set> 24 class SettingRepository;
29 class BroadcastApiInternalData;
30 class IBroadcastAPIListener;
31 class IIngestTesterListener;
32 class UserBroadcastStateHost;
40 class IBandwidthStatListener;
237 TTV_ErrorCode CreateIngestTester(
UserId userId,
const std::shared_ptr<IIngestTesterListener>& listener,
const uint8_t* testDataBuffer, uint32_t testDataLength, std::shared_ptr<IIngestTester>& result);
271 std::shared_ptr<Streamer>
CreateStreamer(
const std::shared_ptr<User>& user);
272 std::shared_ptr<TwitchAPI>
CreateTwitchAPI(
const std::shared_ptr<User>& user);
uint32_t UserId
Definition: coretypes.h:22
TTV_ErrorCode SetActiveUser(UserId userId)
TTV_ErrorCode StartBroadcast(StartBroadcastCallback &&callback)
TTV_ErrorCode SetSelectedIngestServer(const IngestServer &server)
TTV_ErrorCode SetVideoParams(const VideoParams &videoParams)
TTV_ErrorCode EnsureBroadcastingAndGetStreamer(std::shared_ptr< Streamer > &result)
TTV_ErrorCode SetAudioLayerMuted(AudioLayerId layer, bool muted)
TTV_ErrorCode StopBroadcast(const std::string &reason, StopBroadcastCallback &&callback)
TTV_ErrorCode AddBandwidthStatListener(const std::shared_ptr< IBandwidthStatListener > &listener)
virtual void CoreUserLoggedOut(std::shared_ptr< User > user)
std::function< void(TTV_ErrorCode ec)> SetStreamInfoCallback
Definition: broadcastapi.h:80
void SetBroadcastState(TTV_ErrorCode ec, BroadcastState state)
TTV_ErrorCode RemoveAudioCapturer(AudioLayerId layer)
std::shared_ptr< BroadcastApiInternalData > mInternalData
Definition: broadcastapi.h:281
TTV_ErrorCode GetVideoParams(VideoParams &videoParams)
uint32_t AudioLayerId
Definition: broadcasttypes.h:192
TTV_ErrorCode EnsureNotBroadcastingAndGetStreamer(std::shared_ptr< Streamer > &result)
TTV_ErrorCode SetSessionId(const std::string &sessionId)
TTV_ErrorCode SetBroadcasterSoftware(const std::string &str)
TTV_ErrorCode GetStreamer(std::shared_ptr< Streamer > &result)
std::function< void(TTV_ErrorCode ec)> InitializeCallback
Definition: module.h:48
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
virtual TTV_ErrorCode Update() override
TTV_ErrorCode SetAudioEncoder(const std::shared_ptr< IAudioEncoder > &encoder)
Definition: broadcastapi.h:248
TTV_ErrorCode SetStreamInfo(UserId userId, ChannelId channelId, const std::string &game, const std::string &title, SetStreamInfoCallback &&callback)
std::function< void(TTV_ErrorCode ec, std::vector< IngestServer > &&result)> FetchIngestListCallback
Definition: broadcastapi.h:78
TTV_ErrorCode GetCurrentBroadcastTime(uint64_t &broadcastTime)
ConnectionType
Definition: broadcasttypes.h:154
Definition: broadcasttypes.h:80
TTV_ErrorCode SetCustomMuxer(const std::shared_ptr< IMuxer > &muxer)
Definition: broadcasttypes.h:32
virtual TTV_ErrorCode Initialize(const InitializeCallback &callback) override
TTV_ErrorCode SetConnectionType(ConnectionType connectionType)
uint32_t TTV_ErrorCode
Definition: errortypes.h:30
CoreApiClient(BroadcastAPI *api)
TTV_ErrorCode BindToUser(const std::shared_ptr< User > &user)
std::function< void(TTV_ErrorCode ec)> ShutdownCallback
Definition: module.h:49
Definition: broadcastapi.h:73
TTV_ErrorCode GetBroadcastState(BroadcastState &result) const
TTV_ErrorCode SetAudioLayerEnabled(AudioLayerId layer, bool enabled)
TTV_ErrorCode RunCommercial(UserId userId, ChannelId channelId, uint32_t timebreakSeconds, RunCommercialCallback &&callback)
TTV_ErrorCode SetOutputPath(const std::wstring &outputPath)
std::function< void(TTV_ErrorCode ec)> RunCommercialCallback
Definition: broadcastapi.h:79
TTV_ErrorCode CreateIngestTester(UserId userId, const std::shared_ptr< IIngestTesterListener > &listener, const uint8_t *testDataBuffer, uint32_t testDataLength, std::shared_ptr< IIngestTester > &result)
BroadcastAPI * mApi
Definition: broadcastapi.h:260
std::shared_ptr< TwitchAPI > CreateTwitchAPI(const std::shared_ptr< User > &user)
virtual std::string GetClientName()
virtual void GetRequiredOAuthScopes(std::vector< std::string > &scopes)
virtual bool CheckShutdown() override
std::shared_ptr< CoreApiClient > mCoreApiClient
The client instance registered with CoreAPI.
Definition: broadcastapi.h:282
std::function< void(TTV_ErrorCode ec)> StartBroadcastCallback
Definition: broadcastapi.h:76
TTV_ErrorCode SetListener(const std::shared_ptr< IBroadcastAPIListener > &listener)
virtual void CompleteShutdown() override
TTV_ErrorCode SetAudioLayerVolume(AudioLayerId layer, float volume)
virtual std::string GetModuleName() const override
BroadcastState
Definition: broadcasttypes.h:231
uint32_t ChannelId
Definition: coretypes.h:23
static void GetRequiredAuthScopes(std::vector< std::string > &scopes)
virtual void CoreUserLoggedIn(std::shared_ptr< User > user)
TTV_ErrorCode SetCoreApi(const std::shared_ptr< CoreAPI > &coreApi)
TTV_ErrorCode DisposeIngestTester(const std::shared_ptr< IIngestTester > &ingestTester)
TTV_ErrorCode FetchIngestServerList(FetchIngestListCallback &&callback)
TTV_ErrorCode SetVideoCapturer(const std::shared_ptr< IVideoCapture > &capturer)
TTV_ErrorCode SetVideoEncoder(const std::shared_ptr< IVideoEncoder > &encoder)
std::function< void(TTV_ErrorCode ec)> StopBroadcastCallback
Definition: broadcastapi.h:77
TTV_ErrorCode RemoveBandwidthStatListener(const std::shared_ptr< IBandwidthStatListener > &listener)
TTV_ErrorCode GetSelectedIngestServer(IngestServer &result)
std::shared_ptr< Streamer > CreateStreamer(const std::shared_ptr< User > &user)
TTV_ErrorCode SetAudioCapturer(AudioLayerId layer, const std::shared_ptr< IAudioCapture > &capturer)
TTV_ErrorCode SetForceArchiveBroadcast(bool forceArchive)
virtual TTV_ErrorCode Shutdown(const ShutdownCallback &callback) override