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

📄 output.h

📁 this ebook is for GSM if any one has interest in it you can take it
💻 H
字号:
#ifndef STREAM_H#define STREAM_H#include "getstream.h"#include "libhttp.h"#include <glib/glist.h>#include <event.h>#define RTCP_BUFFER_SIZE	4096#define RTCP_VERSION_OFF	0#define RTCP_VERSION_SHIFT	6#define RTCP_PT_OFF		1#define	RTCP_VERSION(x)		(x[RTCP_VERSION_OFF]>>RTCP_VERSION_SHIFT)#define RTCP_PT(x)		(x[RTCP_PT_OFF])#define RTP_PT_H261		31		/* RFC2032 */#define RTP_PT_MP2T		33		/* RFC2250 */#define RTP_PT_RR		201#define RTP_PT_BYE		203#define RTP_PT_OFF		1#define RTP_VERSION_OFF		0#define RTP_SEQ_OFF		2#define RTP_TSTAMP_OFF		4#define RTP_SSRC_OFF		8#define RTP_MAX_PAYLOAD		1000#define RTP_MAX_TS		(RTP_MAX_PAYLOAD/TS_PACKET_SIZE)#define RTP_HEADROOM		12enum {	OTYPE_UDP,	OTYPE_RTP,	OTYPE_RTCP,	OTYPE_HTTP,	OTYPE_PIPE};#if 0struct stream_out_rtp_s {	/* RTCP informations */	int			rtcpfd;	struct event		rtcpevent;	char			*rtcpbuf;	struct sockaddr		*rtcpsockaddr;	int			rtcpsockaddrlen;	/* RTP Informations */	int			rtpfd;	struct addrspec		local,				remote;	struct rtp_receiver_s	*rcvr;	int			ttl;	uint8_t			*buffer;	int			buffervalid;};#endifstruct http_receiver_s {	struct http_receiver_s	*next;	struct http_connection	*hc;	struct output_s		*output;	int			overflow;};struct rtp_receiver_s {	struct rtp_receiver_s	*next;	char			*addr;	int			port;	struct sockaddr_in	sin;	int			sinlen;	time_t			lastrr;	uint32_t		ssrc;};struct output_s	{	/* Config elements */	struct output_s		*next;	int			type;	/* Simple Buffer */	void			*buffer;	/* UDP & RTP - MCast or UCast */	char			*remoteaddr;	int			remoteport;	int			ttl;	/* RTCP or HTTP local port or local address */	char			*localaddr;	struct sap_s		*sap;	/* */	//struct channel_s	*channel;	struct stream_s		*stream;	int			receiver;		/* No of receivers */	int			sockfd;	/* RTP/RTCP */	uint8_t			*rtcpbuffer;	struct rtp_receiver_s	*rtpreceiver;	int			rtcpfd;	uint16_t		rtpseq;	uint32_t		rtpssrc;	int			rtpport,				rtcpport;	struct event		rtcpevent;	/* HTTP */	char			*url;	GList			*http_receiver;	struct http_url		*hurl;	/* PIPE */	struct {		char			*filename;		int			fd;		time_t			last;		struct event		event;	} pipe;};int output_init(struct output_s *channel);int output_init_udp(struct output_s *o);int output_init_rtp(struct output_s *o);int output_init_http(struct output_s *o);int output_init_pipe(struct output_s *o);void output_send(struct output_s *c, uint8_t *tsp);void output_send_udp(struct output_s *o, uint8_t *tsp);void output_send_rtp(struct output_s *o, uint8_t *tsp);void output_send_http(struct output_s *o, uint8_t *tsp);void output_send_pipe(struct output_s *o, uint8_t *tsp);#endif

⌨️ 快捷键说明

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