nginx-mod-rtmp/ngx_rtmp_relay_module.h

73 lines
2.2 KiB
C
Raw Normal View History

2013-11-03 20:11:37 +01:00
2012-05-18 12:25:30 +02:00
/*
2013-11-03 20:11:37 +01:00
* Copyright (C) Roman Arutyunyan
2012-05-18 12:25:30 +02:00
*/
#ifndef _NGX_RTMP_RELAY_H_INCLUDED_
#define _NGX_RTMP_RELAY_H_INCLUDED_
2013-11-30 08:21:53 +01:00
2012-05-18 12:25:30 +02:00
#include <ngx_config.h>
#include <ngx_core.h>
2012-05-18 12:25:30 +02:00
#include "ngx_rtmp.h"
typedef struct {
ngx_url_t url;
ngx_str_t app;
ngx_str_t name;
ngx_str_t tc_url;
ngx_str_t page_url;
ngx_str_t swf_url;
ngx_str_t flash_ver;
ngx_str_t play_path;
ngx_int_t live;
ngx_int_t start;
ngx_int_t stop;
2013-05-13 10:13:11 +02:00
void *tag; /* usually module reference */
void *data; /* module-specific data */
ngx_uint_t counter; /* mutable connection counter */
} ngx_rtmp_relay_target_t;
2012-07-19 10:10:59 +02:00
typedef struct ngx_rtmp_relay_ctx_s ngx_rtmp_relay_ctx_t;
struct ngx_rtmp_relay_ctx_s {
ngx_str_t name;
ngx_str_t url;
ngx_log_t log;
ngx_rtmp_session_t *session;
ngx_rtmp_relay_ctx_t *publish;
ngx_rtmp_relay_ctx_t *play;
ngx_rtmp_relay_ctx_t *next;
ngx_str_t app;
ngx_str_t tc_url;
ngx_str_t page_url;
ngx_str_t swf_url;
ngx_str_t flash_ver;
ngx_str_t play_path;
ngx_int_t live;
ngx_int_t start;
ngx_int_t stop;
ngx_event_t push_evt;
2013-01-14 19:58:10 +01:00
ngx_event_t *static_evt;
2012-07-19 10:10:59 +02:00
void *tag;
void *data;
};
extern ngx_module_t ngx_rtmp_relay_module;
ngx_int_t ngx_rtmp_relay_pull(ngx_rtmp_session_t *s, ngx_str_t *name,
ngx_rtmp_relay_target_t *target);
ngx_int_t ngx_rtmp_relay_push(ngx_rtmp_session_t *s, ngx_str_t *name,
ngx_rtmp_relay_target_t *target);
2012-05-18 12:25:30 +02:00
#endif /* _NGX_RTMP_RELAY_H_INCLUDED_ */