summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorOlivier CrĂȘte <olivier.crete@collabora.com>2013-07-28 17:29:32 +0200
committerOlivier CrĂȘte <olivier.crete@collabora.com>2013-07-28 17:29:32 +0200
commitb52a84354eeba65472308e89fd8934a776b23c6c (patch)
tree3b96016b65a9c63d4f68f0bface5d1eae34bfd54 /sys
parent8b80d60648332124a5d648abd5ae3a4683274ac9 (diff)
downloadgstreamer-plugins-bad-b52a84354eeba65472308e89fd8934a776b23c6c.tar.gz
uvch264_mjpgdemux: Remove duplicated variables
Diffstat (limited to 'sys')
-rw-r--r--sys/uvch264/gstuvch264_mjpgdemux.c31
1 files changed, 13 insertions, 18 deletions
diff --git a/sys/uvch264/gstuvch264_mjpgdemux.c b/sys/uvch264/gstuvch264_mjpgdemux.c
index 431ba98ce..e42cd49a2 100644
--- a/sys/uvch264/gstuvch264_mjpgdemux.c
+++ b/sys/uvch264/gstuvch264_mjpgdemux.c
@@ -470,39 +470,34 @@ gst_uvc_h264_mjpg_demux_chain (GstPad * pad,
GstCaps **aux_caps = NULL;
guint last_offset;
guint i;
- guchar *data;
- gsize size;
GstMapInfo info;
self = GST_UVC_H264_MJPG_DEMUX (GST_PAD_PARENT (pad));
- last_offset = 0;
- size = gst_buffer_get_size (buf);
- if (size == 0) {
+ if (gst_buffer_get_size (buf) == 0) {
return gst_pad_push (self->priv->jpeg_pad, buf);
}
+ last_offset = 0;
gst_buffer_map (buf, &info, GST_MAP_READ);
jpeg_buf = gst_buffer_copy_region (buf, GST_BUFFER_COPY_METADATA, 0, 0);
- data = info.data;
-
- for (i = 0; i < size - 1; i++) {
+ for (i = 0; i < info.size - 1; i++) {
/* Check for APP4 (0xe4) marker in the jpeg */
- if (data[i] == 0xff && data[i + 1] == 0xe4) {
+ if (info.data[i] == 0xff && info.data[i + 1] == 0xe4) {
guint16 segment_size;
/* Sanity check sizes and get segment size */
- if (i + 4 >= size) {
+ if (i + 4 >= info.size) {
GST_ELEMENT_ERROR (self, STREAM, DEMUX,
("Not enough data to read marker size"), (NULL));
ret = GST_FLOW_ERROR;
goto done;
}
- segment_size = GUINT16_FROM_BE (*((guint16 *) (data + i + 2)));
+ segment_size = GUINT16_FROM_BE (*((guint16 *) (info.data + i + 2)));
- if (i + segment_size + 2 >= size) {
+ if (i + segment_size + 2 >= info.size) {
GST_ELEMENT_ERROR (self, STREAM, DEMUX,
("Not enough data to read marker content"), (NULL));
ret = GST_FLOW_ERROR;
@@ -533,7 +528,7 @@ gst_uvc_h264_mjpg_demux_chain (GstPad * pad,
goto done;
}
- aux_header = *((AuxiliaryStreamHeader *) (data + i));
+ aux_header = *((AuxiliaryStreamHeader *) (info.data + i));
/* version should be little endian but it looks more like BE */
aux_header.version = GUINT16_FROM_BE (aux_header.version);
aux_header.header_len = GUINT16_FROM_LE (aux_header.header_len);
@@ -548,7 +543,7 @@ gst_uvc_h264_mjpg_demux_chain (GstPad * pad,
GST_FOURCC_ARGS (aux_header.type),
aux_header.width, aux_header.height,
aux_header.frame_interval, aux_header.delay, aux_header.pts);
- aux_size = *((guint32 *) (data + i + aux_header.header_len));
+ aux_size = *((guint32 *) (info.data + i + aux_header.header_len));
GST_DEBUG_OBJECT (self, "Auxiliary stream size : %d bytes", aux_size);
if (aux_size > 0) {
@@ -668,15 +663,15 @@ gst_uvc_h264_mjpg_demux_chain (GstPad * pad,
}
i += segment_size - 1;
- } else if (data[i] == 0xff && data[i + 1] == 0xda) {
+ } else if (info.data[i] == 0xff && info.data[i + 1] == 0xda) {
GstMemory *m;
/* The APP4 markers must be before the SOS marker, so this is the end */
GST_DEBUG_OBJECT (self, "Found SOS marker.");
- m = gst_memory_copy (info.memory, last_offset, size - last_offset);
+ m = gst_memory_copy (info.memory, last_offset, info.size - last_offset);
gst_buffer_append_memory (jpeg_buf, m);
- last_offset = size;
+ last_offset = info.size;
break;
}
}
@@ -688,7 +683,7 @@ gst_uvc_h264_mjpg_demux_chain (GstPad * pad,
goto done;
}
- if (last_offset != size) {
+ if (last_offset != info.size) {
/* this means there was no SOS marker in the jpg, so we assume the JPG was
just a container */
GST_DEBUG_OBJECT (self, "SOS marker wasn't found. MJPG is container only");