aws-sdk-kinesisvideoarchivedmedia 1.21.0 → 1.22.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
- SHA1:
3
- metadata.gz: 51296e836336e18d14c687350a8f1af34e0329ee
4
- data.tar.gz: 9bb0f67b8dbbc67ff7ba92e59e5c4fd2abe029a7
2
+ SHA256:
3
+ metadata.gz: 7d6559401da95647ab967bbbdcf32f7e31459e000c3cf20c5eb2f3629ff2cba4
4
+ data.tar.gz: 31753e75a41fe7fcced2ed28996adc4feedb831eeec1b2706bdc1a91ee2b1971
5
5
  SHA512:
6
- metadata.gz: fa8f27d4645bff4f529f5c28a9d5e66f35d07df60f34f5fde26436cdb22bf51b14605d4907ca8730c110d5464d54f051d2e49a4b4c5fe6500316383a28973e4c
7
- data.tar.gz: fa178a348af5ca9dbbefd766099b75ce43af55de742141df47e3995227ca3b875ecc42719e951fc5b0e6174cfade2fedf6a8b5a32a8acc5b4227d0626d567637
6
+ metadata.gz: 95cba84665c32b1471e2fb27d1af6bd6cd0cdd1a282649dedb52d1276cc79e5f9d0c72630c0f8b7c625bdb68f932b8d30da1bbe13cf4bf0b4c60b101c5acaa07
7
+ data.tar.gz: 30cc69c1c6616288830f7fed09e14a143ecb309d4b431e8abb267819dbb4e975647e2c6a14c11ee21b96eff13f122337d551ccb7faa6da5049ebe9e655597a66
@@ -25,7 +25,7 @@ require_relative 'aws-sdk-kinesisvideoarchivedmedia/customizations'
25
25
  # structure.
26
26
  #
27
27
  # kinesis_video_archived_media = Aws::KinesisVideoArchivedMedia::Client.new
28
- # resp = kinesis_video_archived_media.get_dash_streaming_session_url(params)
28
+ # resp = kinesis_video_archived_media.get_clip(params)
29
29
  #
30
30
  # See {Client} for more information.
31
31
  #
@@ -45,6 +45,6 @@ require_relative 'aws-sdk-kinesisvideoarchivedmedia/customizations'
45
45
  # @service
46
46
  module Aws::KinesisVideoArchivedMedia
47
47
 
48
- GEM_VERSION = '1.21.0'
48
+ GEM_VERSION = '1.22.0'
49
49
 
50
50
  end
@@ -32,11 +32,11 @@ Aws::Plugins::GlobalConfiguration.add_identifier(:kinesisvideoarchivedmedia)
32
32
  module Aws::KinesisVideoArchivedMedia
33
33
  # An API client for KinesisVideoArchivedMedia. To construct a client, you need to configure a `:region` and `:credentials`.
34
34
  #
35
- # client = Aws::KinesisVideoArchivedMedia::Client.new(
36
- # region: region_name,
37
- # credentials: credentials,
38
- # # ...
39
- # )
35
+ # client = Aws::KinesisVideoArchivedMedia::Client.new(
36
+ # region: region_name,
37
+ # credentials: credentials,
38
+ # # ...
39
+ # )
40
40
  #
41
41
  # For details on configuring region and credentials see
42
42
  # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
@@ -229,15 +229,19 @@ module Aws::KinesisVideoArchivedMedia
229
229
  #
230
230
  # @option options [String] :retry_mode ("legacy")
231
231
  # Specifies which retry algorithm to use. Values are:
232
- # * `legacy` - The pre-existing retry behavior. This is default value if
233
- # no retry mode is provided.
234
- # * `standard` - A standardized set of retry rules across the AWS SDKs.
235
- # This includes support for retry quotas, which limit the number of
236
- # unsuccessful retries a client can make.
237
- # * `adaptive` - An experimental retry mode that includes all the
238
- # functionality of `standard` mode along with automatic client side
239
- # throttling. This is a provisional mode that may change behavior
240
- # in the future.
232
+ #
233
+ # * `legacy` - The pre-existing retry behavior. This is default value if
234
+ # no retry mode is provided.
235
+ #
236
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
237
+ # This includes support for retry quotas, which limit the number of
238
+ # unsuccessful retries a client can make.
239
+ #
240
+ # * `adaptive` - An experimental retry mode that includes all the
241
+ # functionality of `standard` mode along with automatic client side
242
+ # throttling. This is a provisional mode that may change behavior
243
+ # in the future.
244
+ #
241
245
  #
242
246
  # @option options [String] :secret_access_key
243
247
  #
@@ -265,8 +269,7 @@ module Aws::KinesisVideoArchivedMedia
265
269
  #
266
270
  # @option options [Integer] :http_read_timeout (60) The default
267
271
  # number of seconds to wait for response data. This value can
268
- # safely be set
269
- # per-request on the session yielded by {#session_for}.
272
+ # safely be set per-request on the session.
270
273
  #
271
274
  # @option options [Float] :http_idle_timeout (5) The number of
272
275
  # seconds a connection is allowed to sit idle before it is
@@ -278,7 +281,7 @@ module Aws::KinesisVideoArchivedMedia
278
281
  # request body. This option has no effect unless the request has
279
282
  # "Expect" header set to "100-continue". Defaults to `nil` which
280
283
  # disables this behaviour. This value can safely be set per
281
- # request on the session yielded by {#session_for}.
284
+ # request on the session.
282
285
  #
283
286
  # @option options [Boolean] :http_wire_trace (false) When `true`,
284
287
  # HTTP debug output will be sent to the `:logger`.
@@ -305,6 +308,83 @@ module Aws::KinesisVideoArchivedMedia
305
308
 
306
309
  # @!group API Operations
307
310
 
311
+ # Downloads an MP4 file (clip) containing the archived, on-demand media
312
+ # from the specified video stream over the specified time range.
313
+ #
314
+ # Both the StreamName and the StreamARN parameters are optional, but you
315
+ # must specify either the StreamName or the StreamARN when invoking this
316
+ # API operation.
317
+ #
318
+ # As a prerequsite to using GetCLip API, you must obtain an endpoint
319
+ # using `GetDataEndpoint`, specifying GET\_CLIP for` the APIName
320
+ # parameter. </p> An Amazon Kinesis video stream has the following
321
+ # requirements for providing data through MP4: The media must contain
322
+ # h.264 or h.265 encoded video and, optionally, AAC or G.711 encoded
323
+ # audio. Specifically, the codec ID of track 1 should be V_MPEG/ISO/AVC
324
+ # (for h.264) or V_MPEGH/ISO/HEVC (for H.265). Optionally, the codec ID
325
+ # of track 2 should be A_AAC (for AAC) or A_MS/ACM (for G.711). Data
326
+ # retention must be greater than 0. The video track of each fragment
327
+ # must contain codec private data in the Advanced Video Coding (AVC) for
328
+ # H.264 format and HEVC for H.265 format. For more information, see
329
+ # MPEG-4 specification ISO/IEC 14496-15. For information about adapting
330
+ # stream data to a given format, see NAL Adaptation Flags. The audio
331
+ # track (if present) of each fragment must contain codec private data in
332
+ # the AAC format (AAC specification ISO/IEC 13818-7) or the MS Wave
333
+ # format. You can monitor the amount of outgoing data by monitoring
334
+ # the GetClip.OutgoingBytes Amazon CloudWatch metric. For information
335
+ # about using CloudWatch to monitor Kinesis Video Streams, see
336
+ # Monitoring Kinesis Video Streams. For pricing information, see Amazon
337
+ # Kinesis Video Streams Pricing and AWS Pricing. Charges for outgoing
338
+ # AWS data apply.
339
+ # `
340
+ #
341
+ # @option params [String] :stream_name
342
+ # The name of the stream for which to retrieve the media clip.
343
+ #
344
+ # You must specify either the StreamName or the StreamARN.
345
+ #
346
+ # @option params [String] :stream_arn
347
+ # The Amazon Resource Name (ARN) of the stream for which to retrieve the
348
+ # media clip.
349
+ #
350
+ # You must specify either the StreamName or the StreamARN.
351
+ #
352
+ # @option params [required, Types::ClipFragmentSelector] :clip_fragment_selector
353
+ # The time range of the requested clip and the source of the timestamps.
354
+ #
355
+ # @return [Types::GetClipOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
356
+ #
357
+ # * {Types::GetClipOutput#content_type #content_type} => String
358
+ # * {Types::GetClipOutput#payload #payload} => IO
359
+ #
360
+ # @example Request syntax with placeholder values
361
+ #
362
+ # resp = client.get_clip({
363
+ # stream_name: "StreamName",
364
+ # stream_arn: "ResourceARN",
365
+ # clip_fragment_selector: { # required
366
+ # fragment_selector_type: "PRODUCER_TIMESTAMP", # required, accepts PRODUCER_TIMESTAMP, SERVER_TIMESTAMP
367
+ # timestamp_range: { # required
368
+ # start_timestamp: Time.now, # required
369
+ # end_timestamp: Time.now, # required
370
+ # },
371
+ # },
372
+ # })
373
+ #
374
+ # @example Response structure
375
+ #
376
+ # resp.content_type #=> String
377
+ # resp.payload #=> IO
378
+ #
379
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-archived-media-2017-09-30/GetClip AWS API Documentation
380
+ #
381
+ # @overload get_clip(params = {})
382
+ # @param [Hash] params ({})
383
+ def get_clip(params = {}, options = {}, &block)
384
+ req = build_request(:get_clip, params)
385
+ req.send_request(options, &block)
386
+ end
387
+
308
388
  # Retrieves an MPEG Dynamic Adaptive Streaming over HTTP (DASH) URL for
309
389
  # the stream. You can then open the URL in a media player to view the
310
390
  # stream contents.
@@ -1208,12 +1288,14 @@ module Aws::KinesisVideoArchivedMedia
1208
1288
  # * {Types::ListFragmentsOutput#fragments #fragments} => Array&lt;Types::Fragment&gt;
1209
1289
  # * {Types::ListFragmentsOutput#next_token #next_token} => String
1210
1290
  #
1291
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1292
+ #
1211
1293
  # @example Request syntax with placeholder values
1212
1294
  #
1213
1295
  # resp = client.list_fragments({
1214
1296
  # stream_name: "StreamName", # required
1215
1297
  # max_results: 1,
1216
- # next_token: "String",
1298
+ # next_token: "NextToken",
1217
1299
  # fragment_selector: {
1218
1300
  # fragment_selector_type: "PRODUCER_TIMESTAMP", # required, accepts PRODUCER_TIMESTAMP, SERVER_TIMESTAMP
1219
1301
  # timestamp_range: { # required
@@ -1255,7 +1337,7 @@ module Aws::KinesisVideoArchivedMedia
1255
1337
  params: params,
1256
1338
  config: config)
1257
1339
  context[:gem_name] = 'aws-sdk-kinesisvideoarchivedmedia'
1258
- context[:gem_version] = '1.21.0'
1340
+ context[:gem_version] = '1.22.0'
1259
1341
  Seahorse::Client::Request.new(handlers, context)
1260
1342
  end
1261
1343
 
@@ -12,6 +12,9 @@ module Aws::KinesisVideoArchivedMedia
12
12
  include Seahorse::Model
13
13
 
14
14
  ClientLimitExceededException = Shapes::StructureShape.new(name: 'ClientLimitExceededException')
15
+ ClipFragmentSelector = Shapes::StructureShape.new(name: 'ClipFragmentSelector')
16
+ ClipFragmentSelectorType = Shapes::StringShape.new(name: 'ClipFragmentSelectorType')
17
+ ClipTimestampRange = Shapes::StructureShape.new(name: 'ClipTimestampRange')
15
18
  ContainerFormat = Shapes::StringShape.new(name: 'ContainerFormat')
16
19
  ContentType = Shapes::StringShape.new(name: 'ContentType')
17
20
  DASHDisplayFragmentNumber = Shapes::StringShape.new(name: 'DASHDisplayFragmentNumber')
@@ -29,6 +32,8 @@ module Aws::KinesisVideoArchivedMedia
29
32
  FragmentNumberString = Shapes::StringShape.new(name: 'FragmentNumberString')
30
33
  FragmentSelector = Shapes::StructureShape.new(name: 'FragmentSelector')
31
34
  FragmentSelectorType = Shapes::StringShape.new(name: 'FragmentSelectorType')
35
+ GetClipInput = Shapes::StructureShape.new(name: 'GetClipInput')
36
+ GetClipOutput = Shapes::StructureShape.new(name: 'GetClipOutput')
32
37
  GetDASHStreamingSessionURLInput = Shapes::StructureShape.new(name: 'GetDASHStreamingSessionURLInput')
33
38
  GetDASHStreamingSessionURLOutput = Shapes::StructureShape.new(name: 'GetDASHStreamingSessionURLOutput')
34
39
  GetHLSStreamingSessionURLInput = Shapes::StructureShape.new(name: 'GetHLSStreamingSessionURLInput')
@@ -44,10 +49,12 @@ module Aws::KinesisVideoArchivedMedia
44
49
  HLSTimestampRange = Shapes::StructureShape.new(name: 'HLSTimestampRange')
45
50
  InvalidArgumentException = Shapes::StructureShape.new(name: 'InvalidArgumentException')
46
51
  InvalidCodecPrivateDataException = Shapes::StructureShape.new(name: 'InvalidCodecPrivateDataException')
52
+ InvalidMediaFrameException = Shapes::StructureShape.new(name: 'InvalidMediaFrameException')
47
53
  ListFragmentsInput = Shapes::StructureShape.new(name: 'ListFragmentsInput')
48
54
  ListFragmentsOutput = Shapes::StructureShape.new(name: 'ListFragmentsOutput')
49
55
  Long = Shapes::IntegerShape.new(name: 'Long')
50
56
  MissingCodecPrivateDataException = Shapes::StructureShape.new(name: 'MissingCodecPrivateDataException')
57
+ NextToken = Shapes::StringShape.new(name: 'NextToken')
51
58
  NoDataRetentionException = Shapes::StructureShape.new(name: 'NoDataRetentionException')
52
59
  NotAuthorizedException = Shapes::StructureShape.new(name: 'NotAuthorizedException')
53
60
  PageLimit = Shapes::IntegerShape.new(name: 'PageLimit')
@@ -55,7 +62,6 @@ module Aws::KinesisVideoArchivedMedia
55
62
  ResourceARN = Shapes::StringShape.new(name: 'ResourceARN')
56
63
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
57
64
  StreamName = Shapes::StringShape.new(name: 'StreamName')
58
- String = Shapes::StringShape.new(name: 'String')
59
65
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
60
66
  TimestampRange = Shapes::StructureShape.new(name: 'TimestampRange')
61
67
  UnsupportedStreamMediaTypeException = Shapes::StructureShape.new(name: 'UnsupportedStreamMediaTypeException')
@@ -63,6 +69,14 @@ module Aws::KinesisVideoArchivedMedia
63
69
  ClientLimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
64
70
  ClientLimitExceededException.struct_class = Types::ClientLimitExceededException
65
71
 
72
+ ClipFragmentSelector.add_member(:fragment_selector_type, Shapes::ShapeRef.new(shape: ClipFragmentSelectorType, required: true, location_name: "FragmentSelectorType"))
73
+ ClipFragmentSelector.add_member(:timestamp_range, Shapes::ShapeRef.new(shape: ClipTimestampRange, required: true, location_name: "TimestampRange"))
74
+ ClipFragmentSelector.struct_class = Types::ClipFragmentSelector
75
+
76
+ ClipTimestampRange.add_member(:start_timestamp, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "StartTimestamp"))
77
+ ClipTimestampRange.add_member(:end_timestamp, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "EndTimestamp"))
78
+ ClipTimestampRange.struct_class = Types::ClipTimestampRange
79
+
66
80
  DASHFragmentSelector.add_member(:fragment_selector_type, Shapes::ShapeRef.new(shape: DASHFragmentSelectorType, location_name: "FragmentSelectorType"))
67
81
  DASHFragmentSelector.add_member(:timestamp_range, Shapes::ShapeRef.new(shape: DASHTimestampRange, location_name: "TimestampRange"))
68
82
  DASHFragmentSelector.struct_class = Types::DASHFragmentSelector
@@ -71,7 +85,7 @@ module Aws::KinesisVideoArchivedMedia
71
85
  DASHTimestampRange.add_member(:end_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "EndTimestamp"))
72
86
  DASHTimestampRange.struct_class = Types::DASHTimestampRange
73
87
 
74
- Fragment.add_member(:fragment_number, Shapes::ShapeRef.new(shape: String, location_name: "FragmentNumber"))
88
+ Fragment.add_member(:fragment_number, Shapes::ShapeRef.new(shape: FragmentNumberString, location_name: "FragmentNumber"))
75
89
  Fragment.add_member(:fragment_size_in_bytes, Shapes::ShapeRef.new(shape: Long, location_name: "FragmentSizeInBytes"))
76
90
  Fragment.add_member(:producer_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "ProducerTimestamp"))
77
91
  Fragment.add_member(:server_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "ServerTimestamp"))
@@ -86,6 +100,17 @@ module Aws::KinesisVideoArchivedMedia
86
100
  FragmentSelector.add_member(:timestamp_range, Shapes::ShapeRef.new(shape: TimestampRange, required: true, location_name: "TimestampRange"))
87
101
  FragmentSelector.struct_class = Types::FragmentSelector
88
102
 
103
+ GetClipInput.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, location_name: "StreamName"))
104
+ GetClipInput.add_member(:stream_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "StreamARN"))
105
+ GetClipInput.add_member(:clip_fragment_selector, Shapes::ShapeRef.new(shape: ClipFragmentSelector, required: true, location_name: "ClipFragmentSelector"))
106
+ GetClipInput.struct_class = Types::GetClipInput
107
+
108
+ GetClipOutput.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "Content-Type"))
109
+ GetClipOutput.add_member(:payload, Shapes::ShapeRef.new(shape: Payload, location_name: "Payload"))
110
+ GetClipOutput.struct_class = Types::GetClipOutput
111
+ GetClipOutput[:payload] = :payload
112
+ GetClipOutput[:payload_member] = GetClipOutput.member(:payload)
113
+
89
114
  GetDASHStreamingSessionURLInput.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, location_name: "StreamName"))
90
115
  GetDASHStreamingSessionURLInput.add_member(:stream_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "StreamARN"))
91
116
  GetDASHStreamingSessionURLInput.add_member(:playback_mode, Shapes::ShapeRef.new(shape: DASHPlaybackMode, location_name: "PlaybackMode"))
@@ -137,14 +162,17 @@ module Aws::KinesisVideoArchivedMedia
137
162
  InvalidCodecPrivateDataException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
138
163
  InvalidCodecPrivateDataException.struct_class = Types::InvalidCodecPrivateDataException
139
164
 
165
+ InvalidMediaFrameException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
166
+ InvalidMediaFrameException.struct_class = Types::InvalidMediaFrameException
167
+
140
168
  ListFragmentsInput.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, required: true, location_name: "StreamName"))
141
169
  ListFragmentsInput.add_member(:max_results, Shapes::ShapeRef.new(shape: PageLimit, location_name: "MaxResults"))
142
- ListFragmentsInput.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
170
+ ListFragmentsInput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
143
171
  ListFragmentsInput.add_member(:fragment_selector, Shapes::ShapeRef.new(shape: FragmentSelector, location_name: "FragmentSelector"))
144
172
  ListFragmentsInput.struct_class = Types::ListFragmentsInput
145
173
 
146
174
  ListFragmentsOutput.add_member(:fragments, Shapes::ShapeRef.new(shape: FragmentList, location_name: "Fragments"))
147
- ListFragmentsOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
175
+ ListFragmentsOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
148
176
  ListFragmentsOutput.struct_class = Types::ListFragmentsOutput
149
177
 
150
178
  MissingCodecPrivateDataException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
@@ -183,6 +211,23 @@ module Aws::KinesisVideoArchivedMedia
183
211
  "uid" => "kinesis-video-archived-media-2017-09-30",
184
212
  }
185
213
 
214
+ api.add_operation(:get_clip, Seahorse::Model::Operation.new.tap do |o|
215
+ o.name = "GetClip"
216
+ o.http_method = "POST"
217
+ o.http_request_uri = "/getClip"
218
+ o.input = Shapes::ShapeRef.new(shape: GetClipInput)
219
+ o.output = Shapes::ShapeRef.new(shape: GetClipOutput)
220
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
221
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
222
+ o.errors << Shapes::ShapeRef.new(shape: ClientLimitExceededException)
223
+ o.errors << Shapes::ShapeRef.new(shape: NotAuthorizedException)
224
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedStreamMediaTypeException)
225
+ o.errors << Shapes::ShapeRef.new(shape: MissingCodecPrivateDataException)
226
+ o.errors << Shapes::ShapeRef.new(shape: InvalidCodecPrivateDataException)
227
+ o.errors << Shapes::ShapeRef.new(shape: InvalidMediaFrameException)
228
+ o.errors << Shapes::ShapeRef.new(shape: NoDataRetentionException)
229
+ end)
230
+
186
231
  api.add_operation(:get_dash_streaming_session_url, Seahorse::Model::Operation.new.tap do |o|
187
232
  o.name = "GetDASHStreamingSessionURL"
188
233
  o.http_method = "POST"
@@ -28,6 +28,7 @@ module Aws::KinesisVideoArchivedMedia
28
28
  # * {ClientLimitExceededException}
29
29
  # * {InvalidArgumentException}
30
30
  # * {InvalidCodecPrivateDataException}
31
+ # * {InvalidMediaFrameException}
31
32
  # * {MissingCodecPrivateDataException}
32
33
  # * {NoDataRetentionException}
33
34
  # * {NotAuthorizedException}
@@ -85,6 +86,21 @@ module Aws::KinesisVideoArchivedMedia
85
86
  end
86
87
  end
87
88
 
89
+ class InvalidMediaFrameException < ServiceError
90
+
91
+ # @param [Seahorse::Client::RequestContext] context
92
+ # @param [String] message
93
+ # @param [Aws::KinesisVideoArchivedMedia::Types::InvalidMediaFrameException] data
94
+ def initialize(context, message, data = Aws::EmptyStructure.new)
95
+ super(context, message, data)
96
+ end
97
+
98
+ # @return [String]
99
+ def message
100
+ @message || @data[:message]
101
+ end
102
+ end
103
+
88
104
  class MissingCodecPrivateDataException < ServiceError
89
105
 
90
106
  # @param [Seahorse::Client::RequestContext] context
@@ -6,13 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::KinesisVideoArchivedMedia
9
- # This class provides a resource oriented interface for KinesisVideoArchivedMedia.
10
- # To create a resource object:
11
- # resource = Aws::KinesisVideoArchivedMedia::Resource.new(region: 'us-west-2')
12
- # You can supply a client object with custom configuration that will be used for all resource operations.
13
- # If you do not pass +:client+, a default client will be constructed.
14
- # client = Aws::KinesisVideoArchivedMedia::Client.new(region: 'us-west-2')
15
- # resource = Aws::KinesisVideoArchivedMedia::Resource.new(client: client)
9
+
16
10
  class Resource
17
11
 
18
12
  # @param options ({})
@@ -21,6 +21,91 @@ module Aws::KinesisVideoArchivedMedia
21
21
  include Aws::Structure
22
22
  end
23
23
 
24
+ # Describes the timestamp range and timestamp origin of a range of
25
+ # fragments.
26
+ #
27
+ # Fragments that have duplicate producer timestamps are deduplicated.
28
+ # This means that if producers are producing a stream of fragments with
29
+ # producer timestamps that are approximately equal to the true clock
30
+ # time, the clip will contain all of the fragments within the requested
31
+ # timestamp range. If some fragments are ingested within the same time
32
+ # range and very different points in time, only the oldest ingested
33
+ # collection of fragments are returned.
34
+ #
35
+ # @note When making an API call, you may pass ClipFragmentSelector
36
+ # data as a hash:
37
+ #
38
+ # {
39
+ # fragment_selector_type: "PRODUCER_TIMESTAMP", # required, accepts PRODUCER_TIMESTAMP, SERVER_TIMESTAMP
40
+ # timestamp_range: { # required
41
+ # start_timestamp: Time.now, # required
42
+ # end_timestamp: Time.now, # required
43
+ # },
44
+ # }
45
+ #
46
+ # @!attribute [rw] fragment_selector_type
47
+ # The origin of the timestamps to use (Server or Producer).
48
+ # @return [String]
49
+ #
50
+ # @!attribute [rw] timestamp_range
51
+ # The range of timestamps to return.
52
+ # @return [Types::ClipTimestampRange]
53
+ #
54
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-archived-media-2017-09-30/ClipFragmentSelector AWS API Documentation
55
+ #
56
+ class ClipFragmentSelector < Struct.new(
57
+ :fragment_selector_type,
58
+ :timestamp_range)
59
+ include Aws::Structure
60
+ end
61
+
62
+ # The range of timestamps for which to return fragments.
63
+ #
64
+ # The values in the ClipTimestampRange are `inclusive`. Fragments that
65
+ # begin before the start time but continue past it, or fragments that
66
+ # begin before the end time but continue past it, are included in the
67
+ # session.
68
+ #
69
+ # @note When making an API call, you may pass ClipTimestampRange
70
+ # data as a hash:
71
+ #
72
+ # {
73
+ # start_timestamp: Time.now, # required
74
+ # end_timestamp: Time.now, # required
75
+ # }
76
+ #
77
+ # @!attribute [rw] start_timestamp
78
+ # The starting timestamp in the range of timestamps for which to
79
+ # return fragments.
80
+ #
81
+ # This value is inclusive. Fragments that start before the
82
+ # `StartTimestamp` and continue past it are included in the session.
83
+ # If `FragmentSelectorType` is `SERVER_TIMESTAMP`, the
84
+ # `StartTimestamp` must be later than the stream head.
85
+ # @return [Time]
86
+ #
87
+ # @!attribute [rw] end_timestamp
88
+ # The end of the timestamp range for the requested media.
89
+ #
90
+ # This value must be within 3 hours of the specified `StartTimestamp`,
91
+ # and it must be later than the `StartTimestamp` value. If
92
+ # `FragmentSelectorType` for the request is `SERVER_TIMESTAMP`, this
93
+ # value must be in the past.
94
+ #
95
+ # This value is inclusive. The `EndTimestamp` is compared to the
96
+ # (starting) timestamp of the fragment. Fragments that start before
97
+ # the `EndTimestamp` value and continue past it are included in the
98
+ # session.
99
+ # @return [Time]
100
+ #
101
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-archived-media-2017-09-30/ClipTimestampRange AWS API Documentation
102
+ #
103
+ class ClipTimestampRange < Struct.new(
104
+ :start_timestamp,
105
+ :end_timestamp)
106
+ include Aws::Structure
107
+ end
108
+
24
109
  # Contains the range of timestamps for the requested media, and the
25
110
  # source of the timestamps.
26
111
  #
@@ -226,6 +311,68 @@ module Aws::KinesisVideoArchivedMedia
226
311
  include Aws::Structure
227
312
  end
228
313
 
314
+ # @note When making an API call, you may pass GetClipInput
315
+ # data as a hash:
316
+ #
317
+ # {
318
+ # stream_name: "StreamName",
319
+ # stream_arn: "ResourceARN",
320
+ # clip_fragment_selector: { # required
321
+ # fragment_selector_type: "PRODUCER_TIMESTAMP", # required, accepts PRODUCER_TIMESTAMP, SERVER_TIMESTAMP
322
+ # timestamp_range: { # required
323
+ # start_timestamp: Time.now, # required
324
+ # end_timestamp: Time.now, # required
325
+ # },
326
+ # },
327
+ # }
328
+ #
329
+ # @!attribute [rw] stream_name
330
+ # The name of the stream for which to retrieve the media clip.
331
+ #
332
+ # You must specify either the StreamName or the StreamARN.
333
+ # @return [String]
334
+ #
335
+ # @!attribute [rw] stream_arn
336
+ # The Amazon Resource Name (ARN) of the stream for which to retrieve
337
+ # the media clip.
338
+ #
339
+ # You must specify either the StreamName or the StreamARN.
340
+ # @return [String]
341
+ #
342
+ # @!attribute [rw] clip_fragment_selector
343
+ # The time range of the requested clip and the source of the
344
+ # timestamps.
345
+ # @return [Types::ClipFragmentSelector]
346
+ #
347
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-archived-media-2017-09-30/GetClipInput AWS API Documentation
348
+ #
349
+ class GetClipInput < Struct.new(
350
+ :stream_name,
351
+ :stream_arn,
352
+ :clip_fragment_selector)
353
+ include Aws::Structure
354
+ end
355
+
356
+ # @!attribute [rw] content_type
357
+ # The content type of the media in the requested clip.
358
+ # @return [String]
359
+ #
360
+ # @!attribute [rw] payload
361
+ # Traditional MP4 file that contains the media clip from the specified
362
+ # video stream. The output will contain the first 100 MB or the first
363
+ # 200 fragments from the specified start timestamp. For more
364
+ # information, see [Kinesis Video Streams Limits](Kinesis Video
365
+ # Streams Limits).
366
+ # @return [IO]
367
+ #
368
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-archived-media-2017-09-30/GetClipOutput AWS API Documentation
369
+ #
370
+ class GetClipOutput < Struct.new(
371
+ :content_type,
372
+ :payload)
373
+ include Aws::Structure
374
+ end
375
+
229
376
  # @note When making an API call, you may pass GetDASHStreamingSessionURLInput
230
377
  # data as a hash:
231
378
  #
@@ -881,13 +1028,26 @@ module Aws::KinesisVideoArchivedMedia
881
1028
  include Aws::Structure
882
1029
  end
883
1030
 
1031
+ # One or more frames in the requested clip could not be parsed based on
1032
+ # the specified codec.
1033
+ #
1034
+ # @!attribute [rw] message
1035
+ # @return [String]
1036
+ #
1037
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-archived-media-2017-09-30/InvalidMediaFrameException AWS API Documentation
1038
+ #
1039
+ class InvalidMediaFrameException < Struct.new(
1040
+ :message)
1041
+ include Aws::Structure
1042
+ end
1043
+
884
1044
  # @note When making an API call, you may pass ListFragmentsInput
885
1045
  # data as a hash:
886
1046
  #
887
1047
  # {
888
1048
  # stream_name: "StreamName", # required
889
1049
  # max_results: 1,
890
- # next_token: "String",
1050
+ # next_token: "NextToken",
891
1051
  # fragment_selector: {
892
1052
  # fragment_selector_type: "PRODUCER_TIMESTAMP", # required, accepts PRODUCER_TIMESTAMP, SERVER_TIMESTAMP
893
1053
  # timestamp_range: { # required
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-kinesisvideoarchivedmedia
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.21.0
4
+ version: 1.22.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: 2020-03-09 00:00:00.000000000 Z
11
+ date: 2020-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -81,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
81
  version: '0'
82
82
  requirements: []
83
83
  rubyforge_project:
84
- rubygems_version: 2.5.2.3
84
+ rubygems_version: 2.7.6.2
85
85
  signing_key:
86
86
  specification_version: 4
87
87
  summary: AWS SDK for Ruby - Kinesis Video Archived Media