GNOME Bugzilla – Bug 552199
Parsing SDP file with multicast address fails
Last modified: 2008-10-06 16:36:19 UTC
Please describe the problem: When SDP file has c= field with multicast address the parser fails to remove TTL part and regards that as part of IP address. See attached files stream-with-multicast-address.sdp and debug log file gst-sdpdemux-before-fix.txt. According to RFC2327 the address is separated from TTL by "/" character but the code expects whitespace. See proposed fix in file gst-sdp-multicast-address-fix.patch and gst-sdpdemux-after-fix.txt for a debug log when the patch is applied. Steps to reproduce: gst-launch --gst-debug=sdpdemux:5 filesrc location=stream-with-multicast-address.sdp Actual results: Expected results: Does this happen every time? yes Other information: Excerpt from RFC2327: connection-address = multicast-address | addr multicast-address = 3*(decimal-uchar ".") decimal-uchar "/" ttl [ "/" integer ]
Created attachment 118685 [details] stream-with-multicast-address.sdp
Created attachment 118686 [details] debug log: gst-sdpdemux-before-fix.txt
Created attachment 118687 [details] debug log: gst-sdpdemux-after-fix.txt
Created attachment 118688 [details] [review] proposed fix: gst-sdp-multicast-address-fix.patch
Based on Patch by: Tero Saarni <tero dot saarni at gmail dot com> * gst-libs/gst/sdp/gstsdpmessage.c: (gst_sdp_parse_line), (print_media), (gst_sdp_message_dump): Fix parsing of the c= field containing multicast addresses. Fixes #552199. Add the connection info to the session or streams. Fix parsing of the bandwidth. Add debugging for the connections and bandwidths for a media. Add debugging for the bandwidth of the session.