Add unmap buffer in error case
[platform/core/multimedia/libmm-wfd.git] / src / mm_wfd_sink_util.c
index a5801b4..9093f63 100644 (file)
@@ -57,17 +57,19 @@ _mm_wfd_sink_util_dump(GstPad *pad, GstPadProbeInfo *info, gpointer u_data)
                GstMapInfo buf_info;
                GstBuffer *buffer = gst_pad_probe_info_get_buffer(info);
 
-               gst_buffer_map(buffer, &buf_info, GST_MAP_READ);
-
-               wfd_sink_debug("got buffer %p with size %d", buffer, buf_info.size);
-               data = (gint8 *)(buf_info.data);
-               size = buf_info.size;
                f = fopen(path, "a");
                if (f == NULL) {
                        strerror_r(errno, buf, sizeof(buf));
                        wfd_sink_error("failed to fopen! : %s", buf);
                        return GST_PAD_PROBE_OK;
                }
+
+               gst_buffer_map(buffer, &buf_info, GST_MAP_READ);
+
+               wfd_sink_debug("got buffer %p with size %d", buffer, buf_info.size);
+               data = (gint8 *)(buf_info.data);
+               size = buf_info.size;
+
                fwrite(data, size, 1, f);
                fclose(f);
                gst_buffer_unmap(buffer, &buf_info);