You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.2 KiB
73 lines
2.2 KiB
5 years ago
|
|
||
|
/*
|
||
|
* Copyright (C) Roman Arutyunyan
|
||
|
*/
|
||
|
|
||
|
|
||
|
#ifndef _NGX_RTMP_RELAY_H_INCLUDED_
|
||
|
#define _NGX_RTMP_RELAY_H_INCLUDED_
|
||
|
|
||
|
|
||
|
#include <ngx_config.h>
|
||
|
#include <ngx_core.h>
|
||
|
#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;
|
||
|
|
||
|
void *tag; /* usually module reference */
|
||
|
void *data; /* module-specific data */
|
||
|
ngx_uint_t counter; /* mutable connection counter */
|
||
|
} ngx_rtmp_relay_target_t;
|
||
|
|
||
|
|
||
|
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;
|
||
|
ngx_event_t *static_evt;
|
||
|
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);
|
||
|
|
||
|
|
||
|
#endif /* _NGX_RTMP_RELAY_H_INCLUDED_ */
|