irtspparse: reflow code to avoid uninitialized variable warning

This should hopefully allow even the most challenged static
code analyzer to figure out that it's all fine. Also makes
the flow clearer.

https://bugzilla.gnome.org/show_bug.cgi?id=751305
This commit is contained in:
Tim-Philipp Müller 2015-06-22 10:49:50 +01:00
parent 39d657c274
commit 794c647f59

View file

@ -163,7 +163,6 @@ gst_irtsp_parse_handle_frame (GstBaseParse * parse,
GstByteReader reader; GstByteReader reader;
gint off; gint off;
GstMapInfo map; GstMapInfo map;
gboolean ret = FALSE;
guint framesize; guint framesize;
gst_buffer_map (buf, &map, GST_MAP_READ); gst_buffer_map (buf, &map, GST_MAP_READ);
@ -191,7 +190,6 @@ gst_irtsp_parse_handle_frame (GstBaseParse * parse,
framesize = GST_READ_UINT16_BE (map.data + 2) + 4; framesize = GST_READ_UINT16_BE (map.data + 2) + 4;
GST_LOG_OBJECT (parse, "got frame size %d", framesize); GST_LOG_OBJECT (parse, "got frame size %d", framesize);
ret = TRUE;
if (!gst_pad_has_current_caps (GST_BASE_PARSE_SRC_PAD (parse))) { if (!gst_pad_has_current_caps (GST_BASE_PARSE_SRC_PAD (parse))) {
GstCaps *caps; GstCaps *caps;
@ -201,10 +199,8 @@ gst_irtsp_parse_handle_frame (GstBaseParse * parse,
gst_caps_unref (caps); gst_caps_unref (caps);
} }
exit: if (framesize <= map.size) {
gst_buffer_unmap (buf, &map); gst_buffer_unmap (buf, &map);
if (ret && framesize <= map.size) {
/* HACK HACK skip header. /* HACK HACK skip header.
* could also ask baseparse to skip this, * could also ask baseparse to skip this,
* but that would give us a discontinuity for free * but that would give us a discontinuity for free
@ -215,6 +211,8 @@ exit:
return gst_base_parse_finish_frame (parse, frame, framesize); return gst_base_parse_finish_frame (parse, frame, framesize);
} }
exit:
gst_buffer_unmap (buf, &map);
return GST_FLOW_OK; return GST_FLOW_OK;
} }