/*
* 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-webrtc-storage-2018-05-10.normal.json service model.
*/
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.KinesisVideoWebRTCStorage.Model;
namespace Amazon.KinesisVideoWebRTCStorage
{
///
/// Interface for accessing KinesisVideoWebRTCStorage
///
///
///
public partial interface IAmazonKinesisVideoWebRTCStorage : IAmazonService, IDisposable
{
#region JoinStorageSession
///
/// Join the ongoing one way-video and/or multi-way audio WebRTC session as a video producing
/// device for an input channel. If there’s no existing session for the channel, a new
/// streaming session needs to be created, and the Amazon Resource Name (ARN) of the signaling
/// channel must be provided.
///
///
///
/// Currently for the SINGLE_MASTER
type, a video producing device is able
/// to ingest both audio and video media into a stream, while viewers can only ingest
/// audio. Both a video producing device and viewers can join the session first, and wait
/// for other participants.
///
///
///
/// While participants are having peer to peer conversations through webRTC, the ingested
/// media session will be stored into the Kinesis Video Stream. Multiple viewers are able
/// to playback real-time media.
///
///
///
/// Customers can also use existing Kinesis Video Streams features like HLS
/// or DASH
playback, Image generation, and more with ingested WebRTC media.
///
///
///
/// Assume that only one video producing device client can be associated with a session
/// for the channel. If more than one client joins the session of a specific channel as
/// a video producing device, the most recent client request takes precedence.
///
///
///
/// Container for the necessary parameters to execute the JoinStorageSession service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the JoinStorageSession service method, as returned by KinesisVideoWebRTCStorage.
///
/// You do not have required permissions to perform this operation.
///
///
/// Kinesis Video Streams has throttled the request because you have exceeded the limit
/// of allowed client calls. Try making the call later.
///
///
/// The value for this input parameter is invalid.
///
///
/// The specified resource is not found.
///
/// REST API Reference for JoinStorageSession Operation
Task JoinStorageSessionAsync(JoinStorageSessionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}