summaryrefslogtreecommitdiffstats
path: root/src/modules/rtp/rtsp_client.c
diff options
context:
space:
mode:
authorDaniel Mack <daniel@caiaq.de>2009-09-14 16:25:35 +0800
committerDaniel Mack <daniel@caiaq.de>2009-09-14 16:25:35 +0800
commitbebaa491650c48697b861ec5e76816e9af1a8803 (patch)
treeb57d38476473f8fc6e282f8c39f730c936fa10d4 /src/modules/rtp/rtsp_client.c
parentc6d330ef91ce401660f907536b1bfd0591c14c2a (diff)
parent180ef1eebdfbdf0220af1fb5e4bf43e348207cde (diff)
Merge branch 'master' of git://0pointer.de/pulseaudio
Diffstat (limited to 'src/modules/rtp/rtsp_client.c')
-rw-r--r--src/modules/rtp/rtsp_client.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/modules/rtp/rtsp_client.c b/src/modules/rtp/rtsp_client.c
index 72d304e8..915c1072 100644
--- a/src/modules/rtp/rtsp_client.c
+++ b/src/modules/rtp/rtsp_client.c
@@ -214,11 +214,13 @@ static void line_callback(pa_ioline *line, const char *s, void *userdata) {
/* End of headers */
/* We will have a header left from our looping iteration, so add it in :) */
if (c->last_header) {
+ char *tmp = pa_strbuf_tostring_free(c->header_buffer);
/* This is not a continuation header so let's dump it into our proplist */
- pa_headerlist_puts(c->response_headers, c->last_header, pa_strbuf_tostring_free(c->header_buffer));
+ pa_headerlist_puts(c->response_headers, c->last_header, tmp);
+ pa_xfree(tmp);
pa_xfree(c->last_header);
c->last_header = NULL;
- c->header_buffer= NULL;
+ c->header_buffer = NULL;
}
pa_log_debug("Full response received. Dispatching");
@@ -240,9 +242,11 @@ static void line_callback(pa_ioline *line, const char *s, void *userdata) {
}
if (c->last_header) {
+ char *tmp = pa_strbuf_tostring_free(c->header_buffer);
/* This is not a continuation header so let's dump the full
header/value into our proplist */
- pa_headerlist_puts(c->response_headers, c->last_header, pa_strbuf_tostring_free(c->header_buffer));
+ pa_headerlist_puts(c->response_headers, c->last_header, tmp);
+ pa_xfree(tmp);
pa_xfree(c->last_header);
c->last_header = NULL;
c->header_buffer = NULL;
@@ -452,6 +456,8 @@ static int rtsp_exec(pa_rtsp_client* c, const char* cmd,
l = pa_iochannel_write(c->io, hdrs, strlen(hdrs));
pa_xfree(hdrs);
+ /* FIXME: this is broken, not necessarily all bytes are written */
+
return 0;
}