xine-lib: xine-lib-1.2.12/src/demuxers/asfheader.h File Reference

xine-lib 1.2.12

Data Structures | Macros | Typedefs | Enumerations | Functions
asfheader.h File Reference
`#include <inttypes.h>`

Go to the source code of this file.

## Data Structures
struct | asf_header_s
struct | asf_file_s
struct | asf_content_s
struct | asf_stream_s
struct | asf_stream_extension_s

## Macros
#define | ASF_MAX_NUM_STREAMS 23

## Typedefs
typedef struct asf_header_s | asf_header_t
typedef struct asf_file_s | asf_file_t
typedef struct asf_content_s | asf_content_t
typedef struct asf_stream_s | asf_stream_t
typedef struct asf_stream_extension_s | asf_stream_extension_t

## Enumerations
enum | asf_guid_t { GUID_ERROR = 0 , GUID_ASF_HEADER , GUID_ASF_DATA , GUID_ASF_SIMPLE_INDEX , GUID_INDEX , GUID_MEDIA_OBJECT_INDEX , GUID_TIMECODE_INDEX , GUID_ASF_FILE_PROPERTIES , GUID_ASF_STREAM_PROPERTIES , GUID_ASF_HEADER_EXTENSION , GUID_ASF_CODEC_LIST , GUID_ASF_SCRIPT_COMMAND , GUID_ASF_MARKER , GUID_ASF_BITRATE_MUTUAL_EXCLUSION , GUID_ASF_ERROR_CORRECTION , GUID_ASF_CONTENT_DESCRIPTION , GUID_ASF_EXTENDED_CONTENT_DESCRIPTION , GUID_ASF_STREAM_BITRATE_PROPERTIES , GUID_ASF_EXTENDED_CONTENT_ENCRYPTION , GUID_ASF_PADDING , GUID_ASF_AUDIO_MEDIA , GUID_ASF_VIDEO_MEDIA , GUID_ASF_COMMAND_MEDIA , GUID_ASF_JFIF_MEDIA , GUID_ASF_DEGRADABLE_JPEG_MEDIA , GUID_ASF_FILE_TRANSFER_MEDIA , GUID_ASF_BINARY_MEDIA , GUID_ASF_NO_ERROR_CORRECTION , GUID_ASF_AUDIO_SPREAD , GUID_ASF_MUTEX_BITRATE , GUID_ASF_MUTEX_UKNOWN , GUID_ASF_RESERVED_1 , GUID_ASF_RESERVED_SCRIPT_COMMNAND , GUID_ASF_RESERVED_MARKER , GUID_ASF_AUDIO_CONCEAL_NONE , GUID_ASF_CODEC_COMMENT1_HEADER , GUID_ASF_2_0_HEADER , GUID_EXTENDED_STREAM_PROPERTIES , GUID_ADVANCED_MUTUAL_EXCLUSION , GUID_GROUP_MUTUAL_EXCLUSION , GUID_STREAM_PRIORITIZATION , GUID_BANDWIDTH_SHARING , GUID_LANGUAGE_LIST , GUID_METADATA , GUID_METADATA_LIBRARY , GUID_INDEX_PARAMETERS , GUID_MEDIA_OBJECT_INDEX_PARAMETERS , GUID_TIMECODE_INDEX_PARAMETERS , GUID_ADVANCED_CONTENT_ENCRYPTION , GUID_COMPATIBILITY , GUID_END }

## Functions
asf_guid_t | asf_guid_2_num (const uint8_t *guid)
void | asf_guid_2_str (uint8_t *str, const uint8_t *guid)
const char * | asf_guid_name (asf_guid_t num)
asf_header_t * | asf_header_new (uint8_t *buffer, int buffer_len)
void | asf_header_choose_streams (asf_header_t *header, uint32_t bandwidth, int *video_id, int *audio_id)
void | asf_header_disable_streams (asf_header_t *header, int video_id, int audio_id)
void | asf_header_delete (asf_header_t *header)

## Macro Definition Documentation

## ◆ ASF_MAX_NUM_STREAMS

#define ASF_MAX_NUM_STREAMS 23

## Typedef Documentation

## ◆ asf_content_t

typedef struct asf_content_s asf_content_t

## ◆ asf_file_t

typedef struct asf_file_s asf_file_t

## ◆ asf_header_t

typedef struct asf_header_s asf_header_t

## ◆ asf_stream_extension_t

typedef struct asf_stream_extension_s asf_stream_extension_t

## ◆ asf_stream_t

typedef struct asf_stream_s asf_stream_t

## Enumeration Type Documentation

## ◆ asf_guid_t

enum asf_guid_t

Enumerator
GUID_ERROR |
GUID_ASF_HEADER |
GUID_ASF_DATA |
GUID_ASF_SIMPLE_INDEX |
GUID_INDEX |
GUID_MEDIA_OBJECT_INDEX |
GUID_TIMECODE_INDEX |
GUID_ASF_FILE_PROPERTIES |
GUID_ASF_STREAM_PROPERTIES |
GUID_ASF_HEADER_EXTENSION |
GUID_ASF_CODEC_LIST |
GUID_ASF_SCRIPT_COMMAND |
GUID_ASF_MARKER |
GUID_ASF_BITRATE_MUTUAL_EXCLUSION |
GUID_ASF_ERROR_CORRECTION |
GUID_ASF_CONTENT_DESCRIPTION |
GUID_ASF_EXTENDED_CONTENT_DESCRIPTION |
GUID_ASF_STREAM_BITRATE_PROPERTIES |
GUID_ASF_EXTENDED_CONTENT_ENCRYPTION |
GUID_ASF_PADDING |
GUID_ASF_AUDIO_MEDIA |
GUID_ASF_VIDEO_MEDIA |
GUID_ASF_COMMAND_MEDIA |
GUID_ASF_JFIF_MEDIA |
GUID_ASF_DEGRADABLE_JPEG_MEDIA |
GUID_ASF_FILE_TRANSFER_MEDIA |
GUID_ASF_BINARY_MEDIA |
GUID_ASF_NO_ERROR_CORRECTION |
GUID_ASF_AUDIO_SPREAD |
GUID_ASF_MUTEX_BITRATE |
GUID_ASF_MUTEX_UKNOWN |
GUID_ASF_RESERVED_1 |
GUID_ASF_RESERVED_SCRIPT_COMMNAND |
GUID_ASF_RESERVED_MARKER |
GUID_ASF_AUDIO_CONCEAL_NONE |
GUID_ASF_CODEC_COMMENT1_HEADER |
GUID_ASF_2_0_HEADER |
GUID_EXTENDED_STREAM_PROPERTIES |
GUID_ADVANCED_MUTUAL_EXCLUSION |
GUID_GROUP_MUTUAL_EXCLUSION |
GUID_STREAM_PRIORITIZATION |
GUID_BANDWIDTH_SHARING |
GUID_LANGUAGE_LIST |
GUID_METADATA |
GUID_METADATA_LIBRARY |
GUID_INDEX_PARAMETERS |
GUID_MEDIA_OBJECT_INDEX_PARAMETERS |
GUID_TIMECODE_INDEX_PARAMETERS |
GUID_ADVANCED_CONTENT_ENCRYPTION |
GUID_COMPATIBILITY |
GUID_END |

## Function Documentation

## ◆ asf_guid_2_num()

asf_guid_t asf_guid_2_num | ( | const uint8_t * | guid | ) |

References sorted_guids, and sorted_nums.

Referenced by asf_header_new(), asf_header_parse_header_extension(), asf_header_parse_stream_extended_properties(), asf_header_parse_stream_properties(), get_guid_id(), and open_plugin().

## ◆ asf_guid_2_str()

void asf_guid_2_str | ( | uint8_t * | str,
|  | const uint8_t * | guid
| ) |  |

References tab_hex.

Referenced by asf_read_header(), and get_guid_id().

## ◆ asf_guid_name()

const char * asf_guid_name | ( | asf_guid_t | num | ) |

References GUID_END, GUID_ERROR, and guid_names.

Referenced by asf_header_parse_stream_properties().

## ◆ asf_header_choose_streams()

void asf_header_choose_streams | ( | asf_header_t * | header,
|  | uint32_t | bandwidth,
|  | int * | video_id,
|  | int * | audio_id
| ) |  |

References asf_header_choose_stream(), asf_header_s::bitrates, GUID_ASF_AUDIO_MEDIA, GUID_ASF_VIDEO_MEDIA, lprintf, asf_header_internal_t::pub, asf_header_s::stream_count, asf_stream_s::stream_number, and asf_header_s::streams.

Referenced by demux_asf_send_headers_common(), mms_choose_best_streams(), and mmsh_connect_int().

## ◆ asf_header_delete()

void asf_header_delete | ( | asf_header_t * | header | ) |

References asf_header_delete_content(), asf_header_delete_file_properties(), asf_header_delete_stream_extended_properties(), asf_header_delete_stream_properties(), ASF_MAX_NUM_STREAMS, asf_header_s::content, asf_header_s::file, asf_header_internal_t::pub, asf_header_s::stream_extensions, and asf_header_s::streams.

Referenced by asf_header_new(), asf_read_header(), demux_asf_dispose(), interp_asf_header(), interp_header(), mms_close(), and mmsh_close().

## ◆ asf_header_disable_streams()

void asf_header_disable_streams | ( | asf_header_t * | header,
|  | int | video_id,
|  | int | audio_id
| ) |  |

References asf_header_internal_t::bitrate_offsets, GUID_ASF_AUDIO_MEDIA, GUID_ASF_VIDEO_MEDIA, lprintf, asf_header_internal_t::pub, asf_header_internal_t::raw_data, asf_header_s::stream_count, asf_stream_s::stream_number, asf_stream_s::stream_type, and asf_header_s::streams.

Referenced by mmsh_connect_int(), and mmsh_connect_int2().

## ◆ asf_header_new()

asf_header_t * asf_header_new | ( | uint8_t * | buffer,
|  | int | buffer_len
| ) |  |

References _X_LE_32, _X_LE_64, asf_guid_2_num(), asf_header_delete(), asf_header_parse_content_description(), asf_header_parse_file_properties(), asf_header_parse_header_extension(), asf_header_parse_stream_bitrate_properties(), asf_header_parse_stream_properties(), ASF_MAX_NUM_STREAMS, asf_reader_eos(), asf_reader_get_block(), asf_reader_get_buffer(), asf_reader_init(), asf_reader_skip(), asf_header_s::aspect_ratios, asf_header_internal_t::bitrate_offsets, asf_header_s::bitrates, asf_header_s::content, asf_header_s::file, GUID_ASF_BITRATE_MUTUAL_EXCLUSION, GUID_ASF_CODEC_LIST, GUID_ASF_CONTENT_DESCRIPTION, GUID_ASF_ERROR_CORRECTION, GUID_ASF_EXTENDED_CONTENT_DESCRIPTION, GUID_ASF_EXTENDED_CONTENT_ENCRYPTION, GUID_ASF_FILE_PROPERTIES, GUID_ASF_HEADER_EXTENSION, GUID_ASF_MARKER, GUID_ASF_PADDING, GUID_ASF_SCRIPT_COMMAND, GUID_ASF_STREAM_BITRATE_PROPERTIES, GUID_ASF_STREAM_PROPERTIES, lprintf, NULL, asf_header_internal_t::number_count, asf_header_internal_t::numbers, asf_header_internal_t::pub, asf_header_internal_t::raw_data, asf_header_s::stream_count, asf_header_s::stream_extensions, asf_header_s::streams, asf_header_s::x, and asf_header_s::y.

Referenced by asf_read_header(), interp_asf_header(), and interp_header().