StreamInfos

Description

Stream info interfaces

flu_stream_info_clear ()

void flu_stream_info_clear (FluStreamInfo *sinfo);

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

Since: 1.0

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

Since: 1.0

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.

Since: 1.0

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.

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.

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.

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.

FLU_STREAM_VIDEO_FILE_FORMAT_JPEG

JPEG

FLU_STREAM_VIDEO_FILE_FORMAT_PNG

PNG

enum FluStreamVideoOrientation

Enum values used to describe different video orientations

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

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

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;

FluStreamVideoCodecSettings

Union with specific settings for each video codec

FluStreamVideoCodec

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

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.

enum FluStreamAudioCodec

List of known codecs that can be used for encoding

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.

FluStreamTextInfo

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

FluStreamDataInfo

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

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 .