From: Jaroslav Kysela Date: Thu, 10 Jul 2014 12:35:38 +0000 (+0200) Subject: SAT>IP: fix the bug in satip_rtsp_play() - split add/del requests X-Git-Tag: v4.1~1771 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=be6049c8d346175c65681285924572cd87f97a72;p=thirdparty%2Ftvheadend.git SAT>IP: fix the bug in satip_rtsp_play() - split add/del requests --- diff --git a/src/input/mpegts/satip/satip_rtsp.c b/src/input/mpegts/satip/satip_rtsp.c index ad3aa1cda..cf6ed2a22 100644 --- a/src/input/mpegts/satip/satip_rtsp.c +++ b/src/input/mpegts/satip/satip_rtsp.c @@ -266,7 +266,7 @@ satip_rtsp_play( http_client_t *hc, const char *pids, if (addpids) { if (delpids) { /* try to maintain the maximum request size - simple split */ - if (strlen(addpids) + strlen(delpids) <= max_pids_len) + if (strlen(addpids) + strlen(delpids) >= max_pids_len) split = 1; else htsbuf_append(&q, "&", 1); @@ -281,5 +281,12 @@ satip_rtsp_play( http_client_t *hc, const char *pids, query = htsbuf_to_string(&q); r = rtsp_play(hc, stream, query); free(query); + if (r >= 0 && split) { + htsbuf_queue_init(&q, 0); + htsbuf_qprintf(&q, "addpids=%s", addpids); + query = htsbuf_to_string(&q); + r = rtsp_play(hc, stream, query); + free(query); + } return r; }