Asterisk - The Open Source Telephony Project  21.4.1
Data Structures | Macros | Functions | Variables
res_format_attr_h264.c File Reference

H.264 Format Attribute Module. More...

#include "asterisk.h"
#include "asterisk/module.h"
#include "asterisk/format.h"

Go to the source code of this file.

Data Structures

struct  h264_attr
 

Macros

#define APPEND_IF_NONZERO(field, str, name)
 
#define APPEND_IF_NOT_H264_UNSET(field, str, name)
 
#define DETERMINE_JOINT(joint, attr1, attr2, field)   (joint->field = (attr1 && attr1->field) ? attr1->field : (attr2 && attr2->field) ? attr2->field : 0)
 
#define H264_ATTR_KEY_UNSET   UINT8_MAX
 Value that indicates an attribute is actually unset.
 
#define H264_MAX_SPS_PPS_SIZE   16
 Maximum size for SPS / PPS values in sprop-parameter-sets attribute if you change this value then you must change H264_MAX_SPS_PPS_SIZE_SCAN_LIMIT as well.
 
#define H264_MAX_SPS_PPS_SIZE_SCAN_LIMIT   "15"
 This is used when executing sscanf on buffers of H264_MAX_SPS_PPS_SIZE length. It must ALWAYS be a string literal representation of one less than H264_MAX_SPS_PPS_SIZE.
 

Functions

static void __reg_module (void)
 
static void __unreg_module (void)
 
struct ast_moduleAST_MODULE_SELF_SYM (void)
 
static int h264_clone (const struct ast_format *src, struct ast_format *dst)
 
static enum ast_format_cmp_res h264_cmp (const struct ast_format *format1, const struct ast_format *format2)
 
static void h264_destroy (struct ast_format *format)
 
static void h264_generate_sdp_fmtp (const struct ast_format *format, unsigned int payload, struct ast_str **str)
 
static struct ast_formath264_getjoint (const struct ast_format *format1, const struct ast_format *format2)
 
static struct ast_formath264_parse_sdp_fmtp (const struct ast_format *format, const char *attributes)
 
static int load_module (void)
 
static int unload_module (void)
 

Variables

static struct ast_module_info __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_DEFAULT , .description = "H.264 Format Attribute Module" , .key = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .buildopt_sum = "da6642af068ee5e6490c5b1d2cc1d238" , .support_level = AST_MODULE_SUPPORT_CORE, .load = load_module, .unload = unload_module, }
 
static const struct ast_module_infoast_module_info = &__mod_info
 
static struct ast_format_interface h264_interface
 

Detailed Description

H.264 Format Attribute Module.

Author
Joshua Colp <jcolp@digium.com> 

This is a format attribute module for the H.264 codec.

Definition in file res_format_attr_h264.c.