aws-sdk-kinesisvideowebrtcstorage 1.18.0 → 1.19.0

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.
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