wsc_sdk 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/config.yml +146 -0
  3. data/.circleci/docker/build/Dockerfile +3 -0
  4. data/.circleci/helpers/add_preamble.rb +29 -0
  5. data/.circleci/helpers/build_docs.sh +5 -0
  6. data/.circleci/helpers/build_gem.sh +5 -0
  7. data/.circleci/helpers/debundle-context.sh +14 -0
  8. data/.circleci/helpers/finalize_release.sh +24 -0
  9. data/.circleci/helpers/publish_docs.sh +10 -0
  10. data/.circleci/helpers/release_gem.sh +8 -0
  11. data/.circleci/helpers/setup.sh +11 -0
  12. data/.circleci/helpers/setup_aws.sh +13 -0
  13. data/.circleci/helpers/setup_gem.sh +2 -0
  14. data/.circleci/helpers/setup_git.sh +27 -0
  15. data/.circleci/helpers/setup_rubygems.sh +15 -0
  16. data/.circleci/helpers/test_integration.sh +12 -0
  17. data/.circleci/helpers/test_unit.sh +6 -0
  18. data/.circleci/jobs/publish-production.sh +17 -0
  19. data/.circleci/jobs/publish-staging.sh +17 -0
  20. data/.circleci/jobs/release-production.sh +21 -0
  21. data/.circleci/jobs/test-integration.sh +9 -0
  22. data/.circleci/jobs/test-unit.sh +9 -0
  23. data/.circleci/tag_repo.rb +46 -0
  24. data/.gitignore +28 -0
  25. data/.rspec +2 -0
  26. data/.yard/config +2 -0
  27. data/.yard/template/default/fulldoc/html/css/custom.css +151 -0
  28. data/.yard/template/default/layout/html/footer.erb +0 -0
  29. data/.yard/template/default/layout/html/headers.erb +10 -0
  30. data/.yard/template/default/layout/html/layout.erb +45 -0
  31. data/.yard/template/default/layout/html/setup.rb +24 -0
  32. data/.yardopts +1 -0
  33. data/CODE_OF_CONDUCT.md +74 -0
  34. data/Gemfile +6 -0
  35. data/Gemfile.lock +99 -0
  36. data/LICENSE.txt +28 -0
  37. data/README.md +397 -0
  38. data/Rakefile +2 -0
  39. data/bin/console +14 -0
  40. data/bin/setup +8 -0
  41. data/doc/Hash.html +291 -0
  42. data/doc/WscSdk.html +570 -0
  43. data/doc/WscSdk/ApiResponse.html +242 -0
  44. data/doc/WscSdk/Attributes.html +128 -0
  45. data/doc/WscSdk/Attributes/Mode.html +191 -0
  46. data/doc/WscSdk/Attributes/Type.html +389 -0
  47. data/doc/WscSdk/Client.html +2677 -0
  48. data/doc/WscSdk/Configuration.html +595 -0
  49. data/doc/WscSdk/Endpoint.html +2974 -0
  50. data/doc/WscSdk/Endpoints.html +141 -0
  51. data/doc/WscSdk/Endpoints/CustomStreamTargets.html +383 -0
  52. data/doc/WscSdk/Endpoints/LiveStreams.html +197 -0
  53. data/doc/WscSdk/Endpoints/OutputStreamTargets.html +180 -0
  54. data/doc/WscSdk/Endpoints/Outputs.html +180 -0
  55. data/doc/WscSdk/Endpoints/StreamTargets.html +446 -0
  56. data/doc/WscSdk/Endpoints/Transcoders.html +197 -0
  57. data/doc/WscSdk/Endpoints/UllStreamTargets.html +383 -0
  58. data/doc/WscSdk/Endpoints/WowzaStreamTargets.html +383 -0
  59. data/doc/WscSdk/Enum.html +225 -0
  60. data/doc/WscSdk/Enums.html +321 -0
  61. data/doc/WscSdk/Enums/BillingMode.html +188 -0
  62. data/doc/WscSdk/Enums/BroadcastLocation.html +396 -0
  63. data/doc/WscSdk/Enums/BufferSize.html +301 -0
  64. data/doc/WscSdk/Enums/ClosedCaptionType.html +221 -0
  65. data/doc/WscSdk/Enums/CustomProvider.html +252 -0
  66. data/doc/WscSdk/Enums/DeliveryMethod.html +188 -0
  67. data/doc/WscSdk/Enums/DeliveryType.html +188 -0
  68. data/doc/WscSdk/Enums/Encoder.html +460 -0
  69. data/doc/WscSdk/Enums/Errors.html +555 -0
  70. data/doc/WscSdk/Enums/IdleTimeout.html +398 -0
  71. data/doc/WscSdk/Enums/ImagePosition.html +220 -0
  72. data/doc/WscSdk/Enums/ModelMode.html +175 -0
  73. data/doc/WscSdk/Enums/ModelType.html +373 -0
  74. data/doc/WscSdk/Enums/PlayerType.html +188 -0
  75. data/doc/WscSdk/Enums/Protocol.html +204 -0
  76. data/doc/WscSdk/Enums/TargetDeliveryProtocol.html +188 -0
  77. data/doc/WscSdk/Enums/TranscoderType.html +188 -0
  78. data/doc/WscSdk/Enums/UserRegion.html +383 -0
  79. data/doc/WscSdk/Enums/WowzaProvider.html +188 -0
  80. data/doc/WscSdk/Errors.html +683 -0
  81. data/doc/WscSdk/Loggable.html +346 -0
  82. data/doc/WscSdk/Model.html +3316 -0
  83. data/doc/WscSdk/ModelList.html +442 -0
  84. data/doc/WscSdk/ModelTemplate.html +267 -0
  85. data/doc/WscSdk/Models.html +141 -0
  86. data/doc/WscSdk/Models/CustomStreamTarget.html +192 -0
  87. data/doc/WscSdk/Models/Error.html +351 -0
  88. data/doc/WscSdk/Models/LiveStream.html +601 -0
  89. data/doc/WscSdk/Models/LiveStreamConnectionCode.html +192 -0
  90. data/doc/WscSdk/Models/LiveStreamState.html +200 -0
  91. data/doc/WscSdk/Models/LiveStreamStats.html +200 -0
  92. data/doc/WscSdk/Models/LiveStreamThumbnailUrl.html +200 -0
  93. data/doc/WscSdk/Models/Output.html +294 -0
  94. data/doc/WscSdk/Models/OutputStreamTarget.html +274 -0
  95. data/doc/WscSdk/Models/StreamTarget.html +273 -0
  96. data/doc/WscSdk/Models/Transcoder.html +793 -0
  97. data/doc/WscSdk/Models/TranscoderBooleanStat.html +278 -0
  98. data/doc/WscSdk/Models/TranscoderConnectionCode.html +192 -0
  99. data/doc/WscSdk/Models/TranscoderFloatStat.html +278 -0
  100. data/doc/WscSdk/Models/TranscoderIntegerStat.html +278 -0
  101. data/doc/WscSdk/Models/TranscoderState.html +196 -0
  102. data/doc/WscSdk/Models/TranscoderStats.html +196 -0
  103. data/doc/WscSdk/Models/TranscoderStreamTargetState.html +192 -0
  104. data/doc/WscSdk/Models/TranscoderStringStat.html +278 -0
  105. data/doc/WscSdk/Models/TranscoderThumbnailUrl.html +196 -0
  106. data/doc/WscSdk/Models/UllStreamTarget.html +360 -0
  107. data/doc/WscSdk/Models/WowzaStreamTarget.html +380 -0
  108. data/doc/WscSdk/Pagination.html +1277 -0
  109. data/doc/WscSdk/Schema.html +861 -0
  110. data/doc/WscSdk/SchemaAttribute.html +2400 -0
  111. data/doc/WscSdk/Templates.html +141 -0
  112. data/doc/WscSdk/Templates/CustomStreamTarget.html +1045 -0
  113. data/doc/WscSdk/Templates/LiveStream.html +1432 -0
  114. data/doc/WscSdk/Templates/Output.html +829 -0
  115. data/doc/WscSdk/Templates/Transcoder.html +699 -0
  116. data/doc/WscSdk/Templates/UllStreamTarget.html +411 -0
  117. data/doc/WscSdk/Templates/WowzaStreamTarget.html +447 -0
  118. data/doc/WscSdk/TranscoderSharedMethods.html +1113 -0
  119. data/doc/_index.html +705 -0
  120. data/doc/class_list.html +51 -0
  121. data/doc/css/bootstrap.css +5 -0
  122. data/doc/css/common.css +1 -0
  123. data/doc/css/custom.css +151 -0
  124. data/doc/css/full_list.css +58 -0
  125. data/doc/css/style.css +496 -0
  126. data/doc/file.README.html +570 -0
  127. data/doc/file_list.html +56 -0
  128. data/doc/frames.html +17 -0
  129. data/doc/images/wsc-ruby-1800x400.png +0 -0
  130. data/doc/index.html +570 -0
  131. data/doc/js/app.js +292 -0
  132. data/doc/js/full_list.js +216 -0
  133. data/doc/js/jquery.js +4 -0
  134. data/doc/method_list.html +1731 -0
  135. data/doc/top-level-namespace.html +182 -0
  136. data/examples/client.rb +40 -0
  137. data/examples/helpers.rb +100 -0
  138. data/examples/live_streams/create.rb +39 -0
  139. data/examples/live_streams/delete.rb +32 -0
  140. data/examples/live_streams/find.rb +22 -0
  141. data/examples/live_streams/flood.rb +126 -0
  142. data/examples/live_streams/list.rb +24 -0
  143. data/examples/live_streams/regenerate_connection_code.rb +29 -0
  144. data/examples/live_streams/reset.rb +32 -0
  145. data/examples/live_streams/reset_and_wait.rb +51 -0
  146. data/examples/live_streams/start.rb +33 -0
  147. data/examples/live_streams/start_and_wait.rb +51 -0
  148. data/examples/live_streams/state.rb +33 -0
  149. data/examples/live_streams/stats.rb +43 -0
  150. data/examples/live_streams/stop.rb +33 -0
  151. data/examples/live_streams/stop_and_wait.rb +51 -0
  152. data/examples/live_streams/thumbnail_url.rb +46 -0
  153. data/examples/live_streams/update.rb +43 -0
  154. data/examples/live_streams/workflow.rb +165 -0
  155. data/examples/output_stream_targets/create.rb +56 -0
  156. data/examples/output_stream_targets/delete.rb +45 -0
  157. data/examples/output_stream_targets/find.rb +37 -0
  158. data/examples/output_stream_targets/list.rb +36 -0
  159. data/examples/output_stream_targets/update.rb +56 -0
  160. data/examples/outputs/create.rb +49 -0
  161. data/examples/outputs/delete.rb +39 -0
  162. data/examples/outputs/find.rb +31 -0
  163. data/examples/outputs/list.rb +29 -0
  164. data/examples/outputs/update.rb +50 -0
  165. data/examples/stream_targets/custom/create.rb +42 -0
  166. data/examples/stream_targets/custom/delete.rb +31 -0
  167. data/examples/stream_targets/custom/find.rb +23 -0
  168. data/examples/stream_targets/custom/list.rb +24 -0
  169. data/examples/stream_targets/custom/update.rb +43 -0
  170. data/examples/stream_targets/list.rb +24 -0
  171. data/examples/stream_targets/ull/create.rb +41 -0
  172. data/examples/stream_targets/ull/delete.rb +31 -0
  173. data/examples/stream_targets/ull/find.rb +23 -0
  174. data/examples/stream_targets/ull/list.rb +24 -0
  175. data/examples/stream_targets/ull/update.rb +43 -0
  176. data/examples/stream_targets/wowza/create.rb +42 -0
  177. data/examples/stream_targets/wowza/delete.rb +31 -0
  178. data/examples/stream_targets/wowza/find.rb +23 -0
  179. data/examples/stream_targets/wowza/list.rb +23 -0
  180. data/examples/stream_targets/wowza/update.rb +43 -0
  181. data/examples/transcoders/create.rb +39 -0
  182. data/examples/transcoders/delete.rb +31 -0
  183. data/examples/transcoders/find.rb +23 -0
  184. data/examples/transcoders/list.rb +24 -0
  185. data/examples/transcoders/reset.rb +32 -0
  186. data/examples/transcoders/reset_and_wait.rb +48 -0
  187. data/examples/transcoders/start.rb +33 -0
  188. data/examples/transcoders/start_and_wait.rb +50 -0
  189. data/examples/transcoders/state.rb +33 -0
  190. data/examples/transcoders/stats.rb +43 -0
  191. data/examples/transcoders/stop.rb +33 -0
  192. data/examples/transcoders/stop_and_wait.rb +50 -0
  193. data/examples/transcoders/thumbnail_url.rb +46 -0
  194. data/examples/transcoders/update.rb +43 -0
  195. data/images/wsc-ruby-1800x400.png +0 -0
  196. data/lib/wsc_sdk.rb +81 -0
  197. data/lib/wsc_sdk/client.rb +417 -0
  198. data/lib/wsc_sdk/configuration.rb +21 -0
  199. data/lib/wsc_sdk/constants.rb +29 -0
  200. data/lib/wsc_sdk/endpoint.rb +492 -0
  201. data/lib/wsc_sdk/endpoints/custom_stream_targets.rb +44 -0
  202. data/lib/wsc_sdk/endpoints/live_streams.rb +34 -0
  203. data/lib/wsc_sdk/endpoints/output_stream_targets.rb +17 -0
  204. data/lib/wsc_sdk/endpoints/outputs.rb +17 -0
  205. data/lib/wsc_sdk/endpoints/stream_targets.rb +45 -0
  206. data/lib/wsc_sdk/endpoints/transcoders.rb +38 -0
  207. data/lib/wsc_sdk/endpoints/ull_stream_targets.rb +44 -0
  208. data/lib/wsc_sdk/endpoints/wowza_stream_targets.rb +44 -0
  209. data/lib/wsc_sdk/enums.rb +31 -0
  210. data/lib/wsc_sdk/enums/billing_mode.rb +20 -0
  211. data/lib/wsc_sdk/enums/broadcast_location.rb +58 -0
  212. data/lib/wsc_sdk/enums/buffer_size.rb +41 -0
  213. data/lib/wsc_sdk/enums/closed_caption_type.rb +26 -0
  214. data/lib/wsc_sdk/enums/custom_provider.rb +32 -0
  215. data/lib/wsc_sdk/enums/delivery_method.rb +20 -0
  216. data/lib/wsc_sdk/enums/delivery_type.rb +20 -0
  217. data/lib/wsc_sdk/enums/encoder.rb +71 -0
  218. data/lib/wsc_sdk/enums/idle_timeout.rb +50 -0
  219. data/lib/wsc_sdk/enums/image_position.rb +26 -0
  220. data/lib/wsc_sdk/enums/player_type.rb +20 -0
  221. data/lib/wsc_sdk/enums/protocol.rb +23 -0
  222. data/lib/wsc_sdk/enums/target_delivery_protocol.rb +20 -0
  223. data/lib/wsc_sdk/enums/transcoder_type.rb +20 -0
  224. data/lib/wsc_sdk/enums/wowza_provider.rb +20 -0
  225. data/lib/wsc_sdk/errors.rb +115 -0
  226. data/lib/wsc_sdk/model.rb +515 -0
  227. data/lib/wsc_sdk/model_list.rb +42 -0
  228. data/lib/wsc_sdk/model_template.rb +27 -0
  229. data/lib/wsc_sdk/models/custom_stream_target.rb +34 -0
  230. data/lib/wsc_sdk/models/error.rb +53 -0
  231. data/lib/wsc_sdk/models/live_stream.rb +130 -0
  232. data/lib/wsc_sdk/models/live_stream_connection_code.rb +31 -0
  233. data/lib/wsc_sdk/models/live_stream_state.rb +20 -0
  234. data/lib/wsc_sdk/models/live_stream_stats.rb +20 -0
  235. data/lib/wsc_sdk/models/live_stream_thumbnail_url.rb +20 -0
  236. data/lib/wsc_sdk/models/output.rb +61 -0
  237. data/lib/wsc_sdk/models/output_stream_target.rb +37 -0
  238. data/lib/wsc_sdk/models/stream_target.rb +29 -0
  239. data/lib/wsc_sdk/models/transcoder.rb +135 -0
  240. data/lib/wsc_sdk/models/transcoder_boolean_stat.rb +41 -0
  241. data/lib/wsc_sdk/models/transcoder_connection_code.rb +29 -0
  242. data/lib/wsc_sdk/models/transcoder_float_stat.rb +40 -0
  243. data/lib/wsc_sdk/models/transcoder_integer_stat.rb +40 -0
  244. data/lib/wsc_sdk/models/transcoder_state.rb +31 -0
  245. data/lib/wsc_sdk/models/transcoder_stats.rb +51 -0
  246. data/lib/wsc_sdk/models/transcoder_stream_target_state.rb +29 -0
  247. data/lib/wsc_sdk/models/transcoder_string_stat.rb +40 -0
  248. data/lib/wsc_sdk/models/transcoder_thumbnail_url.rb +29 -0
  249. data/lib/wsc_sdk/models/ull_stream_target.rb +54 -0
  250. data/lib/wsc_sdk/models/wowza_stream_target.rb +60 -0
  251. data/lib/wsc_sdk/modules/api_response.rb +24 -0
  252. data/lib/wsc_sdk/modules/loggable.rb +44 -0
  253. data/lib/wsc_sdk/modules/transcoder_shared_methods.rb +221 -0
  254. data/lib/wsc_sdk/pagination.rb +89 -0
  255. data/lib/wsc_sdk/schema.rb +140 -0
  256. data/lib/wsc_sdk/schema_attribute.rb +349 -0
  257. data/lib/wsc_sdk/templates/custom_stream_target.rb +154 -0
  258. data/lib/wsc_sdk/templates/live_stream.rb +234 -0
  259. data/lib/wsc_sdk/templates/output.rb +133 -0
  260. data/lib/wsc_sdk/templates/transcoder.rb +97 -0
  261. data/lib/wsc_sdk/templates/ull_stream_target.rb +49 -0
  262. data/lib/wsc_sdk/templates/wowza_stream_target.rb +57 -0
  263. data/lib/wsc_sdk/version.rb +7 -0
  264. data/wsc_sdk.gemspec +48 -0
  265. metadata +460 -0
@@ -0,0 +1,24 @@
1
+ ####> This code and all components © 2015 – 2019 Wowza Media Systems, LLC. All rights reserved.
2
+ ####> This code is licensed pursuant to the BSD 3-Clause License.
3
+
4
+ require "wsc_sdk"
5
+ require_relative "../client" # Get our client
6
+ require_relative "../helpers" # Include some helpers to make the code more direct
7
+
8
+ # Ensure the args passed in are present, if not ask for them.
9
+ arguments = ask_for_arguments(__FILE__, { pagination_page: 1, pagination_per_page: 25 })
10
+
11
+ # Extract some data into convenience variables
12
+ live_streams = $client.live_streams
13
+ page = arguments[0] # First argument is the page number (default: 1)
14
+ per_page = arguments[1] # Second argument is the items per page (default: 25, max: 1000)
15
+
16
+ # Request the list of live_streams using pagination
17
+ list = live_streams.list(pagination: { page: page.to_i, per_page: per_page.to_i })
18
+
19
+ # Handle an API error (in the helpers.rb file)
20
+ handle_api_error(list, "There was an error retrieving the list of live streams") unless list.success?
21
+
22
+ # Output the list of live_streams
23
+ # Defined in helpers.rb
24
+ output_model_list(list, "Live Streams: #{list.keys.length}", true, :name)
@@ -0,0 +1,29 @@
1
+ ####> This code and all components © 2015 – 2019 Wowza Media Systems, LLC. All rights reserved.
2
+ ####> This code is licensed pursuant to the BSD 3-Clause License.
3
+
4
+ require "wsc_sdk"
5
+ require_relative "../client" # Get our client
6
+ require_relative "../helpers" # Include some helpers to make the code more direct
7
+
8
+ # Ensure the args passed in are present
9
+ arguments = ask_for_arguments(__FILE__, live_stream_id: nil)
10
+
11
+ # Extract some data into convenience variables
12
+ live_streams = $client.live_streams
13
+ live_stream_id = arguments[0]
14
+
15
+ # Request the live_stream object
16
+ live_stream = live_streams.find(live_stream_id)
17
+
18
+ # Handle an API error (in the helpers.rb file)
19
+ handle_api_error(live_stream, "There was an error finding the live stream") unless live_stream.success?
20
+
21
+ # Regenerate the connection code
22
+ connection_code = live_stream.regenerate_connection_code
23
+
24
+ # Handle an API error (in the helpers.rb file)
25
+ handle_api_error(connection_code, "There was an error regenerating the connection code") unless connection_code.success?
26
+
27
+ # Output the live_stream connection code
28
+ # Defined in the helpers.rb file.
29
+ output_model_attributes(connection_code, "Live Stream Connection Code:")
@@ -0,0 +1,32 @@
1
+ ####> This code and all components © 2015 – 2019 Wowza Media Systems, LLC. All rights reserved.
2
+ ####> This code is licensed pursuant to the BSD 3-Clause License.
3
+
4
+ require "wsc_sdk"
5
+ require_relative "../client" # Get our client
6
+ require_relative "../helpers" # Include some helpers to make the code more direct
7
+
8
+ # Ensure the args passed in are present
9
+ arguments = ask_for_arguments(__FILE__, live_stream_id: nil)
10
+
11
+ # Extract some data into convenience variables
12
+ live_streams = $client.live_streams
13
+ live_stream_id = arguments[0]
14
+
15
+ # Request the live_stream object
16
+ live_stream = live_streams.find(live_stream_id)
17
+
18
+ # Handle an API error (in the helpers.rb file)
19
+ handle_api_error(live_stream, "There was an error finding the live stream") unless live_stream.success?
20
+
21
+ # Get the result of resetting the live_stream
22
+ #
23
+ # NOTE: You can also reset and wait for the live_stream state to transition to
24
+ # a reset state. See the `reset_and_wait` example.
25
+ state = live_stream.reset
26
+
27
+ # Handle an API error (in the helpers.rb file)
28
+ handle_api_error(state, "There was an error resetting the live stream") unless state.success?
29
+
30
+ # Output the final state of the live stream
31
+ # Defined in the helpers.rb file.
32
+ output_model_attributes(state, "Live Stream State:")
@@ -0,0 +1,51 @@
1
+ ####> This code and all components © 2015 – 2019 Wowza Media Systems, LLC. All rights reserved.
2
+ ####> This code is licensed pursuant to the BSD 3-Clause License.
3
+
4
+ require "wsc_sdk"
5
+ require_relative "../client" # Get our client
6
+ require_relative "../helpers" # Include some helpers to make the code more direct
7
+
8
+ # Ensure the args passed in are present
9
+ arguments = ask_for_arguments(__FILE__, live_stream_id: nil)
10
+
11
+ # Extract some data into convenience variables
12
+ live_streams = $client.live_streams
13
+ live_stream_id = arguments[0]
14
+
15
+ # Request the live_stream object
16
+ live_stream = live_streams.find(live_stream_id)
17
+
18
+ # Handle an API error (in the helpers.rb file)
19
+ handle_api_error(live_stream, "There was an error finding the live stream") unless live_stream.success?
20
+
21
+ # Get the result of resetting the live_stream. We add a code block, which
22
+ # instructs the SDK to enter a wait loop and periodically polls the API
23
+ # for the live_stream state until either the `started` state is returned or
24
+ # the timeout period is reached.
25
+ state = live_stream.reset do |wait_state, live_stream_state|
26
+
27
+ # This code will execute each time the state of the live_stream is polled
28
+ # during the wait loop. You can check the wait_state to determine what the
29
+ # outcomes of each request are.
30
+
31
+ if wait_state == :waiting
32
+ # We're still waiting for the started state to be returned
33
+ puts "Waiting..."
34
+ elsif wait_state == :complete
35
+ # We've successfully reset the live_stream, so output the state
36
+ # Defined in the helpers.rb file.
37
+ output_model_attributes(live_stream_state, "Completed Live Stream State:")
38
+ elsif wait_state == :timeout
39
+ # A timeout occurs if the reset state isn't reached within the timeout
40
+ # limit, which defaults to 30 seconds.
41
+
42
+ puts "TIMEOUT: Could not reset the live_stream within the timeout period."
43
+ end
44
+ end
45
+
46
+ # Handle an API error (in the helpers.rb file)
47
+ handle_api_error(state, "There was an error starting the live stream") unless state.success?
48
+
49
+ # Output the final state of the live stream
50
+ # Defined in the helpers.rb file.
51
+ output_model_attributes(state, "Live Stream State:")
@@ -0,0 +1,33 @@
1
+ ####> This code and all components © 2015 – 2019 Wowza Media Systems, LLC. All rights reserved.
2
+ ####> This code is licensed pursuant to the BSD 3-Clause License.
3
+
4
+ require "wsc_sdk"
5
+ require_relative "../client" # Get our client
6
+ require_relative "../helpers" # Include some helpers to make the code more direct
7
+
8
+ # Ensure the args passed in are present
9
+ arguments = ask_for_arguments(__FILE__, live_stream_id: nil)
10
+
11
+ # Extract some data into convenience variables
12
+ live_streams = $client.live_streams
13
+ live_stream_id = arguments[0]
14
+
15
+ # Request the live_stream object
16
+ live_stream = live_streams.find(live_stream_id)
17
+
18
+ # Handle an API error (in the helpers.rb file)
19
+ handle_api_error(live_stream, "There was an error finding the live stream") unless live_stream.success?
20
+
21
+ # Get the result of starting the live_stream
22
+ #
23
+ # NOTE: You can also start and wait for the live_stream state to transition to
24
+ # a started state. See the `start_and_wait` example.
25
+ #
26
+ state = live_stream.start
27
+
28
+ # Handle an API error (in the helpers.rb file)
29
+ handle_api_error(state, "There was an error starting the live stream") unless state.success?
30
+
31
+ # Output the live_stream state
32
+ # Defined in helper.rb
33
+ output_model_attributes(state, "Live Stream State:")
@@ -0,0 +1,51 @@
1
+ ####> This code and all components © 2015 – 2019 Wowza Media Systems, LLC. All rights reserved.
2
+ ####> This code is licensed pursuant to the BSD 3-Clause License.
3
+
4
+ require "wsc_sdk"
5
+ require_relative "../client" # Get our client
6
+ require_relative "../helpers" # Include some helpers to make the code more direct
7
+
8
+ # Ensure the args passed in are present
9
+ arguments = ask_for_arguments(__FILE__, live_stream_id: nil)
10
+
11
+ # Extract some data into convenience variables
12
+ live_streams = $client.live_streams
13
+ live_stream_id = arguments[0]
14
+
15
+ # Request the live_stream object
16
+ live_stream = live_streams.find(live_stream_id)
17
+
18
+ # Handle an API error (in the helpers.rb file)
19
+ handle_api_error(live_stream, "There was an error finding the live stream") unless live_stream.success?
20
+
21
+ # Get the result of starting the live_stream. We add a code block, which
22
+ # instructs the SDK to enter a wait loop, and periodically polls the API
23
+ # for the live_stream state until either the `started` state is returned or
24
+ # the timeout period is reached.
25
+ state = live_stream.start do |wait_state, live_stream_state|
26
+
27
+ # This code will execute each time the state of the live_stream is polled
28
+ # during the wait loop. You can check the wait_state to determine what the
29
+ # outcomes of each request are.
30
+
31
+ if wait_state == :waiting
32
+ # We're still waiting for the started state to be returned
33
+ puts "Waiting..."
34
+ elsif wait_state == :complete
35
+ # We've successfully started the live_stream, output the state
36
+ # Defined in the helpers.rb file.
37
+ output_model_attributes(live_stream_state, "Completed Live Stream State:")
38
+ elsif wait_state == :timeout
39
+ # A timeout occurs if the start state isn't reached within the timeout
40
+ # limit, which defaults to 30 seconds.
41
+
42
+ puts "TIMEOUT: Could not start the live stream within the timeout period."
43
+ end
44
+ end
45
+
46
+ # Handle an API error. (In the helpers.rb file)
47
+ handle_api_error(state, "There was an error starting the live stream") unless state.success?
48
+
49
+ # Output the final state of the live stream.
50
+ # Defined in the helpers.rb file.
51
+ output_model_attributes(state, "Live Stream State:")
@@ -0,0 +1,33 @@
1
+ ####> This code and all components © 2015 – 2019 Wowza Media Systems, LLC. All rights reserved.
2
+ ####> This code is licensed pursuant to the BSD 3-Clause License.
3
+
4
+ require "wsc_sdk"
5
+ require_relative "../client" # Get our client
6
+ require_relative "../helpers" # Include some helpers to make the code more direct
7
+
8
+ # Ensure the args passed in are present
9
+ arguments = ask_for_arguments(__FILE__, live_stream_id: nil)
10
+
11
+ # Extract some data into convenience variables
12
+ live_streams = $client.live_streams
13
+ live_stream_id = arguments[0]
14
+
15
+ # Request the live_stream object
16
+ live_stream = live_streams.find(live_stream_id)
17
+
18
+ # Handle an API error (in the helpers.rb file)
19
+ handle_api_error(live_stream, "There was an error finding the live stream") unless live_stream.success?
20
+
21
+ # Get the result of stopping the live_stream
22
+ #
23
+ # NOTE: You can also stop and wait for the live_stream state to transition to
24
+ # a stopped state. See the `stop_and_wait` example.
25
+ #
26
+ state = live_stream.state
27
+
28
+ # Handle an API error (in the helpers.rb file)
29
+ handle_api_error(state, "There was an error getting the live stream state") unless state.success?
30
+
31
+ # Output the live_stream state
32
+ # Defined in helpers.rb
33
+ output_model_attributes(state, "Live Stream State:")
@@ -0,0 +1,43 @@
1
+ ####> This code and all components © 2015 – 2019 Wowza Media Systems, LLC. All rights reserved.
2
+ ####> This code is licensed pursuant to the BSD 3-Clause License.
3
+
4
+ require "wsc_sdk"
5
+ require_relative "../client" # Get our client
6
+ require_relative "../helpers" # Include some helpers to make the code more direct
7
+
8
+ # Ensure the args passed in are present
9
+ arguments = ask_for_arguments(__FILE__, live_stream_id: nil)
10
+
11
+ # Extract some data into convenience variables
12
+ live_streams = $client.live_streams
13
+ live_stream_id = arguments[0]
14
+
15
+ # Request the live_stream object
16
+ live_stream = live_streams.find(live_stream_id)
17
+
18
+ # Handle an API error (in the helpers.rb file)
19
+ handle_api_error(live_stream, "There was an error finding the live stream") unless live_stream.success?
20
+
21
+ # Request the live_stream state
22
+ state = live_stream.state
23
+
24
+ # Handle an API error (in the helpers.rb file)
25
+ handle_api_error(state, "There was an error getting the live stream state") unless state.success?
26
+
27
+ # Ensure the live_stream is started
28
+ if state.state != 'started'
29
+ # Start the live_stream and wait
30
+ result = live_stream.start do |wait_state, live_stream_state|
31
+ puts "Waiting for live_stream to start"
32
+ end
33
+ end
34
+
35
+ # Request the current statistics from the live_stream
36
+ stats = live_stream.stats
37
+
38
+ # Handle an API error (in the helpers.rb file)
39
+ handle_api_error(stats, "There was an error getting the live stream stats") unless stats.success?
40
+
41
+ # Output the current live_stream statistics
42
+ # Defined in helper.rb
43
+ output_model_attributes(stats, "Live Stream Stats:")
@@ -0,0 +1,33 @@
1
+ ####> This code and all components © 2015 – 2019 Wowza Media Systems, LLC. All rights reserved.
2
+ ####> This code is licensed pursuant to the BSD 3-Clause License.
3
+
4
+ require "wsc_sdk"
5
+ require_relative "../client" # Get our client
6
+ require_relative "../helpers" # Include some helpers to make the code more direct
7
+
8
+ # Ensure the args passed in are present
9
+ arguments = ask_for_arguments(__FILE__, live_stream_id: nil)
10
+
11
+ # Extract some data into convenience variables
12
+ live_streams = $client.live_streams
13
+ live_stream_id = arguments[0]
14
+
15
+ # Request the live_stream object
16
+ live_stream = live_streams.find(live_stream_id)
17
+
18
+ # Handle an API error (in the helpers.rb file)
19
+ handle_api_error(live_stream, "There was an error finding the live stream") unless live_stream.success?
20
+
21
+ # Get the result of stopping the live_stream
22
+ #
23
+ # NOTE: You can also stop and wait for the live_stream state to transition to
24
+ # a stopped state. See the `stop_and_wait` example.
25
+ #
26
+ state = live_stream.stop
27
+
28
+ # Handle an API error (in the helpers.rb file)
29
+ handle_api_error(state, "There was an error getting the live stream state") unless state.success?
30
+
31
+ # Output the live_stream state
32
+ # Defined in helpers.rb
33
+ output_model_attributes(state, "Live Stream State:")
@@ -0,0 +1,51 @@
1
+ ####> This code and all components © 2015 – 2019 Wowza Media Systems, LLC. All rights reserved.
2
+ ####> This code is licensed pursuant to the BSD 3-Clause License.
3
+
4
+ require "wsc_sdk"
5
+ require_relative "../client" # Get our client
6
+ require_relative "../helpers" # Include some helpers to make the code more direct
7
+
8
+ # Ensure the args passed in are present
9
+ arguments = ask_for_arguments(__FILE__, live_stream_id: nil)
10
+
11
+ # Extract some data into convenience variables
12
+ live_streams = $client.live_streams
13
+ live_stream_id = arguments[0]
14
+
15
+ # Request the live_stream object
16
+ live_stream = live_streams.find(live_stream_id)
17
+
18
+ # Handle an API error (in the helpers.rb file)
19
+ handle_api_error(live_stream, "There was an error finding the live stream") unless live_stream.success?
20
+
21
+ # Get the result of stopping the live_stream. We add a code block, which
22
+ # instructs the SDK to enter a wait loop and periodically polls the API
23
+ # for the live_stream state until either the `stopped` state is returned or
24
+ # the timeout period is reached.
25
+ state = live_stream.stop do |wait_state, live_stream_state|
26
+
27
+ # This code will execute each time the state of the live_stream is polled
28
+ # during the wait loop. You can check the wait_state to determine what the
29
+ # outcomes of each request are.
30
+
31
+ if wait_state == :waiting
32
+ # We're still waiting for the stopped state to be returned
33
+ puts "Waiting..."
34
+ elsif wait_state == :complete
35
+ # We've successfully stopped the live_stream
36
+ # Defined in helpers.rb
37
+ output_model_attributes(live_stream_state, "Completed Live Stream State:")
38
+ elsif wait_state == :timeout
39
+ # A timeout occurs if the stop state isn't reached within the timeout
40
+ # limit, which defaults to 30 seconds.
41
+
42
+ puts "TIMEOUT: Could not stop the live stream within the timeout period."
43
+ end
44
+ end
45
+
46
+ # Handle an API error (in the helpers.rb file)
47
+ handle_api_error(state, "There was an error stopping the live stream") unless state.success?
48
+
49
+ # Output the final live_stream state
50
+ # Defined in helpers.rb
51
+ output_model_attributes(state, "Final Live Stream State:")
@@ -0,0 +1,46 @@
1
+ ####> This code and all components © 2015 – 2019 Wowza Media Systems, LLC. All rights reserved.
2
+ ####> This code is licensed pursuant to the BSD 3-Clause License.
3
+
4
+ require "wsc_sdk"
5
+ require_relative "../client" # Get our client
6
+ require_relative "../helpers" # Include some helpers to make the code more direct
7
+
8
+ # Ensure the args passed in are present
9
+ arguments = ask_for_arguments(__FILE__, live_stream_id: nil)
10
+
11
+ # Extract some data into convenience variables
12
+ live_streams = $client.live_streams
13
+ live_stream_id = arguments[0]
14
+
15
+ # Request the live_stream object
16
+ live_stream = live_streams.find(live_stream_id)
17
+
18
+ # Handle an API error (in the helpers.rb file)
19
+ handle_api_error(live_stream, "There was an error finding the live stream") unless live_stream.success?
20
+
21
+ # Request the live_stream state
22
+ state = live_stream.state
23
+
24
+ # Handle an API error (in the helpers.rb file)
25
+ handle_api_error(state, "There was an error getting the live stream state") unless state.success?
26
+
27
+ # Ensure the live_stream is started
28
+ if state.state != 'started'
29
+ # Start the live_stream and wait
30
+ state = live_stream.start do |wait_state, live_stream_state|
31
+ puts "Waiting for live_stream to start"
32
+ end
33
+
34
+ # Handle an API error (in the helpers.rb file)
35
+ handle_api_error(state, "There was an error starting the live stream") unless state.success?
36
+ end
37
+
38
+ # Request the thumbnail url
39
+ thumbnail = live_stream.thumbnail_url
40
+
41
+ # Handle an API error (in the helpers.rb file)
42
+ handle_api_error(thumbnail, "There was an error getting the live stream thumbnail url") unless thumbnail.success?
43
+
44
+ # Output the thumbnail URL
45
+ # Defined in helpers.rb
46
+ output_model_attributes(thumbnail, "Live Stream Thumbnail:")
@@ -0,0 +1,43 @@
1
+ ####> This code and all components © 2015 – 2019 Wowza Media Systems, LLC. All rights reserved.
2
+ ####> This code is licensed pursuant to the BSD 3-Clause License.
3
+
4
+ require "wsc_sdk"
5
+ require_relative "../client" # Get our client
6
+ require_relative "../helpers" # Include some helpers to make the code more direct
7
+
8
+ # Ensure the args passed in are present
9
+ arguments = ask_for_arguments(__FILE__, live_stream_id: nil, new_live_stream_name: nil)
10
+
11
+ # Extract some data into convenience variables
12
+ live_streams = $client.live_streams
13
+ live_stream_id = arguments[0]
14
+ live_stream_name = arguments[1]
15
+
16
+ # Request the live_stream object
17
+ live_stream = live_streams.find(live_stream_id)
18
+
19
+ # Handle an API error (in the helpers.rb file)
20
+ handle_api_error(live_stream, "There was an error finding the live stream") unless live_stream.success?
21
+
22
+ # Update the live_stream
23
+ live_stream.name = live_stream_name
24
+
25
+ # If the live_stream is invalid, output the messages and exit
26
+ unless (live_stream.valid?)
27
+ puts "Live Stream is invalid:"
28
+
29
+ live_stream.errors.each do |field, message|
30
+ puts " - #{field}: #{message}"
31
+ end
32
+ exit
33
+ end
34
+
35
+ # Get the result of saving the object to the API
36
+ saved = live_stream.save
37
+
38
+ # Handle an API error (in the helpers.rb file)
39
+ handle_api_error(saved, "There was an error saving the live stream") unless saved.success?
40
+
41
+ # Output the live_stream details
42
+ # Defined in helpers.rb
43
+ output_model_attributes(live_stream, "Live Stream: #{live_stream.name}")