⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frame.h

📁 IAX协议客户端源码
💻 H
字号:
/* * libiax: An implementation of the Inter-Asterisk eXchange protocol * * Asterisk internal frame definitions. *  * Copyright (C) 1999, Mark Spencer * * Mark Spencer <markster@linux-support.net> * * This program is free software, distributed under the terms of * the GNU Lesser General Public License.  Other components of * Asterisk are distributed under The GNU General Public License * only. */#ifndef _LIBIAX_FRAME_H#define _LIBIAX_FRAME_H#if defined(__cplusplus) || defined(c_plusplus)extern "C" {#endif/* Frame types */#define AST_FRAME_DTMF		1		/* A DTMF digit, subclass is the digit */#define AST_FRAME_VOICE		2		/* Voice data, subclass is AST_FORMAT_* */#define AST_FRAME_VIDEO		3		/* Video frame, maybe?? :) */#define AST_FRAME_CONTROL	4		/* A control frame, subclass is AST_CONTROL_* */#define AST_FRAME_NULL		5		/* An empty, useless frame */#define AST_FRAME_IAX		6		/* Inter Aterisk Exchange private frame type */#define AST_FRAME_TEXT		7		/* Text messages */#define AST_FRAME_IMAGE		8		/* Image Frames */#define AST_FRAME_HTML		9		/* HTML Frames */#define AST_FRAME_CNG           10		/* Comfort Noise frame (subclass is level of CNG in -dBov) *//* HTML subclasses */#define AST_HTML_URL		1		/* Sending a URL */#define AST_HTML_DATA		2		/* Data frame */#define AST_HTML_BEGIN		4		/* Beginning frame */#define AST_HTML_END		8		/* End frame */#define AST_HTML_LDCOMPLETE	16		/* Load is complete */#define AST_HTML_NOSUPPORT	17		/* Peer is unable to support HTML */#define AST_HTML_LINKURL	18		/* Send URL and track */#define AST_HTML_UNLINK		19		/* Request no more linkage */#define AST_HTML_LINKREJECT	20		/* Reject LINKURL *//* Data formats for capabilities and frames alike *//*! G.723.1 compression */#define AST_FORMAT_G723_1       (1 << 0)	/*! GSM compression */#define AST_FORMAT_GSM          (1 << 1)	/*! Raw mu-law data (G.711) */#define AST_FORMAT_ULAW         (1 << 2)	/*! Raw A-law data (G.711) */#define AST_FORMAT_ALAW         (1 << 3)	/*! ADPCM (G.726, 32kbps) */#define AST_FORMAT_G726         (1 << 4)	/*! ADPCM (IMA) */#define AST_FORMAT_ADPCM        (1 << 5)	/*! Raw 16-bit Signed Linear (8000 Hz) PCM */#define AST_FORMAT_SLINEAR      (1 << 6)	/*! LPC10, 180 samples/frame */#define AST_FORMAT_LPC10        (1 << 7)	/*! G.729A audio */#define AST_FORMAT_G729A        (1 << 8)	/*! SpeeX Free Compression */#define AST_FORMAT_SPEEX        (1 << 9)	/*! iLBC Free Compression */#define AST_FORMAT_ILBC         (1 << 10)	/*! Maximum audio format */#define AST_FORMAT_MAX_AUDIO    (1 << 15)	/*! JPEG Images */#define AST_FORMAT_JPEG         (1 << 16)	/*! PNG Images */#define AST_FORMAT_PNG          (1 << 17)	/*! H.261 Video */#define AST_FORMAT_H261         (1 << 18)	/*! H.263 Video */#define AST_FORMAT_H263         (1 << 19)	/*! H.263+ Video  */#define AST_FORMAT_H263p	(1 << 20)	/*! H.264 Video*/#define AST_FORMAT_H264		(1 << 21)	/*! MPEG4 Video*/#define AST_FORMAT_MPEG4	(1 << 22)	/*! Theora Video */#define AST_FORMAT_THEORA	(1 << 24)	/*! Max one */#define AST_FORMAT_MAX_VIDEO    (1 << 24)/* Control frame types */#define AST_CONTROL_HANGUP		1			/* Other end has hungup */#define AST_CONTROL_RING		2			/* Local ring */#define AST_CONTROL_RINGING 	3			/* Remote end is ringing */#define AST_CONTROL_ANSWER		4			/* Remote end has answered */#define AST_CONTROL_BUSY		5			/* Remote end is busy */#define AST_CONTROL_TAKEOFFHOOK 6			/* Make it go off hook */#define AST_CONTROL_OFFHOOK		7			/* Line is off hook */#define AST_CONTROL_CONGESTION	8			/* Congestion (circuits busy) */#define AST_CONTROL_FLASH		9			/* Flash hook */#define AST_CONTROL_WINK		10			/* Wink */#define AST_CONTROL_OPTION		11			/* Set an option */#define AST_FRIENDLY_OFFSET		64			/* Reserved header space */struct ast_frame {        /*! Kind of frame */        int frametype;        /*! Subclass, frame dependent */        int subclass;        /*! Length of data */        int datalen;        /*! Number of 8khz samples in this frame */        int samples;        /*! Was the data malloc'd?  i.e. should we free it when we discard the frame? */        int mallocd;        /*! How far into "data" the data really starts */        int offset;        /*! Optional source of frame for debugging */        char *src;        /*! Pointer to actual data */        void *data;        /*! Next/Prev for linking stand alone frames */        struct ast_frame *prev;       /*! Next/Prev for linking stand alone frames */        struct ast_frame *next;                                                                /* Unused except if debugging is turned on, but left                                                                   in the struct so that it can be turned on without                                                                   requiring a recompile of the whole thing */};#if defined(__cplusplus) || defined(c_plusplus)}#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -