Twitch SDK (Internal)
broadcasterrortypes.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 
12 
16 const uint32_t TTV_MODULE_ID_TWITCH_BROADCAST = 4;
17 
18 
19 #define TTV_BROADCAST_ERROR_IDS \
20  /* Warnings */\
21  BEGIN_WARNING_IDS(TTV_WRN_BROADCAST_BEGIN_WARNINGS)\
22  USE_TTV_ERROR_ID(TTV_WRN_BROADCAST_NOMOREDATA)\
23  USE_TTV_ERROR_ID(TTV_WRN_BROADCAST_FAILED_TO_INIT_MIC_CAPTURE)\
24  USE_TTV_ERROR_ID(TTV_WRN_BROADCAST_FRAMES_QUEUEING)\
25  USE_TTV_ERROR_ID(TTV_WRN_BROADCAST_PREV_GAME_NAME_MATCH_REQUEST_DROPPED) \
26  USE_TTV_ERROR_ID(TTV_WRN_BROADCAST_STREAMINFO_PENDING) \
27  END_WARNING_IDS(TTV_WRN_BROADCAST_END_WARNINGS)\
28  \
29  /* Errors */\
30  BEGIN_ERROR_IDS(TTV_EC_BROADCAST_BEGIN_ERRORS)\
31  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_ALIGN16_REQUIRED)\
32  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_UNSUPPORTED_INPUT_FORMAT)\
33  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_UNSUPPORTED_OUTPUT_FORMAT)\
34  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_INVALID_RESOLUTION)\
35  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_INVALID_FPS)\
36  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_INVALID_BITRATE)\
37  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_INVALID_AUDIO_LAYER)\
38  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_INVALID_VIDEO_CAPTURER)\
39  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_ENCODE_FAILED)\
40  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_BUFFER_ALLOCATION_FAILED)\
41  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_FAILED_TO_INIT_SPEAKER_CAPTURE)\
42  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_FRAME_QUEUE_FULL)\
43  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_NO_STREAM_KEY)\
44  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_INVALID_VIDEOFRAME)\
45  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_NO_SPSPPS)\
46  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_NO_D3D_SUPPORT)\
47  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_NO_INGEST_SERVER_AVAILABLE)\
48  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_INVALID_INGEST_SERVER)\
49  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_INVALID_ENCODER)\
50  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_VIDEO_ENCODER_INIT_FAILED)\
51  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_AUDIO_ENCODER_INIT_FAILED)\
52  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_VIDEO_FRAME_SUBMISSION_FAILED)\
53  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_AUDIO_DEVICE_INIT_FAILED)\
54  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_AUDIO_BUFFER_TOO_BIG)\
55  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_AUDIO_PASSTHROUGH_NOT_ENABLED)\
56  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_INVALID_SAMPLERATE)\
57  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_X264_INVALID_PRESET)\
58  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_X264_INVALID_PROFILE)\
59  /*****/\
60  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_FLV_UNABLE_TO_OPEN_FILE)\
61  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_FLV_FILE_NOT_OPEN)\
62  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_FLV_UNSUPPORTED_AUDIO_RATE)\
63  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_FLV_UNSUPPORTED_AUDIO_IDC)\
64  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_FLV_UNSUPPORTED_AUDIO_CODEC)\
65  /*****/\
66  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_RTMP_REJECTED)\
67  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_RTMP_WRONG_PROTOCOL_IN_URL)\
68  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_RTMP_UNABLE_TO_SEND_DATA)\
69  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_RTMP_INVALID_FLV_PACKET)\
70  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_RTMP_TIMEOUT)\
71  /* Mac audio capture */\
72  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_MAC_INPUT_Q_SETUP_FAILED)\
73  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_MAC_INPUT_Q_BUFFER_SETUP_FAILED)\
74  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_MAC_INPUT_Q_START_FAILED)\
75  /*****************************/\
76  /* Intel encoder */\
77  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_INTEL_FAILED_SESSION_INIT)\
78  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_INTEL_FAILED_VPP_INIT)\
79  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_INTEL_FAILED_ENCODER_INIT)\
80  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_INTEL_FAILED_SURFACE_ALLOCATION)\
81  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_INTEL_FAILED_TASKPOLL_INIT)\
82  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_INTEL_NO_FREE_TASK)\
83  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_INTEL_NO_FREE_SURFACE)\
84  /*****************************/\
85  /*****************************/\
86  /* lame mp3 encoder */\
87  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_LAMEMP3_FAILED_INIT)\
88  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_LAMEMP3_FAILED_SHUTDOWN)\
89  /*****************************/\
90  /* Apple aac encoder */\
91  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_APPLEAAC_FAILED_INIT)\
92  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_APPLEAAC_FAILED_ENCODING)\
93  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_APPLEAAC_FAILED_SHUTDOWN)\
94  /*****************************/\
95  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_INVALID_SUBMISSION_METHOD)\
96  \
97  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_STREAM_ALREADY_STARTED) \
98  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_STREAM_NOT_STARTED) \
99  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_FRAME_QUEUE_TOO_LONG) \
100  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_GRAPHICS_API_ERROR) \
101  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_METADATA_CACHE_FULL) \
102  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_SOUNDFLOWER_NOT_INSTALLED) \
103  USE_TTV_ERROR_ID(TTV_EC_BROADCAST_NO_ENCODER_PLUGIN) \
104  END_ERROR_IDS(TTV_EC_BROADCAST_END_ERRORS)\
105 
106 
107 #define USE_TTV_ERROR_ID(ec) ec,
108 #define USE_TTV_WARNING_ID(ec) ec,
109 #define USE_TTV_SUCCESS_ID(ec) ec = 0,
110 #define BEGIN_WARNING_IDS(ec) ec = CONSTRUCT_WARNING_ID_VALUE(TTV_MODULE_ID_TWITCH_BROADCAST, -1000),
111 #define END_WARNING_IDS(ec) ec,
112 #define BEGIN_ERROR_IDS(ec) ec = CONSTRUCT_ERROR_ID_VALUE(TTV_MODULE_ID_TWITCH_BROADCAST, 1),
113 #define END_ERROR_IDS(ec) ec
114 
118 typedef enum
119 {
121 
123 
124 #undef BEGIN_ERROR_IDS
125 #undef END_ERROR_IDS
126 #undef BEGIN_WARNING_IDS
127 #undef END_WARNING_IDS
128 #undef USE_TTV_SUCCESS_ID
129 #undef USE_TTV_WARNING_ID
130 #undef USE_TTV_ERROR_ID
131 
132 
133 namespace ttv
134 {
135  namespace broadcast
136  {
140  const char* BroadcastErrorToString(TTV_ErrorCode ec);
141 
142  void GetBroadcastErrorCodeValues(std::vector<EnumValue>& result);
143  }
144 }
#define TTV_BROADCAST_ERROR_IDS
Definition: broadcasterrortypes.h:19
void GetBroadcastErrorCodeValues(std::vector< EnumValue > &result)
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
const uint32_t TTV_MODULE_ID_TWITCH_BROADCAST
Definition: broadcasterrortypes.h:16
uint32_t TTV_ErrorCode
Definition: errortypes.h:30
const char * BroadcastErrorToString(TTV_ErrorCode ec)
TTV_BroadcastErrorId
Definition: broadcasterrortypes.h:118