dcaparse: Don't unmap buffer before accessing data from it
authorArun Raghavan <arun@arunraghavan.net>
Sun, 3 Sep 2017 09:53:10 +0000 (15:23 +0530)
committerArun Raghavan <arun@arunraghavan.net>
Sun, 3 Sep 2017 09:53:10 +0000 (15:23 +0530)
The previous patch added a check for a substream header after
gst_buffer_unmap(), which is incorrect.

gst/audioparsers/gstdcaparse.c

index 3746eef..a31f9d3 100644 (file)
@@ -446,9 +446,6 @@ gst_dca_parse_handle_frame (GstBaseParse * parse,
     gst_base_parse_set_frame_rate (parse, rate, block_size, 0, 0);
   }
 
-cleanup:
-  gst_buffer_unmap (buf, &map);
-
   /* it is possible that DTS HD substream after DTS core */
   if (parse->flags & GST_BASE_PARSE_FLAG_DRAINING || map.size >= size + 9) {
     extra_size = 0;
@@ -481,6 +478,9 @@ cleanup:
     ret = GST_FLOW_OK;
   }
 
+cleanup:
+  gst_buffer_unmap (buf, &map);
+
   return ret;
 }