Class MediaSource

Definition

Namespace:
Tizen.Multimedia.Remoting
Assembly:
Tizen.Multimedia.Remoting.dll

MediaSource is a base class for WebRTC sources.

C#
Copy
public abstract class MediaSource
Inheritance
object
MediaSource
Derived

Constructors

View Source

MediaSource()

Initializes a new instance of the MediaSource class.

Declaration
C#
Copy
protected MediaSource()
View Source

MediaSource(MediaType)

Initializes a new instance of the MediaSource class.

Declaration
C#
Copy
protected MediaSource(MediaType mediaType)
Parameters
Type Name Description
MediaType mediaType

Properties

View Source

EncoderBitrate

Gets or sets the encoder bitrate of the current media source.

Declaration
C#
Copy
public int EncoderBitrate { get; set; }
Property Value
Type Description
int

A value that specifies the encoder bitrate.

Remarks

This API is not supported in MediaFileSource, MediaPacketSource.

Exceptions
Type Condition
System.ArgumentException

EncoderBitrate is less than or equal to zero.

System.InvalidOperationException

MediaSource is not attached yet.
-or-
This MediaSource is not Video. -or-
This MediaSource is not supported type of MediaSource.

System.ObjectDisposedException

The WebRTC has already been disposed.

View Source

MediaType

Gets the type of MediaSource.

Declaration
C#
Copy
protected MediaType MediaType { get; }
Property Value
Type Description
MediaType

MediaType

View Source

Mute

Gets or sets the mute status of the current media source.

Declaration
C#
Copy
public bool Mute { get; set; }
Property Value
Type Description
bool

A value that specifies the mute status.

Remarks

This API is not supported in MediaFileSource, MediaPacketSource, MediaNullSource. (Since API level 10)

Exceptions
Type Condition
System.InvalidOperationException

MediaSource is not attached yet.
-or-
This MediaSource is not supported type of MediaSource. (Since API level 10)

System.ObjectDisposedException

The WebRTC has already been disposed.

View Source

Pause

Gets or sets the pause status of current media source.

Declaration
C#
Copy
public bool Pause { get; set; }
Property Value
Type Description
bool

A value that specifies the pause status.

Exceptions
Type Condition
System.InvalidOperationException

MediaSource is not attached yet.
-or-
This MediaSource is not supported type of MediaSource. (Since API level 10)

System.ObjectDisposedException

The WebRTC has already been disposed.

View Source

SupportedTransceiverCodecs

Retrieves the supported transceiver codecs.

Declaration
C#
Copy
public ReadOnlyCollection<TransceiverCodec> SupportedTransceiverCodecs { get; }
Property Value
Type Description
System.Collections.ObjectModel.ReadOnlyCollection<T><TransceiverCodec>

The transceiver codecs.

Remarks

This API is not supported in MediaFileSource, MediaPacketSource.
If user want to get supported codecs for each audio or video in MediaNullSource, please use GetSupportedTransceiverCodecs(MediaType) instead.

Exceptions
Type Condition
System.InvalidOperationException

This MediaSource is not supported type of MediaSource.

System.ObjectDisposedException

The WebRTC has already been disposed.

View Source

TransceiverCodec

Gets or sets the transceiver codec of current media source.

Declaration
C#
Copy
public TransceiverCodec TransceiverCodec { get; set; }
Property Value
Type Description
TransceiverCodec

The transceiver codec.

Remarks

This API is not supported in MediaFileSource, MediaPacketSource.
If MediaNullSource, please use GetTransceiverCodec(MediaType) or SetTransceiverCodec(MediaType, TransceiverCodec) instead.
The WebRTC must be in the Idle state when transceiver codec is set.

Exceptions
Type Condition
System.InvalidOperationException

MediaSource is not attached yet.
-or-
This MediaSource is not supported type of MediaSource.
-or-
The WebRTC is not in the valid state.

System.ObjectDisposedException

The WebRTC has already been disposed.

View Source

TransceiverDirection

Gets or sets the transceiver direction of current media source.

Declaration
C#
Copy
public TransceiverDirection TransceiverDirection { get; set; }
Property Value
Type Description
TransceiverDirection

A TransceiverDirection that specifies the transceiver direction.

Remarks

The default value is SendRecv except MediaNullSource.
If user want to set each audio, video direction in MediaFileSource, please use SetTransceiverDirection(MediaType, TransceiverDirection). (Since API level 10)
In MediaNullSource, only RecvOnly can be set.(Since API level 10)

Exceptions
Type Condition
System.InvalidOperationException

MediaSource is not attached yet.
-or-
SendOnly or SendRecv is set for MediaNullSource. (Since API level 10)

System.ObjectDisposedException

The WebRTC has already been disposed.

View Source

VideoFrameRate

Gets or sets the video frame rate of the current media source.

Declaration
C#
Copy
public int VideoFrameRate { get; set; }
Property Value
Type Description
int

A value that specifies the video frame rate.

Remarks

This API is only supported in video media source, especially MediaCameraSource, MediaScreenSource, MediaTestSource.

Exceptions
Type Condition
System.ArgumentException

VideoFrameRate is less than or equal to zero.

System.InvalidOperationException

MediaSource is not attached yet.
-or-
This MediaSource is not Video. -or-
This MediaSource is not supported type of MediaSource.

System.ObjectDisposedException

The WebRTC has already been disposed.

View Source

VideoResolution

Gets or sets the video resolution of the current media source.

Declaration
C#
Copy
public Size VideoResolution { get; set; }
Property Value
Type Description
Size

A value that specifies the video resolution.

Exceptions
Type Condition
System.InvalidOperationException

MediaSource is not attached yet.
-or-
This MediaSource is not Video. -or-
This MediaSource is not supported type of MediaSource.

System.ObjectDisposedException

The WebRTC has already been disposed.

Methods

View Source

EnableAudioLoopback(AudioStreamPolicy)

Enables the audio loopback. The local audio will be played with policy.

Declaration
C#
Copy
public MediaStreamTrack EnableAudioLoopback(AudioStreamPolicy policy)
Parameters
Type Name Description
AudioStreamPolicy policy

The AudioStreamPolicy to apply.

Returns
Type Description
MediaStreamTrack

MediaStreamTrack

Remarks

MediaSource does not support all AudioStreamType.
Supported types are Media, Voip, MediaExternalOnly.

Exceptions
Type Condition
System.ArgumentNullException

policy is null.

System.InvalidOperationException

MediaSource is not attached yet.
-or-
This MediaSource is not Audio

System.NotSupportedException

AudioStreamType of policy is not supported on the current platform.

System.ObjectDisposedException

policy or WebRTC has already been disposed.

View Source

EnableVideoLoopback(Display)

Enables the video loopback. The local video will be diaplayed in display.

Declaration
C#
Copy
public MediaStreamTrack EnableVideoLoopback(Display display)
Parameters
Type Name Description
Display display

The Display to apply.

Returns
Type Description
MediaStreamTrack

MediaStreamTrack

Exceptions
Type Condition
System.ArgumentException

The display has already been assigned to another.

System.ArgumentNullException

display is null.

System.InvalidOperationException

MediaSource is not attached yet.
-or-
This MediaSource is not Video

System.ObjectDisposedException

The WebRTC has already been disposed.