Twitch SDK (Internal)
iingesttester.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 
13 #include <functional>
14 #include <memory>
15 
16 namespace ttv
17 {
18  namespace broadcast
19  {
20  class IIngestTester;
21  class IVideoEncoder;
22  }
23 }
24 
29 {
30 public:
31  enum class TestState
32  {
33  Stopped, // Start has not yet been called
34  Connecting, // Connecting to the ingest server
35  Testing, // Testing the server
36  Disconnecting, // Disconnecting from the server
37  Finished, // Successfully finished the testing
38  Failed // The test failed for some reason and has stopped
39  };
40 
41 public:
42  virtual ~IIngestTester();
46  virtual TTV_ErrorCode GetTestState(TestState& result) const = 0;
50  virtual TTV_ErrorCode GetIngestServer(IngestServer& result) const = 0;
54  virtual TTV_ErrorCode Start(const IngestServer& ingestServer) = 0;
58  virtual TTV_ErrorCode Cancel() = 0;
62  virtual TTV_ErrorCode GetMeasuredKbps(uint32_t& result) = 0;
66  virtual TTV_ErrorCode GetTestError(TTV_ErrorCode& result) = 0;
70  virtual TTV_ErrorCode SetTestDurationMilliseconds(uint64_t duration) = 0;
74  virtual TTV_ErrorCode GetTestDurationMilliseconds(uint64_t& result) const = 0;
78  virtual TTV_ErrorCode GetProgress(float& result) const = 0;
82  virtual TTV_ErrorCode GetUserId(UserId& result) const = 0;
83 };
uint32_t UserId
Definition: coretypes.h:22
virtual TTV_ErrorCode GetIngestServer(IngestServer &result) const =0
virtual TTV_ErrorCode GetTestDurationMilliseconds(uint64_t &result) const =0
virtual TTV_ErrorCode Start(const IngestServer &ingestServer)=0
virtual TTV_ErrorCode GetMeasuredKbps(uint32_t &result)=0
virtual TTV_ErrorCode GetUserId(UserId &result) const =0
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
virtual TTV_ErrorCode GetTestError(TTV_ErrorCode &result)=0
Definition: broadcasttypes.h:32
uint32_t TTV_ErrorCode
Definition: errortypes.h:30
virtual TTV_ErrorCode Cancel()=0
virtual TTV_ErrorCode GetTestState(TestState &result) const =0
TestState
Definition: iingesttester.h:31
virtual TTV_ErrorCode SetTestDurationMilliseconds(uint64_t duration)=0
virtual TTV_ErrorCode GetProgress(float &result) const =0
Definition: iingesttester.h:28