format_type.h

Overview

Related Modules:

Format

Description:

Declares format-related structures and enumerations, including custom data types for file information, programs, information about audio and video subtitle tracks, source data types, output data types, split types, and data frames.

Since:

1.0

Version:

1.0

Summary

Data Structures

Data Structure Name

Description

FormatBufferSetting

Defines the buffer configuration.

FormatFrame

Defines the data frame, which is used for data transferring.

AudioTrackInfo

Defines audio track information.

VideoTrackInfo

Defines video track information.

SubImageInfo

Defines image information.

ImageTrackInfo

Defines image stream information.

SubtitleTrackInfo

Defines subtitle stream information.

TrackInfo

Defines track information.

ProgramInfo

Defines program information.

FileInfo

Defines movie file information.

BufferStream

Defines the function for reading stream data.

FormatSource

Defines the demuxer data source.

FormatOutputConfig

Defines the muxer output configuration.

VideoTrackSourceInfo

Defines information about the muxer video source.

AudioTrackSourceInfo

Defines information about the muxer audio source.

DataTrackSourceInfo

Defines information about the muxer data source.

TrackSource

Defines information about the muxer source.

FormatCallback

Defines listener callbacks for the format.

Macros

Macro Name and Value

Description

FORMAT_MAX_LANGUAGE_NUM   4

 

FORMAT_LANGUAGE_LEN   4

 

FORMAT_TITLE_LEN   64

 

FORMAT_INVALID_TRACK_ID   -1

 

FORMAT_INVALID_PROGRAM_ID   -1

 

URL_LEN   4096

 

Typedefs

Typedef Name

Description

CALLBACK_HANDLE

typedef void * 

Indicates the pointer to the callback handle for listening the muxer.

Enumerations

Enumeration Name

Description

FrameType {   FRAME_TYPE_NONE, FRAME_TYPE_AUDIO, FRAME_TYPE_VIDEO, FRAME_TYPE_IMAGE,   FRAME_TYPE_SUB, FRAME_TYPE_DATA, FRAME_TYPE_BUT }

Enumerates data frame types.

FormatSeekMode { FORMAT_SEEK_MODE_FORWARD_KEY, FORMAT_SEEK_MODE_BACKWARD_KEY, FORMAT_SEEK_MODE_CLOSEST_KEY, SEEK_MODE_BUT }

Enumerates seek modes.

CodecFormat {   CODEC_H264 = 0, CODEC_H265, CODEC_JPEG, CODEC_AAC,   CODEC_G711A, CODEC_G711U, CODEC_PCM, CODEC_MP3,   CODEC_BUT }

Enumerates audio, video, and image encoding formats.

AudioSampleFmt {   AUDIO_SAMPLE_FMT_S8 = 0, AUDIO_SAMPLE_FMT_S16, AUDIO_SAMPLE_FMT_S24, AUDIO_SAMPLE_FMT_S32,   AUDIO_SAMPLE_FMT_FLOAT }

Enumerates audio sampling formats.

SubtitleFrameType { HI_SVR_SUBTITLE_BITMAP = 0x0, HI_SVR_SUBTITLE_TEXT }

Enumerates subtitle frame types.

SubtitleFormat {   FORMAT_SUB_ASS = 0x0, FORMAT_SUB_LRC, FORMAT_SUB_SRT, FORMAT_SUB_SMI,   FORMAT_SUB_SUB, FORMAT_SUB_TXT, FORMAT_SUB_HDMV_PGS, FORMAT_SUB_DVB_SUB,   FORMAT_SUB_DVD_SUB, FORMAT_SUB_TTML, FORMAT_SUB_WEBVTT, FORMAT_SUB_BUTT }

Enumerates subtitle file formats.

TrackType {   TRACK_TYPE_VIDEO, TRACK_TYPE_AUDIO, TRACK_TYPE_IMAGE, TRACK_TYPE_SUB,   TRACK_TYPE_DATA, TRACK_TYPE_BUT }

Enumerates track types.

DataFlags {   DATA_FLAG_NONE = 0, DATA_FLAG_SYNCFRAME = 1, DATA_FLAG_CODECCONFIG = 2, DATA_FLAG_EOS = 4,   DATA_FLAG_PARTIAL_FRAME = 8, DATA_FLAG_ENDOFFRAME = 16, DATA_FLAG_MUXER_DATA = 32 }

Enumerates flags of raw stream data.

SourceType { SOURCE_TYPE_FD = 0, SOURCE_TYPE_URI, SOURCE_TYPE_STREAM, SOURCE_TYPE_BUT }

Enumerates types of the demuxer data source.

OutputFormat {   OUTPUT_FORMAT_MPEG_4 = 0, OUTPUT_FORMAT_TS = 1, OUTPUT_FORMAT_THREE_GPP = 2, OUTPUT_FORMAT_HEIF = 3,   OUTPUT_FORMAT_OGG = 4, OUTPUT_FORMAT_INVALID }

Enumerates output file formats.

FormatInfoType {   MUXER_INFO_MAX_DURATION_APPROACHING = 0, MUXER_INFO_MAX_FILESIZE_APPROACHING, MUXER_INFO_MAX_DURATION_REACHED, MUXER_INFO_MAX_FILESIZE_REACHED,   MUXER_INFO_NEXT_OUTPUT_FILE_STARTED, MUXER_INFO_FILE_SPLIT_FINISHED, MUXER_INFO_FILE_START_TIME_MS, DEMUXER_INFO_PREPARED = 10000,   DEMUXER_INFO_SEEK_COMPLETE, DEMUXER_INFO_NETWORK_DISCONNECTED, DEMUXER_INFO_NETWORK_RECONNECTED }

Enumerates types of callback information.

FormatErrorType

Enumerates callback error types.

OutputType { OUTPUT_TYPE_FD = 0, OUTPUT_TYPE_URI, OUTPUT_TYPE_INVALID }

Enumerates muxer output types.

ManualSplitType { MANUAL_SPLIT_POST = 0, MANUAL_SPLIT_PRE, MANUAL_SPLIT_NORMAL }

Enumerates manual split types for the muxer.

TrackSourceType { TRACK_SOURCE_TYPE_VIDEO = 0, TRACK_SOURCE_TYPE_AUDIO, TRACK_SOURCE_TYPE_DATA, TRACK_SOURCE_TYPE_INVALID }

Enumerates types of the muxer source track.