aws-sdk-kinesisvideowebrtcstorage 1.18.0 → 1.19.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 211394389d81a37b1a2a9109ac94d910acd41594c96580498d9f4c1761bcaf90
4
- data.tar.gz: f6edaae9742f02c84990a95abb66770f9b1222da26967cd7d318563ab34ba264
3
+ metadata.gz: 30c9c0b511c1731dc410a26304e74e5bf73aef20345e15ad41a670bd3e9f294e
4
+ data.tar.gz: a19e779a03a04701a8c33844303fb0341b373700df476d604ab4117eb34e2279
5
5
  SHA512:
6
- metadata.gz: 2d486dd558bc2bd40d8a700f495945d3023e0ce5f8ec29013201e5aa63e229d780108abb2054b4801f658c576c9f589df86839507df3a92e66f5d7ec04fd4d5c
7
- data.tar.gz: d1993feb627ec8b81064dd934914835bb5c9ddb62f0f05206ff91c9005230d94105d41da9ab3b9bbb7d51d2203bda83909abec1d1326e70f4b35eef79a51be3f
6
+ metadata.gz: cfd231aba805986ec45c4af58f58809449f21e076e921b9322fdf306fd5371d2a09b657a3e085102b76c0f5f00fb25b78e6151bf0ad40990e22c955b8abe9190
7
+ data.tar.gz: 51cfeb6475d9fd37ab9143baae9965875e96add9280c75a926ff21abb22d848d573af7880fd68e21dbdcbef8a73fecdc5099974906c0cc4dfeef480e0a65e96f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.19.0 (2024-08-05)
5
+ ------------------
6
+
7
+ * Feature - Add JoinStorageSessionAsViewer API
8
+
4
9
  1.18.0 (2024-07-02)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.18.0
1
+ 1.19.0
@@ -425,6 +425,12 @@ module Aws::KinesisVideoWebRTCStorage
425
425
 
426
426
  # @!group API Operations
427
427
 
428
+ # <note markdown="1"> Before using this API, you must call the `GetSignalingChannelEndpoint`
429
+ # API to request the WEBRTC endpoint. You then specify the endpoint and
430
+ # region in your `JoinStorageSession` API request.
431
+ #
432
+ # </note>
433
+ #
428
434
  # Join the ongoing one way-video and/or multi-way audio WebRTC session
429
435
  # as a video producing device for an input channel. If there’s no
430
436
  # existing session for the channel, a new streaming session needs to be
@@ -432,17 +438,33 @@ module Aws::KinesisVideoWebRTCStorage
432
438
  # must be provided.
433
439
  #
434
440
  # Currently for the `SINGLE_MASTER` type, a video producing device is
435
- # able to ingest both audio and video media into a stream, while viewers
436
- # can only ingest audio. Both a video producing device and viewers can
437
- # join the session first, and wait for other participants.
441
+ # able to ingest both audio and video media into a stream. Only video
442
+ # producing devices can join the session and record media.
438
443
  #
439
- # While participants are having peer to peer conversations through
440
- # webRTC, the ingested media session will be stored into the Kinesis
441
- # Video Stream. Multiple viewers are able to playback real-time media.
444
+ # Both audio and video tracks are currently required for WebRTC
445
+ # ingestion.
442
446
  #
443
- # Customers can also use existing Kinesis Video Streams features like
444
- # `HLS` or `DASH` playback, Image generation, and more with ingested
445
- # WebRTC media.
447
+ # Current requirements:
448
+ #
449
+ # * Video track: H.264
450
+ #
451
+ # * Audio track: Opus
452
+ #
453
+ # The resulting ingested video in the Kinesis video stream will have the
454
+ # following parameters: H.264 video and AAC audio.
455
+ #
456
+ # Once a master participant has negotiated a connection through WebRTC,
457
+ # the ingested media session will be stored in the Kinesis video stream.
458
+ # Multiple viewers are then able to play back real-time media through
459
+ # our Playback APIs.
460
+ #
461
+ # You can also use existing Kinesis Video Streams features like `HLS` or
462
+ # `DASH` playback, image generation via [GetImages][1], and more with
463
+ # ingested WebRTC media.
464
+ #
465
+ # <note markdown="1"> S3 image delivery and notifications are not currently supported.
466
+ #
467
+ # </note>
446
468
  #
447
469
  # <note markdown="1"> Assume that only one video producing device client can be associated
448
470
  # with a session for the channel. If more than one client joins the
@@ -451,6 +473,19 @@ module Aws::KinesisVideoWebRTCStorage
451
473
  #
452
474
  # </note>
453
475
  #
476
+ # **Additional information**
477
+ #
478
+ # * **Idempotent** - This API is not idempotent.
479
+ #
480
+ # * **Retry behavior** - This is counted as a new API call.
481
+ #
482
+ # * **Concurrent calls** - Concurrent calls are allowed. An offer is
483
+ # sent once per each call.
484
+ #
485
+ #
486
+ #
487
+ # [1]: https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/gs-getImages.html
488
+ #
454
489
  # @option params [required, String] :channel_arn
455
490
  # The Amazon Resource Name (ARN) of the signaling channel.
456
491
  #
@@ -471,6 +506,50 @@ module Aws::KinesisVideoWebRTCStorage
471
506
  req.send_request(options)
472
507
  end
473
508
 
509
+ # Join the ongoing one way-video and/or multi-way audio WebRTC session
510
+ # as a viewer for an input channel. If there’s no existing session for
511
+ # the channel, create a new streaming session and provide the Amazon
512
+ # Resource Name (ARN) of the signaling channel (`channelArn`) and client
513
+ # id (`clientId`).
514
+ #
515
+ # Currently for `SINGLE_MASTER` type, a video producing device is able
516
+ # to ingest both audio and video media into a stream, while viewers can
517
+ # only ingest audio. Both a video producing device and viewers can join
518
+ # a session first and wait for other participants. While participants
519
+ # are having peer to peer conversations through WebRTC, the ingested
520
+ # media session will be stored into the Kinesis Video Stream. Multiple
521
+ # viewers are able to playback real-time media.
522
+ #
523
+ # Customers can also use existing Kinesis Video Streams features like
524
+ # `HLS` or `DASH` playback, Image generation, and more with ingested
525
+ # WebRTC media. If there’s an existing session with the same `clientId`
526
+ # that's found in the join session request, the new request takes
527
+ # precedence.
528
+ #
529
+ # @option params [required, String] :channel_arn
530
+ # The Amazon Resource Name (ARN) of the signaling channel.
531
+ #
532
+ # @option params [required, String] :client_id
533
+ # The unique identifier for the sender client.
534
+ #
535
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
536
+ #
537
+ # @example Request syntax with placeholder values
538
+ #
539
+ # resp = client.join_storage_session_as_viewer({
540
+ # channel_arn: "ChannelArn", # required
541
+ # client_id: "ClientId", # required
542
+ # })
543
+ #
544
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer AWS API Documentation
545
+ #
546
+ # @overload join_storage_session_as_viewer(params = {})
547
+ # @param [Hash] params ({})
548
+ def join_storage_session_as_viewer(params = {}, options = {})
549
+ req = build_request(:join_storage_session_as_viewer, params)
550
+ req.send_request(options)
551
+ end
552
+
474
553
  # @!endgroup
475
554
 
476
555
  # @param params ({})
@@ -484,7 +563,7 @@ module Aws::KinesisVideoWebRTCStorage
484
563
  params: params,
485
564
  config: config)
486
565
  context[:gem_name] = 'aws-sdk-kinesisvideowebrtcstorage'
487
- context[:gem_version] = '1.18.0'
566
+ context[:gem_version] = '1.19.0'
488
567
  Seahorse::Client::Request.new(handlers, context)
489
568
  end
490
569
 
@@ -15,8 +15,10 @@ module Aws::KinesisVideoWebRTCStorage
15
15
 
16
16
  AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
17
17
  ChannelArn = Shapes::StringShape.new(name: 'ChannelArn')
18
+ ClientId = Shapes::StringShape.new(name: 'ClientId')
18
19
  ClientLimitExceededException = Shapes::StructureShape.new(name: 'ClientLimitExceededException')
19
20
  InvalidArgumentException = Shapes::StructureShape.new(name: 'InvalidArgumentException')
21
+ JoinStorageSessionAsViewerInput = Shapes::StructureShape.new(name: 'JoinStorageSessionAsViewerInput')
20
22
  JoinStorageSessionInput = Shapes::StructureShape.new(name: 'JoinStorageSessionInput')
21
23
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
22
24
  String = Shapes::StringShape.new(name: 'String')
@@ -30,6 +32,10 @@ module Aws::KinesisVideoWebRTCStorage
30
32
  InvalidArgumentException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
31
33
  InvalidArgumentException.struct_class = Types::InvalidArgumentException
32
34
 
35
+ JoinStorageSessionAsViewerInput.add_member(:channel_arn, Shapes::ShapeRef.new(shape: ChannelArn, required: true, location_name: "channelArn"))
36
+ JoinStorageSessionAsViewerInput.add_member(:client_id, Shapes::ShapeRef.new(shape: ClientId, required: true, location_name: "clientId"))
37
+ JoinStorageSessionAsViewerInput.struct_class = Types::JoinStorageSessionAsViewerInput
38
+
33
39
  JoinStorageSessionInput.add_member(:channel_arn, Shapes::ShapeRef.new(shape: ChannelArn, required: true, location_name: "channelArn"))
34
40
  JoinStorageSessionInput.struct_class = Types::JoinStorageSessionInput
35
41
 
@@ -65,6 +71,18 @@ module Aws::KinesisVideoWebRTCStorage
65
71
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
66
72
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
67
73
  end)
74
+
75
+ api.add_operation(:join_storage_session_as_viewer, Seahorse::Model::Operation.new.tap do |o|
76
+ o.name = "JoinStorageSessionAsViewer"
77
+ o.http_method = "POST"
78
+ o.http_request_uri = "/joinStorageSessionAsViewer"
79
+ o.input = Shapes::ShapeRef.new(shape: JoinStorageSessionAsViewerInput)
80
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
81
+ o.errors << Shapes::ShapeRef.new(shape: ClientLimitExceededException)
82
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
83
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
84
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
85
+ end)
68
86
  end
69
87
 
70
88
  end
@@ -32,7 +32,7 @@ module Aws::KinesisVideoWebRTCStorage
32
32
  raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
33
  end
34
34
  if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
+ if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
36
36
  return Aws::Endpoints::Endpoint.new(url: "https://kinesisvideo-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
37
  end
38
38
  raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
@@ -26,5 +26,19 @@ module Aws::KinesisVideoWebRTCStorage
26
26
  end
27
27
  end
28
28
 
29
+ class JoinStorageSessionAsViewer
30
+ def self.build(context)
31
+ unless context.config.regional_endpoint
32
+ endpoint = context.config.endpoint.to_s
33
+ end
34
+ Aws::KinesisVideoWebRTCStorage::EndpointParameters.new(
35
+ region: context.config.region,
36
+ use_dual_stack: context.config.use_dualstack_endpoint,
37
+ use_fips: context.config.use_fips_endpoint,
38
+ endpoint: endpoint,
39
+ )
40
+ end
41
+ end
42
+
29
43
  end
30
44
  end
@@ -60,6 +60,8 @@ module Aws::KinesisVideoWebRTCStorage
60
60
  case context.operation_name
61
61
  when :join_storage_session
62
62
  Aws::KinesisVideoWebRTCStorage::Endpoints::JoinStorageSession.build(context)
63
+ when :join_storage_session_as_viewer
64
+ Aws::KinesisVideoWebRTCStorage::Endpoints::JoinStorageSessionAsViewer.build(context)
63
65
  end
64
66
  end
65
67
  end
@@ -50,6 +50,23 @@ module Aws::KinesisVideoWebRTCStorage
50
50
  include Aws::Structure
51
51
  end
52
52
 
53
+ # @!attribute [rw] channel_arn
54
+ # The Amazon Resource Name (ARN) of the signaling channel.
55
+ # @return [String]
56
+ #
57
+ # @!attribute [rw] client_id
58
+ # The unique identifier for the sender client.
59
+ # @return [String]
60
+ #
61
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewerInput AWS API Documentation
62
+ #
63
+ class JoinStorageSessionAsViewerInput < Struct.new(
64
+ :channel_arn,
65
+ :client_id)
66
+ SENSITIVE = []
67
+ include Aws::Structure
68
+ end
69
+
53
70
  # @!attribute [rw] channel_arn
54
71
  # The Amazon Resource Name (ARN) of the signaling channel.
55
72
  # @return [String]
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-kinesisvideowebrtcstorage/customizations'
52
52
  # @!group service
53
53
  module Aws::KinesisVideoWebRTCStorage
54
54
 
55
- GEM_VERSION = '1.18.0'
55
+ GEM_VERSION = '1.19.0'
56
56
 
57
57
  end
data/sig/client.rbs CHANGED
@@ -78,6 +78,13 @@ module Aws
78
78
  channel_arn: ::String
79
79
  ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
80
80
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
81
+
82
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/KinesisVideoWebRTCStorage/Client.html#join_storage_session_as_viewer-instance_method
83
+ def join_storage_session_as_viewer: (
84
+ channel_arn: ::String,
85
+ client_id: ::String
86
+ ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
87
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
81
88
  end
82
89
  end
83
90
  end
data/sig/types.rbs CHANGED
@@ -23,6 +23,12 @@ module Aws::KinesisVideoWebRTCStorage
23
23
  SENSITIVE: []
24
24
  end
25
25
 
26
+ class JoinStorageSessionAsViewerInput
27
+ attr_accessor channel_arn: ::String
28
+ attr_accessor client_id: ::String
29
+ SENSITIVE: []
30
+ end
31
+
26
32
  class JoinStorageSessionInput
27
33
  attr_accessor channel_arn: ::String
28
34
  SENSITIVE: []
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-kinesisvideowebrtcstorage
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.18.0
4
+ version: 1.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-02 00:00:00.000000000 Z
11
+ date: 2024-08-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core