From 5576444928e578dc17c371de29b4fbe2728c8e2e Mon Sep 17 00:00:00 2001 From: Roman Arutyunyan Date: Mon, 20 Aug 2012 20:44:14 +0400 Subject: [PATCH 1/2] added --- ngx_rtmp_record_module.c | 10 ++++------ ngx_rtmp_record_module.h | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+), 6 deletions(-) create mode 100644 ngx_rtmp_record_module.h diff --git a/ngx_rtmp_record_module.c b/ngx_rtmp_record_module.c index e6e674a..bc434df 100644 --- a/ngx_rtmp_record_module.c +++ b/ngx_rtmp_record_module.c @@ -9,14 +9,12 @@ #include "ngx_rtmp_cmd_module.h" #include "ngx_rtmp_netcall_module.h" #include "ngx_rtmp_codec_module.h" +#include "ngx_rtmp_record_module.h" static ngx_rtmp_publish_pt next_publish; static ngx_rtmp_delete_stream_pt next_delete_stream; -static ngx_int_t ngx_rtmp_record_open(ngx_rtmp_session_t *s); -static ngx_int_t ngx_rtmp_record_close(ngx_rtmp_session_t *s); - static char * ngx_rtmp_notify_on_record_done(ngx_conf_t *cf, ngx_command_t *cmd, void *conf); @@ -223,7 +221,7 @@ ngx_rtmp_record_write_header(ngx_file_t *file) /* This funcion returns pointer to a static buffer */ -static u_char * +u_char * ngx_rtmp_record_make_path(ngx_rtmp_session_t *s) { ngx_rtmp_record_ctx_t *ctx; @@ -256,7 +254,7 @@ ngx_rtmp_record_make_path(ngx_rtmp_session_t *s) } -static ngx_int_t +ngx_int_t ngx_rtmp_record_open(ngx_rtmp_session_t *s) { ngx_rtmp_record_ctx_t *ctx; @@ -451,7 +449,7 @@ ngx_rtmp_record_notify(ngx_rtmp_session_t *s) } -static ngx_int_t +ngx_int_t ngx_rtmp_record_close(ngx_rtmp_session_t *s) { ngx_rtmp_record_ctx_t *ctx; diff --git a/ngx_rtmp_record_module.h b/ngx_rtmp_record_module.h new file mode 100644 index 0000000..b0aa29a --- /dev/null +++ b/ngx_rtmp_record_module.h @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2012 Roman Arutyunyan + */ + + +#ifndef _NGX_RTMP_RECORD_H_INCLUDED_ +#define _NGX_RTMP_RECORD_H_INCLUDED_ + + +#include "ngx_rtmp.h" + + +u_char * ngx_rtmp_record_make_path(ngx_rtmp_session_t *s); + +ngx_int_t ngx_rtmp_record_open(ngx_rtmp_session_t *s); + +ngx_int_t ngx_rtmp_record_close(ngx_rtmp_session_t *s); + + +#endif /* _NGX_RTMP_RECORD_H_INCLUDED_ */ From 5d7a5ea535ed40e7a9459967dc607bb52b10db12 Mon Sep 17 00:00:00 2001 From: Roman Arutyunyan Date: Thu, 30 Aug 2012 18:20:13 +0400 Subject: [PATCH 2/2] moved app, ctx & module to record header --- ngx_rtmp_record_module.c | 23 ----------------------- ngx_rtmp_record_module.h | 26 ++++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/ngx_rtmp_record_module.c b/ngx_rtmp_record_module.c index bc434df..51d2559 100644 --- a/ngx_rtmp_record_module.c +++ b/ngx_rtmp_record_module.c @@ -26,29 +26,6 @@ static ngx_int_t ngx_rtmp_record_write_frame(ngx_rtmp_session_t *s, ngx_rtmp_header_t *h, ngx_chain_t *in); -typedef struct { - ngx_uint_t flags; - ngx_str_t path; - size_t max_size; - size_t max_frames; - ngx_msec_t interval; - ngx_str_t suffix; - ngx_flag_t unique; - ngx_url_t *url; -} ngx_rtmp_record_app_conf_t; - - -typedef struct { - ngx_file_t file; - ngx_uint_t nframes; - uint32_t epoch; - ngx_time_t last; - time_t timestamp; - u_char name[NGX_RTMP_MAX_NAME]; - u_char args[NGX_RTMP_MAX_ARGS]; -} ngx_rtmp_record_ctx_t; - - #define NGX_RTMP_RECORD_OFF 0x01 #define NGX_RTMP_RECORD_AUDIO 0x02 #define NGX_RTMP_RECORD_VIDEO 0x04 diff --git a/ngx_rtmp_record_module.h b/ngx_rtmp_record_module.h index b0aa29a..d3c28c8 100644 --- a/ngx_rtmp_record_module.h +++ b/ngx_rtmp_record_module.h @@ -9,6 +9,29 @@ #include "ngx_rtmp.h" + +typedef struct { + ngx_uint_t flags; + ngx_str_t path; + size_t max_size; + size_t max_frames; + ngx_msec_t interval; + ngx_str_t suffix; + ngx_flag_t unique; + ngx_url_t *url; +} ngx_rtmp_record_app_conf_t; + + +typedef struct { + ngx_file_t file; + ngx_uint_t nframes; + uint32_t epoch; + ngx_time_t last; + time_t timestamp; + u_char name[NGX_RTMP_MAX_NAME]; + u_char args[NGX_RTMP_MAX_ARGS]; +} ngx_rtmp_record_ctx_t; + u_char * ngx_rtmp_record_make_path(ngx_rtmp_session_t *s); @@ -17,4 +40,7 @@ ngx_int_t ngx_rtmp_record_open(ngx_rtmp_session_t *s); ngx_int_t ngx_rtmp_record_close(ngx_rtmp_session_t *s); +extern ngx_module_t ngx_rtmp_record_module; + + #endif /* _NGX_RTMP_RECORD_H_INCLUDED_ */