diff --git a/stream/dap_stream.c b/stream/dap_stream.c index 5b06c950f2a4c00aa8ebc3de21f8576271493dd2..238e0a5ff1cde23062dcc920dcc0107e209f38f0 100755 --- a/stream/dap_stream.c +++ b/stream/dap_stream.c @@ -168,6 +168,9 @@ void stream_headers_read(dap_http_client_t * cl_ht, void * arg) if(dap_stream_session_open(ss)==0){ // Create new stream dap_stream_t * sid = stream_new(cl_ht); sid->session=ss; + dap_http_header_t *header = dap_http_header_find(cl_ht->in_headers, "Service-Key"); + if (header) + sid->service_key = strdup(header->value); size_t count_channels = strlen(ss->active_channels); for(size_t i = 0; i < count_channels; i++) { dap_stream_ch_new(sid, ss->active_channels[i]); diff --git a/stream/dap_stream.h b/stream/dap_stream.h index 2a149cc58b4325a3e7bc13015fafd4411768e6a4..1fe18072490fcd620e4a224d9a45ca0ceb86b679 100755 --- a/stream/dap_stream.h +++ b/stream/dap_stream.h @@ -83,6 +83,8 @@ typedef struct dap_stream { dap_stream_ch_t * channel[255]; // TODO reduce channels to 16 to economy memory size_t channel_count; + char *service_key; + size_t frame_sent; // Frame counter size_t seq_id; diff --git a/stream/dap_stream_ctl.c b/stream/dap_stream_ctl.c index e4095d6362f399e4c67f43b6e8a70bb23bd3c802..f4038a9e0fba56060839d699f52de73a9a5d1766 100755 --- a/stream/dap_stream_ctl.c +++ b/stream/dap_stream_ctl.c @@ -111,6 +111,7 @@ void stream_ctl_proc(struct dap_http_simple *cl_st, void * arg) l_new_session = true; } else if(strcmp(dg->url_path, "socket_forward" ) == 0) { + l_channels_str[0] = '\0'; l_new_session = true; } /* }else if (strcmp(dg->url_path,"stream_ctl")==0) {