@@ -130,6 +130,7 @@ typedef struct {
130130 ngx_str_t recorder ;
131131 u_char name [NGX_RTMP_MAX_NAME ];
132132 u_char args [NGX_RTMP_MAX_ARGS ];
133+ u_char starttime [NGX_RTMP_MAX_NAME ];
133134 ngx_array_t push_exec ; /* ngx_rtmp_exec_t */
134135 ngx_rtmp_exec_pull_ctx_t * pull ;
135136} ngx_rtmp_exec_ctx_t ;
@@ -396,6 +397,10 @@ static ngx_rtmp_eval_t ngx_rtmp_exec_event_specific_eval[] = {
396397 ngx_rtmp_exec_eval_ctx_str ,
397398 offsetof(ngx_rtmp_exec_ctx_t , recorder ) },
398399
400+ { ngx_string ("starttime" ),
401+ ngx_rtmp_exec_eval_ctx_cstr ,
402+ offsetof(ngx_rtmp_exec_ctx_t , starttime ) },
403+ 399404 ngx_rtmp_null_eval
400405};
401406
@@ -900,6 +905,7 @@ ngx_rtmp_exec_init_ctx(ngx_rtmp_session_t *s, u_char name[NGX_RTMP_MAX_NAME],
900905 ngx_rtmp_exec_conf_t * ec ;
901906 ngx_rtmp_exec_app_conf_t * eacf ;
902907 ngx_rtmp_exec_main_conf_t * emcf ;
908+ time_t t ;
903909
904910 ctx = ngx_rtmp_get_module_ctx (s , ngx_rtmp_exec_module );
905911
@@ -956,6 +962,10 @@ ngx_rtmp_exec_init_ctx(ngx_rtmp_session_t *s, u_char name[NGX_RTMP_MAX_NAME],
956962 ngx_memcpy (ctx -> name , name , NGX_RTMP_MAX_NAME );
957963 ngx_memcpy (ctx -> args , args , NGX_RTMP_MAX_ARGS );
958964
965+ t = time ( 0 );
966+ strftime ((char * )(ctx -> starttime ), sizeof (ctx -> starttime ),
967+ "%Y%m%d%H%M%S" , localtime (& t ));
968+ 959969 ctx -> flags |= flags ;
960970
961971 return NGX_OK ;
0 commit comments