diff options
Diffstat (limited to 'stream')
-rw-r--r-- | stream/librtsp/rtsp_session.c | 2 | ||||
-rw-r--r-- | stream/realrtsp/real.c | 2 | ||||
-rw-r--r-- | stream/realrtsp/sdpplin.c | 1 |
3 files changed, 4 insertions, 1 deletions
diff --git a/stream/librtsp/rtsp_session.c b/stream/librtsp/rtsp_session.c index 72734e8776..72b8a2a607 100644 --- a/stream/librtsp/rtsp_session.c +++ b/stream/librtsp/rtsp_session.c @@ -94,6 +94,7 @@ static void rtsp_close(rtsp_t *s) { if (s->mrl) free(s->mrl); if (s->session) free(s->session); if (s->user_agent) free(s->user_agent); + free(s->server); rtsp_free_answers(s); rtsp_unschedule_all(s); free(s); @@ -194,6 +195,7 @@ rtsp_session_t *rtsp_session_start(int fd, char **mrl, char *path, char *host, rtsp_session->real_session->header_len; } rtsp_session->real_session->recv_read = 0; + rmff_free_header(h); } else /* not a Real server : try RTP instead */ { char *public = NULL; diff --git a/stream/realrtsp/real.c b/stream/realrtsp/real.c index a5b37f6e34..29c88335be 100644 --- a/stream/realrtsp/real.c +++ b/stream/realrtsp/real.c @@ -249,7 +249,7 @@ static rmff_header_t *real_parse_sdp(char *data, char **stream_rules, uint32_t b if (!desc->stream[i]->mlti_data) { len = 0; - buf = NULL; + buf = xbuffer_free(buf); } else len=select_mlti_data(desc->stream[i]->mlti_data, desc->stream[i]->mlti_data_size, rulematches[0], &buf); diff --git a/stream/realrtsp/sdpplin.c b/stream/realrtsp/sdpplin.c index c4104fb00c..9669b085fd 100644 --- a/stream/realrtsp/sdpplin.c +++ b/stream/realrtsp/sdpplin.c @@ -376,6 +376,7 @@ void sdpplin_free(sdpplin_t *description) { free(description->stream[i]->mlti_data); if (description->stream[i]->asm_rule_book) free(description->stream[i]->asm_rule_book); + free(description->stream[i]->id); free(description->stream[i]); } } |