rtspsrc: handle NULL rtpmap and parse error better
authorWim Taymans <wtaymans@redhat.com>
Thu, 20 Mar 2014 10:12:51 +0000 (11:12 +0100)
committerWim Taymans <wtaymans@redhat.com>
Thu, 20 Mar 2014 10:12:51 +0000 (11:12 +0100)
gst/rtsp/gstrtspsrc.c

index 41c4940..8455ffe 100644 (file)
@@ -1769,15 +1769,17 @@ gst_rtspsrc_media_to_caps (gint pt, const GstSDPMedia * media)
   /* get and parse rtpmap */
   rtpmap = rtsp_get_attribute_for_pt (media, "rtpmap", pt);
 
+  if (rtpmap) {
+    ret = gst_rtspsrc_parse_rtpmap (rtpmap, &payload, &name, &rate, &params);
+    if (!ret) {
+      g_warning ("error parsing rtpmap, ignoring");
+      rtpmap = NULL;
+    }
+  }
   /* dynamic payloads need rtpmap or we fail */
   if (rtpmap == NULL && pt >= 96)
     goto no_rtpmap;
 
-  ret = gst_rtspsrc_parse_rtpmap (rtpmap, &payload, &name, &rate, &params);
-  if (!ret) {
-    g_warning ("error parsing rtpmap, ignoring");
-  }
-
   /* check if we have a rate, if not, we need to look up the rate from the
    * default rates based on the payload types. */
   if (rate == -1) {