StreamInfos

StreamInfos — Stream info interfaces

Functions

Types and Values

Description

Stream info interfaces

Functions

flu_stream_info_clear ()

void
flu_stream_info_clear (FluStreamInfo *sinfo);

Clear (initialize to default values) a FluStreamInfo structure and frees associated memory.

Parameters

sinfo

The information to clear

 

flu_stream_info_copy ()

void
flu_stream_info_copy (FluStreamInfo *target,
                      const FluStreamInfo *src);

Copy the information of a stream This function will copy data from a source FluStreamInfo into a target structure. While doing so it will first free the members of target to avoid memory leaks. Target does not need to be of the same type as src.

WARNING: Use flu_stream_info_clear() to clear and free the information of the struct

Parameters

target

The FluStreamInfo to write the information to

 

src

The FluStreamInfo to copy the information from

 

flu_stream_info_merge ()

void
flu_stream_info_merge (FluStreamInfo *target,
                       const FluStreamInfo *src);

Merge the information of a stream with another information. This function will merge data from a source FluStreamInfo into a target structure. Merging means copying fields that are present in source but not in target. Both src and target should be of the same type or target should be of unknown type.

Parameters

target

The FluStreamInfo to merge the information into

 

src

The FluStreamInfo to merge the information from

 

Types and Values

enum FluStreamType

Enum values used to describe different type of streams handled by an FluPlayer.

Members

FLU_STREAM_TYPE_UNKNOWN

Unknown stream type, mostly used for uninitialized.

 

FLU_STREAM_TYPE_VIDEO

Video stream.

 

FLU_STREAM_TYPE_AUDIO

Audio stream.

 

FLU_STREAM_TYPE_TEXT

Text stream.

 

FLU_STREAM_TYPE_DATA

Data stream.

 

enum FluStreamTextType

Enum values used to describe different type of text data that can be received by a text FluStream.

Members

FLU_STREAM_TEXT_TYPE_UNKNOWN

Unknown text data format.

 

FLU_STREAM_TEXT_TYPE_PANGO_MARKUP

UTF-8 text using Pango Markup language.

 

FLU_STREAM_TEXT_TYPE_PLAIN

UTF-8 plain text with no markup.

 

FLU_STREAM_TEXT_TYPE_TTML

TTML Markup language.

 

FLU_STREAM_TEXT_TYPE_SUBPICTURE_DVB

   

enum FluStreamDataType

Enum values used to describe different type of data stream that can be received by a data FluStream.

Members

FLU_STREAM_DATA_TYPE_UNKNOWN

Unknown data stream format.

 

FLU_STREAM_DATA_TYPE_XML

XML content.

 

enum FluStreamVideoFrameFormat

Enum values to describe different type of frame formats used when exporting to a file.

Members

FLU_STREAM_VIDEO_FILE_FORMAT_JPEG

JPEG

 

FLU_STREAM_VIDEO_FILE_FORMAT_PNG

PNG

 

enum FluStreamVideoOrientation

Enum values used to describe different video orientations

Members

FLU_STREAM_VIDEO_ORIENTATION_UNKNOWN

Unknown video orientation

 

FLU_STREAM_VIDEO_ORIENTATION_0

No rotation

 

FLU_STREAM_VIDEO_ORIENTATION_90

90 degrees clockwise rotation

 

FLU_STREAM_VIDEO_ORIENTATION_180

180 degrees clockwise rotation

 

FLU_STREAM_VIDEO_ORIENTATION_270

270 degrees clockwise rotation

 

FLU_STREAM_VIDEO_ORIENTATION_FLIP_0

No rotation and horizontal mirroring

 

FLU_STREAM_VIDEO_ORIENTATION_FLIP_90

90 degrees clockwise rotation and horizontal mirroring

 

FLU_STREAM_VIDEO_ORIENTATION_FLIP_180

180 degrees clockwise rotation and horizontal mirroring

 

FLU_STREAM_VIDEO_ORIENTATION_FLIP_270

270 degrees clockwise rotation and horizontal mirroring

 

enum FluStreamVideoCodecType

List of known codecs that can be used for encoding

Members

FLU_STREAM_VIDEO_CODEC_UNKNOWN

Unknown video codec

 

FLU_STREAM_VIDEO_CODEC_H264

H264 / AVC video codec

 

FLU_STREAM_VIDEO_CODEC_WMV

Windows media video codec

 

FLU_STREAM_VIDEO_CODEC_H265

H265 / HEVC video codec

 

enum FluStreamH264Profile

List of available profiles for H264 encoding

Members

FLU_STREAM_H264_PROFILE_DEFAULT

Default profile

 

FLU_STREAM_H264_PROFILE_CONSTRAINED

Constrained

 

FLU_STREAM_H264_PROFILE_BASELINE

Baseline

 

FLU_STREAM_H264_PROFILE_MAIN

Main

 

FLU_STREAM_H264_PROFILE_EXTENDED

Extended

 

FLU_STREAM_H264_PROFILE_HIGH

High

 

FluStreamVideoCodecSettingsH264

typedef struct {
  guint keyframe_period_ms;
  FluStreamH264Profile profile;
} FluStreamVideoCodecSettingsH264;

Members

guint keyframe_period_ms;

Distance between keyframes in miliseconds (zero means auto-detection)

 

FluStreamH264Profile profile;

Profile selected Configuration related to FLU_STREAM_VIDEO_CODEC_H264

 

FluStreamVideoCodecSettings

Union with specific settings for each video codec

Members


FluStreamVideoCodec

typedef struct {
  FluStreamVideoCodecType type;
  FluStreamVideoCodecSettings settings;
} FluStreamVideoCodec;

Members

FluStreamVideoCodecType type;

video codec used

 

FluStreamVideoCodecSettings settings;

specific settings for eeach video codec

 

FluStreamVideoInfo

typedef struct {
  gint width;
  gint height;
  gint fps_n;
  gint fps_d;
  gint par_n;
  gint par_d;
  gint bitrate;
  gchar *codec;
  FluStreamVideoOrientation orientation;
  FluStreamVideoCodec vcodec;
} FluStreamVideoInfo;

Video specific information about an FluStream.

Members

gint width;

Video width in pixels

 

gint height;

Video height in pixels

 

gint fps_n;

Video framerate, fraction numerator

 

gint fps_d;

Video framerate, fraction denominator

 

gint par_n;

Video pixel aspect ratio, fraction numerator

 

gint par_d;

Video pixel aspect ratio, fraction denominator

 

gint bitrate;

Video compression bitrate in bits per seconds

 

gchar *codec;

Video codec name used for compression

 

FluStreamVideoOrientation orientation;

Orientation information

 

FluStreamVideoCodec vcodec;

Struct describing the codec used to encode this stream. If the stream belongs to an FluPlayer, it describes the original codec used. If the stream belongs to an FluRecorder, it describes the desired codec to use when encoding.

 

enum FluStreamAudioCodec

List of known codecs that can be used for encoding

Members

FLU_STREAM_AUDIO_CODEC_UNKNOWN

   

FLU_STREAM_AUDIO_CODEC_AAC

   

FLU_STREAM_AUDIO_CODEC_MP3

   

FLU_STREAM_AUDIO_CODEC_WMA

   

FLU_STREAM_AUDIO_CODEC_AC3

   

FLU_STREAM_AUDIO_CODEC_EAC3

   

FluStreamAudioInfo

typedef struct {
  gint features;
  gint channels;
  gint rate;
  gint width;
  gint depth;
  gint bitrate;
  gchar *language;
  gchar *iso;
  gchar *codec;
  guint extension;
  gboolean audio_description;
  FluStreamAudioCodec acodec;
} FluStreamAudioInfo;

Audio specific information about an FluStream.

Members

gint features;

For optional fields, this mask specified which ones are set

 

gint channels;

Number of audio channels

 

gint rate;

Audio sampling rate in Hz

 

gint width;

Audio sample size in bits

 

gint depth;

Meaningful bits in an audio sample

 

gint bitrate;

Audio compression bitrate in bits per second

 

gchar *language;

Audio language name

 

gchar *iso;

Audio language ISO 639-2T code

 

gchar *codec;

Audio codec name used for compression

 

guint extension;

Audio extension

 

gboolean audio_description;

   

FluStreamAudioCodec acodec;

The audio codec used to encode this stream. If the stream belongs to an FluPlayer, it describes the original codec used. If the stream belongs to an FluRecorder, it describes the desired codec to use when encoding.

 

FluStreamTextInfo

typedef struct {
  FluStreamTextType type;
  gint features;
  gchar *language;
  gchar *iso;
  gchar *codec;
  guint extension;
  gboolean external;
  gboolean hearing_impaired;
} FluStreamTextInfo;

Members

FluStreamTextType type;

An FluStreamTextType describing text data format for that stream

 

gint features;

   

gchar *language;

Text language name

 

gchar *iso;

Text language ISO 639-2T code

 

gchar *codec;

Text codec name used for encoding

 

guint extension;

Text extension

 

gboolean external;

TRUE if this stream comes from an external file instead of being embedded in the media Text specific information about an FluStream.

 

gboolean hearing_impaired;

   

FluStreamDataInfo

typedef struct {
  FluStreamDataType type;
  gchar *mime;
  gchar *content;
} FluStreamDataInfo;

Members

FluStreamDataType type;

An FluStreamDataType describing data format for that stream

 

gchar *mime;

mimetype of the content inside the stream.

 

gchar *content;

content type specific used by that stream. of being embedded in the media Text specific information about an FluStream.

 

FluStreamInfoData

Generic "stream info data" type, used only in FluStreamInfo;


FluStreamInfo

typedef struct {
  FluStreamType type;
  gint features;

  gint index;
  guint group_index;

  guint component_tag;
  guint av_pid;
  gboolean is_encrypted;
  gchar *hbbtv_kind;

  FluStreamInfoData data;
} FluStreamInfo;

Generic structure providing information about an FluStream. Use the type field to know how to access data in the FluStreamInfoData union .

Members

FluStreamType type;

FluStreamType describing the stream type

 

gint features;

   

gint index;

Stream index

 

guint group_index;

Common index number between streams of the same group

 

guint component_tag;

   

guint av_pid;

   

gboolean is_encrypted;

   

gchar *hbbtv_kind;

   

FluStreamInfoData data;

Union providing type specific information about the stream