/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the kinesis-video-media-2017-09-30.normal.json service model.
*/
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.KinesisVideoMedia.Model;
namespace Amazon.KinesisVideoMedia
{
///
/// Interface for accessing KinesisVideoMedia
///
///
///
public partial interface IAmazonKinesisVideoMedia : IAmazonService, IDisposable
{
#region GetMedia
///
/// Use this API to retrieve media content from a Kinesis video stream. In the request,
/// you identify the stream name or stream Amazon Resource Name (ARN), and the starting
/// chunk. Kinesis Video Streams then returns a stream of chunks in order by fragment
/// number.
///
///
///
/// You must first call the GetDataEndpoint
API to get an endpoint. Then
/// send the GetMedia
requests to this endpoint using the --endpoint-url
/// parameter.
///
///
///
/// When you put media data (fragments) on a stream, Kinesis Video Streams stores each
/// incoming fragment and related metadata in what is called a "chunk." For more information,
/// see PutMedia.
/// The GetMedia
API returns a stream of these chunks starting from the chunk
/// that you specify in the request.
///
///
///
/// The following limits apply when using the GetMedia
API:
///
/// -
///
/// A client can call
GetMedia
up to five times per second per stream.
///
/// -
///
/// Kinesis Video Streams sends media data at a rate of up to 25 megabytes per second
/// (or 200 megabits per second) during a
GetMedia
session.
///
///
///
/// If an error is thrown after invoking a Kinesis Video Streams media API, in addition
/// to the HTTP status code and the response body, it includes the following pieces of
/// information:
///
/// -
///
///
x-amz-ErrorType
HTTP header – contains a more specific error type in
/// addition to what the HTTP status code provides.
///
/// -
///
///
x-amz-RequestId
HTTP header – if you want to report an issue to AWS,
/// the support team can better diagnose the problem if given the Request Id.
///
///
///
/// Both the HTTP status code and the ErrorType header can be utilized to make programmatic
/// decisions about whether errors are retry-able and under what conditions, as well as
/// provide information on what actions the client programmer might need to take in order
/// to successfully try again.
///
///
///
/// For more information, see the Errors section at the bottom of this topic, as
/// well as Common
/// Errors.
///
///
///
/// Container for the necessary parameters to execute the GetMedia service method.
///
/// The response from the GetMedia service method, as returned by KinesisVideoMedia.
///
/// Kinesis Video Streams has throttled the request because you have exceeded the limit
/// of allowed client calls. Try making the call later.
///
///
/// Kinesis Video Streams has throttled the request because you have exceeded the limit
/// of allowed client connections.
///
///
/// The value for this input parameter is invalid.
///
///
/// Status Code: 400, Caller used wrong endpoint to write data to a stream. On receiving
/// such an exception, the user must call GetDataEndpoint
with AccessMode
/// set to "READ" and use the endpoint Kinesis Video returns in the next GetMedia
/// call.
///
///
/// Status Code: 403, The caller is not authorized to perform an operation on the given
/// stream, or the token has expired.
///
///
/// Status Code: 404, The stream with the given name does not exist.
///
/// REST API Reference for GetMedia Operation
GetMediaResponse GetMedia(GetMediaRequest request);
///
/// Use this API to retrieve media content from a Kinesis video stream. In the request,
/// you identify the stream name or stream Amazon Resource Name (ARN), and the starting
/// chunk. Kinesis Video Streams then returns a stream of chunks in order by fragment
/// number.
///
///
///
/// You must first call the GetDataEndpoint
API to get an endpoint. Then
/// send the GetMedia
requests to this endpoint using the --endpoint-url
/// parameter.
///
///
///
/// When you put media data (fragments) on a stream, Kinesis Video Streams stores each
/// incoming fragment and related metadata in what is called a "chunk." For more information,
/// see PutMedia.
/// The GetMedia
API returns a stream of these chunks starting from the chunk
/// that you specify in the request.
///
///
///
/// The following limits apply when using the GetMedia
API:
///
/// -
///
/// A client can call
GetMedia
up to five times per second per stream.
///
/// -
///
/// Kinesis Video Streams sends media data at a rate of up to 25 megabytes per second
/// (or 200 megabits per second) during a
GetMedia
session.
///
///
///
/// If an error is thrown after invoking a Kinesis Video Streams media API, in addition
/// to the HTTP status code and the response body, it includes the following pieces of
/// information:
///
/// -
///
///
x-amz-ErrorType
HTTP header – contains a more specific error type in
/// addition to what the HTTP status code provides.
///
/// -
///
///
x-amz-RequestId
HTTP header – if you want to report an issue to AWS,
/// the support team can better diagnose the problem if given the Request Id.
///
///
///
/// Both the HTTP status code and the ErrorType header can be utilized to make programmatic
/// decisions about whether errors are retry-able and under what conditions, as well as
/// provide information on what actions the client programmer might need to take in order
/// to successfully try again.
///
///
///
/// For more information, see the Errors section at the bottom of this topic, as
/// well as Common
/// Errors.
///
///
///
/// Container for the necessary parameters to execute the GetMedia service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetMedia service method, as returned by KinesisVideoMedia.
///
/// Kinesis Video Streams has throttled the request because you have exceeded the limit
/// of allowed client calls. Try making the call later.
///
///
/// Kinesis Video Streams has throttled the request because you have exceeded the limit
/// of allowed client connections.
///
///
/// The value for this input parameter is invalid.
///
///
/// Status Code: 400, Caller used wrong endpoint to write data to a stream. On receiving
/// such an exception, the user must call GetDataEndpoint
with AccessMode
/// set to "READ" and use the endpoint Kinesis Video returns in the next GetMedia
/// call.
///
///
/// Status Code: 403, The caller is not authorized to perform an operation on the given
/// stream, or the token has expired.
///
///
/// Status Code: 404, The stream with the given name does not exist.
///
/// REST API Reference for GetMedia Operation
Task GetMediaAsync(GetMediaRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}