MillicastSDK 2.0.0
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations | Functions
millicast Namespace Reference

Namespaces

namespace  codec
 Namespace where you can find constant for the codec names.
 
namespace  detail
 
namespace  rtcstats
 

Classes

class  AsyncOperationCancelled
 Error category for errors triggered when the operation failed because it was abandoned for various reasons. More...
 
class  AudioControl
 The AudioControl class. More...
 
struct  AudioFrame
 The AudioFrame struct used to described audio data. More...
 
class  AudioPlayback
 The AudioPlayback class. More...
 
class  AudioRenderer
 The AudioRenderer class is responsible for rendering audio in a specific way in your application. More...
 
class  AudioSource
 The AudioSource class. More...
 
class  AudioTrack
 The AudioTrack class. More...
 
struct  BitrateSettings
 Allows setting the desired minimum and/or maximum bitrates when publishing a stream. You can also use disable_bwe to disable the internal bandwidth estimation and utilise the maximum bitrate provided as the sending bitrate. More...
 
class  Client
 The Client base class. More...
 
class  ClientBase
 
struct  ClientConnectionOptions
 Connection related options. More...
 
struct  ClientJsonData
 Authentication data returned by the director api in order to open a websocket connection. More...
 
struct  ClientOption
 The ClientOption struct allows to setup the millicast connection. More...
 
class  CustomAudioSource
 
class  CustomVideoSource
 
class  DeckLinkRenderer
 The DeckLinkRenderer class is used to render video on a DeckLink device. More...
 
class  EncodedAudioFrame
 
class  EncodedFrame
 
class  EncodedVideoFrame
 
class  Error
 The errors reported by the Millicast SDK. More...
 
struct  ErrorCategoryBase
 Helper for defining error categories in the Millicast SDK. More...
 
class  EventConnection
 
class  Exception
 
struct  FrameMetadata
 
class  GenericError
 Error category for other errors. More...
 
class  HttpError
 
class  Logger
 
class  Media
 The Media class is used to manage media sources. More...
 
class  NdiRenderer
 The NdiRenderer class is used to render video as an ndi source. More...
 
class  Promise
 
class  Publisher
 The Publisher class. Its purpose is to publish media to a Millicast stream. More...
 
struct  PublisherCredentials
 The Credentials struct represent the credentials need to be able to connect and publish to a Millicast stream. More...
 
struct  PublisherOption
 Option specific to the publisher. More...
 
class  Renderer
 The Renderer base class. A renderer is used to render video on screen or render audio. More...
 
class  RtsRemoteAudioTrack
 
class  RtsRemoteTrack
 
class  RtsRemoteVideoTrack
 
class  SeiMessage
 A common interface class that can be used as a container for Sei Messages. More...
 
class  SeiPicTiming
 This class is just a shell, it is currently not functional. It represents SEI Pic timing timecode messages as specified by the H264 standard. More...
 
class  SeiUserUnregisteredData
 Holds a User Data Unregistered Sei message. More...
 
class  Source
 The Source base class. More...
 
class  Span
 
class  StatsReport
 
struct  StreamPublishDetails
 General information about the current publishing session session. More...
 
struct  StreamViewDetails
 general information about the current viewing session. More...
 
class  Track
 The Track class represent a media sources. More...
 
struct  TrackInfo
 Useful informations about the available tracks in the media server. These informations are received in the active event of the Viewer. More...
 
class  VideoCapabilities
 The VideoCapabilities struct. More...
 
class  VideoFrame
 The VideoFrame class used to described a VideoFrame. More...
 
class  VideoRenderer
 The VideoRenderer class Inherits this class to receive video frames and render them in your application. More...
 
class  VideoSource
 The VideoSource class. More...
 
class  VideoTrack
 The VideoTrack class. More...
 
class  Viewer
 The Viewer class. Its purpose is to receive media by subscribing to a millicast stream. The stream must already exists and someone must publish media. More...
 
struct  ViewerCredentials
 The ViewerCredentials struct represent the credentials need to be able to connect and subscribe to a Millicast stream. More...
 
struct  ViewerOption
 
class  WebrtcRemoteAudioTrack
 
class  WebrtcRemoteTrack
 
class  WebrtcRemoteVideoTrack
 

Typedefs

using StreamDetails = std::variant< StreamViewDetails, StreamPublishDetails >
 
using EncodedVideoFrameCallback = std::function< void(EncodedVideoFrame &)>
 
using EncodedAudioFrameCallback = std::function< void(EncodedAudioFrame &)>
 
template<typename... EventTypes>
using EventHandler = std::function< void(const EventTypes &...)>
 
using EventConnectionPtr = std::unique_ptr< EventConnection >
 
using StatObject = std::unique_ptr< const rtcstats::Stats >
 

Enumerations

enum class  VideoType {
  UNKNOWN , I420 , I444 , I210 ,
  IYUV , RGB24 , ARGB , RGB565 ,
  YUY2 , YV12 , NV12 , UYVY ,
  MJPEG , BGRA , NATIVE
}
 The VideoType enum represent the pixel format used for video frames. More...
 
enum class  PrimaryID : uint8_t {
  BT709 = 1 , UNSPECIFIED = 2 , BT470M = 4 , BT470BG = 5 ,
  SMPTE170M = 6 , SMPTE240M = 7 , FILM = 8 , BT2020 = 9 ,
  SMPTEST428 = 10 , SMPTEST431 = 11 , SMPTEST432 = 12 , JEDECP22 = 22
}
 The PrimaryID enum represents the standard of image parameters used for video frames. More...
 
enum class  TransferID : uint8_t {
  BT709 = 1 , UNSPECIFIED = 2 , GAMMA22 = 4 , GAMMA28 = 5 ,
  SMPTE170M = 6 , SMPTE240M = 7 , LINEAR = 8 , LOG = 9 ,
  LOG_SQRT = 10 , IEC61966_2_4 = 11 , BT1361_ECG = 12 , IEC61966_2_1 = 13 ,
  BT2020_10 = 14 , BT2020_12 = 15 , SMPTEST2084 = 16 , SMPTEST428 = 17 ,
  ARIB_STD_B67 = 18
}
 The TransferID enum represents the transfer function used for video frames. More...
 
enum class  MatrixID : uint8_t {
  RGB = 0 , BT709 = 1 , UNSPECIFIED = 2 , FCC = 4 ,
  BT470BG = 5 , SMPTE170M = 6 , SMPTE240M = 7 , YCOCG = 8 ,
  BT2020_NCL = 9 , BT2020_CL = 10 , SMPTE2085 = 11 , CDNCLS = 12 ,
  CDCLS = 13 , BT2100_ICTCP = 14
}
 The MatrixID enum represents the color matrix to use for conversion between color spaces. More...
 
enum class  RangeID { INVALID = 0 , LIMITED = 1 , FULL = 2 , DERIVED = 3 }
 The RangeID enum represents the color range values. More...
 
enum class  DegradationPreferences { DISABLED , MAINTAIN_RESOLUTION , MAINTAIN_FRAMERATE , BALANCED }
 The DegradationPreferences enum. More...
 
enum class  LogLevel {
  MC_OFF , MC_ERROR , MC_WARNING , MC_LOG ,
  MC_DEBUG , MC_VERBOSE
}
 The LogLevel enum specify the severity of a log message. More...
 
enum class  SeiMessageType { PIC_TIMING , UNREGISTERED_USER_DATA }
 
enum class  ScalabilityMode {
  L1_T2 , L1_T2_H , L1_T3 , L1_T3_H ,
  L2_T1 , L2_T1_H , L2_T1_KEY , L2_T2 ,
  L2_T3 , L2_T2_H , L2_T2_KEY , L2_T2_KEY_SHIFT ,
  L2_T3_H , L3_T1 , L3_T2 , L3_T3 ,
  L3_T3_KEY , S2_T1 , S2_T2 , S2_T3 ,
  S3_T1 , S3_T2 , S3_T3 , S2_T1_H ,
  S2_T2_H , S2_T3_H , S3_T1_H , S3_T2_H ,
  S3_T3_H
}
 

Functions

MILLICAST_API std::string video_type_to_str (VideoType t)
 video_type_to_str convert a VideoType enum value to a std::string
 
template<typename EnumT >
std::enable_if_t< std::is_error_condition_enum< EnumT >::value, Errormake_error_condition (EnumT value)
 Helper to create Error object from the enum value defined in Millicast error category.
 
Error MILLICAST_API make_error_condition (AsyncOperationCancelled::Value value, const std::string &message)
 Construct Error in AsyncOperationCancelled category.
 
Error MILLICAST_API make_error_condition (GenericError::Value value, const std::string &message)
 Construct Error in GenericError category.
 
Error MILLICAST_API make_error_condition (HttpError::Value value, const std::string &message)
 Construct Error in HttpError category.
 
template<>
MILLICAST_API Source::Type Source::type< Source::Type > () const
 
template<>
MILLICAST_API std::string Source::type< std::string > () const
 

Typedef Documentation

◆ EncodedAudioFrameCallback

using millicast::EncodedAudioFrameCallback = typedef std::function<void(EncodedAudioFrame&)>

◆ EncodedVideoFrameCallback

using millicast::EncodedVideoFrameCallback = typedef std::function<void(EncodedVideoFrame&)>

type alias transform function callbacks.

◆ EventConnectionPtr

using millicast::EventConnectionPtr = typedef std::unique_ptr<EventConnection>

◆ EventHandler

template<typename... EventTypes>
using millicast::EventHandler = typedef std::function<void(const EventTypes&...)>

◆ StatObject

using millicast::StatObject = typedef std::unique_ptr<const rtcstats::Stats>

◆ StreamDetails

Enumeration Type Documentation

◆ DegradationPreferences

The DegradationPreferences enum.

Based on the spec in https://w3c.github.io/webrtc-pc/#idl-def-rtcdegradationpreference.

Enumerator
DISABLED 

Don't take any actions based on over-utilization signals.

MAINTAIN_RESOLUTION 

On over-use, request lower frame rate, possibly causing frame drops.

MAINTAIN_FRAMERATE 

On over-use, request lower resolution, possibly causing down-scaling.

BALANCED 

Try to strike a "pleasing" balance between frame rate or resolution.

◆ LogLevel

enum class millicast::LogLevel
strong

The LogLevel enum specify the severity of a log message.

Enumerator
MC_OFF 

Logs disabled

MC_ERROR 

When an error occured

MC_WARNING 

Warn the user about something, but does not prevent a normal utilisation

MC_LOG 

General info about what happen and which steps are performed

MC_DEBUG 

Debug message

MC_VERBOSE 

Very verbose debug message

◆ MatrixID

enum class millicast::MatrixID : uint8_t
strong

The MatrixID enum represents the color matrix to use for conversion between color spaces.

Enumerator
RGB 
BT709 
UNSPECIFIED 
FCC 
BT470BG 
SMPTE170M 
SMPTE240M 
YCOCG 
BT2020_NCL 
BT2020_CL 
SMPTE2085 
CDNCLS 
CDCLS 
BT2100_ICTCP 

◆ PrimaryID

enum class millicast::PrimaryID : uint8_t
strong

The PrimaryID enum represents the standard of image parameters used for video frames.

Enumerator
BT709 
UNSPECIFIED 
BT470M 
BT470BG 
SMPTE170M 
SMPTE240M 
FILM 
BT2020 
SMPTEST428 
SMPTEST431 
SMPTEST432 
JEDECP22 

◆ RangeID

enum class millicast::RangeID
strong

The RangeID enum represents the color range values.

Enumerator
INVALID 
LIMITED 
FULL 
DERIVED 

◆ ScalabilityMode

enum class millicast::ScalabilityMode
strong
Enumerator
L1_T2 
L1_T2_H 
L1_T3 
L1_T3_H 
L2_T1 
L2_T1_H 
L2_T1_KEY 
L2_T2 
L2_T3 
L2_T2_H 
L2_T2_KEY 
L2_T2_KEY_SHIFT 
L2_T3_H 
L3_T1 
L3_T2 
L3_T3 
L3_T3_KEY 
S2_T1 
S2_T2 
S2_T3 
S3_T1 
S3_T2 
S3_T3 
S2_T1_H 
S2_T2_H 
S2_T3_H 
S3_T1_H 
S3_T2_H 
S3_T3_H 

◆ SeiMessageType

enum class millicast::SeiMessageType
strong
Enumerator
PIC_TIMING 
UNREGISTERED_USER_DATA 

◆ TransferID

enum class millicast::TransferID : uint8_t
strong

The TransferID enum represents the transfer function used for video frames.

Enumerator
BT709 
UNSPECIFIED 
GAMMA22 
GAMMA28 
SMPTE170M 
SMPTE240M 
LINEAR 
LOG 
LOG_SQRT 
IEC61966_2_4 
BT1361_ECG 
IEC61966_2_1 
BT2020_10 
BT2020_12 
SMPTEST2084 
SMPTEST428 
ARIB_STD_B67 

◆ VideoType

enum class millicast::VideoType
strong

The VideoType enum represent the pixel format used for video frames.

Enumerator
UNKNOWN 
I420 
I444 
I210 
IYUV 
RGB24 
ARGB 
RGB565 
YUY2 
YV12 
NV12 
UYVY 
MJPEG 
BGRA 
NATIVE 

Function Documentation

◆ make_error_condition() [1/4]

Error MILLICAST_API millicast::make_error_condition ( AsyncOperationCancelled::Value  value,
const std::string &  message 
)

Construct Error in AsyncOperationCancelled category.

Parameters
errorenumerator
messagemessage
Returns
Error object

◆ make_error_condition() [2/4]

template<typename EnumT >
std::enable_if_t< std::is_error_condition_enum< EnumT >::value, Error > millicast::make_error_condition ( EnumT  value)

Helper to create Error object from the enum value defined in Millicast error category.

Parameters
enumeratorfor the error condition.
Returns
Error object

◆ make_error_condition() [3/4]

Error MILLICAST_API millicast::make_error_condition ( GenericError::Value  value,
const std::string &  message 
)

Construct Error in GenericError category.

Parameters
errorenumerator
messagemessage
Returns
Error object

◆ make_error_condition() [4/4]

Error MILLICAST_API millicast::make_error_condition ( HttpError::Value  value,
const std::string &  message 
)

Construct Error in HttpError category.

Parameters
errorenumerator
messagemessage
Returns
Error object

◆ Source::type< Source::Type >()

◆ Source::type< std::string >()

template<>
MILLICAST_API std::string millicast::Source::type< std::string > ( ) const

◆ video_type_to_str()

MILLICAST_API std::string millicast::video_type_to_str ( VideoType  t)

video_type_to_str convert a VideoType enum value to a std::string

Parameters
tThe video type as described in VideoType enum.
Returns
The video type name