Twitch SDK (Internal)
broadcastlistener.h
Go to the documentation of this file.
1 /********************************************************************************************
2  * Twitch Broadcasting SDK
3  *
4  * This software is supplied under the terms of a license agreement with Twitch Interactive, Inc. and
5  * may not be copied or used except in accordance with the terms of that agreement
6  * Copyright (c) 2012-2016 Twitch Interactive, Inc.
7  *********************************************************************************************/
8 
9 #pragma once
10 
11 #include "twitchsdk/core/module.h"
13 
14 namespace ttv
15 {
16  namespace broadcast
17  {
18  class IBroadcastAPIListener;
19  class IIngestTesterListener;
20  class IngestTesterListenerProxy;
21  class IIngestTester;
22  class IBandwidthStatListener;
23  }
24 }
25 
26 
31 {
32 public:
45  virtual void BroadcastStateChanged(TTV_ErrorCode ec, BroadcastState state) = 0;
55  virtual void BroadcastBandwidthWarning(TTV_ErrorCode ec, uint32_t backupMilliseconds) = 0;
56  virtual void BroadcastFrameSubmissionIssue(TTV_ErrorCode ec) = 0;
64  virtual void StreamInfoFetched(TTV_ErrorCode ec, const StreamInfo& streamInfo) = 0;
65 };
66 
67 
72 {
73 public:
77  virtual void BroadcastIngestTesterStateChanged(IIngestTester* source) = 0;
78 };
79 
80 
85 {
86 public:
87  typedef std::function<void(IIngestTester* source)> OnStateChangedFunc;
88 
89 public:
90  // IIngestTesterListener implementation
91  virtual void BroadcastIngestTesterStateChanged(IIngestTester* source) override
92  {
93  if (mOnStateChangedFunc != nullptr)
94  {
95  mOnStateChangedFunc(source);
96  }
97  }
98 
99 public:
100  OnStateChangedFunc mOnStateChangedFunc;
101 };
102 
103 
108 {
109 public:
110  virtual void ReceivedBandwidthStat(const BandwidthStat& stat) = 0;
111 };
virtual void StreamInfoFetched(TTV_ErrorCode ec, const StreamInfo &streamInfo)=0
Definition: broadcastlistener.h:71
Definition: broadcasttypes.h:240
virtual void BroadcastStateChanged(TTV_ErrorCode ec, BroadcastState state)=0
virtual void BroadcastBandwidthWarning(TTV_ErrorCode ec, uint32_t backupMilliseconds)=0
Definition: broadcastlistener.h:107
virtual void BroadcastIngestTesterStateChanged(IIngestTester *source) override
Definition: broadcastlistener.h:91
Definition: coretypes.h:130
Definition: broadcastlistener.h:30
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
Definition: module.h:153
uint32_t TTV_ErrorCode
Definition: errortypes.h:30
std::function< void(IIngestTester *source)> OnStateChangedFunc
Definition: broadcastlistener.h:87
virtual void BroadcastFrameSubmissionIssue(TTV_ErrorCode ec)=0
BroadcastState
Definition: broadcasttypes.h:231
OnStateChangedFunc mOnStateChangedFunc
Definition: broadcastlistener.h:100
Definition: broadcastlistener.h:84
Definition: iingesttester.h:28