flacparse: factor out buffer time and offset resetting
authorReynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
Thu, 31 Dec 2015 09:09:51 +0000 (01:09 -0800)
committerReynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
Thu, 31 Dec 2015 21:04:23 +0000 (13:04 -0800)
Avoids multiple occurrences of the same resetting pattern

gst/audioparsers/gstflacparse.c

index 790fa17..ef70895 100644 (file)
@@ -186,6 +186,8 @@ static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
 static GstBuffer *gst_flac_parse_generate_vorbiscomment (GstFlacParse *
     flacparse);
 
+static inline void gst_flac_parse_reset_buffer_time_and_offset (GstBuffer *
+    buffer);
 static void gst_flac_parse_reset (GstFlacParse * parser);
 static gboolean gst_flac_parse_handle_block_type (GstFlacParse * flacparse,
     guint type, GstBuffer * sbuffer);
@@ -1401,11 +1403,7 @@ gst_flac_parse_generate_vorbiscomment (GstFlacParse * flacparse)
   map.data[2] = ((size & 0x00FF00) >> 8);
   map.data[3] = (size & 0x0000FF);
   gst_buffer_unmap (vorbiscomment, &map);
-
-  GST_BUFFER_TIMESTAMP (vorbiscomment) = GST_CLOCK_TIME_NONE;
-  GST_BUFFER_DURATION (vorbiscomment) = GST_CLOCK_TIME_NONE;
-  GST_BUFFER_OFFSET (vorbiscomment) = 0;
-  GST_BUFFER_OFFSET_END (vorbiscomment) = 0;
+  gst_flac_parse_reset_buffer_time_and_offset (vorbiscomment);
 
   return vorbiscomment;
 }
@@ -1420,10 +1418,7 @@ gst_flac_parse_generate_headers (GstFlacParse * flacparse)
   gst_buffer_map (marker, &map, GST_MAP_WRITE);
   memcpy (map.data, "fLaC", 4);
   gst_buffer_unmap (marker, &map);
-  GST_BUFFER_TIMESTAMP (marker) = GST_CLOCK_TIME_NONE;
-  GST_BUFFER_DURATION (marker) = GST_CLOCK_TIME_NONE;
-  GST_BUFFER_OFFSET (marker) = 0;
-  GST_BUFFER_OFFSET_END (marker) = 0;
+  gst_flac_parse_reset_buffer_time_and_offset (marker);
   flacparse->headers = g_list_append (flacparse->headers, marker);
 
   streaminfo = gst_buffer_new_and_alloc (4 + 34);
@@ -1476,10 +1471,7 @@ gst_flac_parse_generate_headers (GstFlacParse * flacparse)
   /* MD5 = 0; */
 
   gst_buffer_unmap (streaminfo, &map);
-  GST_BUFFER_TIMESTAMP (streaminfo) = GST_CLOCK_TIME_NONE;
-  GST_BUFFER_DURATION (streaminfo) = GST_CLOCK_TIME_NONE;
-  GST_BUFFER_OFFSET (streaminfo) = 0;
-  GST_BUFFER_OFFSET_END (streaminfo) = 0;
+  gst_flac_parse_reset_buffer_time_and_offset (streaminfo);
   flacparse->headers = g_list_append (flacparse->headers, streaminfo);
 
   flacparse->headers = g_list_append (flacparse->headers,
@@ -1488,6 +1480,15 @@ gst_flac_parse_generate_headers (GstFlacParse * flacparse)
   return TRUE;
 }
 
+static inline void
+gst_flac_parse_reset_buffer_time_and_offset (GstBuffer * buffer)
+{
+  GST_BUFFER_TIMESTAMP (buffer) = GST_CLOCK_TIME_NONE;
+  GST_BUFFER_DURATION (buffer) = GST_CLOCK_TIME_NONE;
+  GST_BUFFER_OFFSET (buffer) = 0;
+  GST_BUFFER_OFFSET_END (buffer) = 0;
+}
+
 static gboolean
 gst_flac_parse_handle_block_type (GstFlacParse * flacparse, guint type,
     GstBuffer * sbuffer)
@@ -1542,10 +1543,7 @@ gst_flac_parse_parse_frame (GstBaseParse * parse, GstBaseParseFrame * frame,
 
   if (flacparse->state == GST_FLAC_PARSE_STATE_INIT) {
     sbuffer = gst_buffer_copy_region (buffer, GST_BUFFER_COPY_ALL, 0, size);
-    GST_BUFFER_TIMESTAMP (sbuffer) = GST_CLOCK_TIME_NONE;
-    GST_BUFFER_DURATION (sbuffer) = GST_CLOCK_TIME_NONE;
-    GST_BUFFER_OFFSET (sbuffer) = 0;
-    GST_BUFFER_OFFSET_END (sbuffer) = 0;
+    gst_flac_parse_reset_buffer_time_and_offset (sbuffer);
 
     /* 32 bits metadata block */
     gst_base_parse_set_min_frame_size (GST_BASE_PARSE (flacparse), 4);
@@ -1569,11 +1567,7 @@ gst_flac_parse_parse_frame (GstBaseParse * parse, GstBaseParseFrame * frame,
     sbuffer = gst_buffer_copy_region (buffer, GST_BUFFER_COPY_ALL, 0, size);
 
     if (gst_flac_parse_handle_block_type (flacparse, type, sbuffer)) {
-      GST_BUFFER_TIMESTAMP (sbuffer) = GST_CLOCK_TIME_NONE;
-      GST_BUFFER_DURATION (sbuffer) = GST_CLOCK_TIME_NONE;
-      GST_BUFFER_OFFSET (sbuffer) = 0;
-      GST_BUFFER_OFFSET_END (sbuffer) = 0;
-
+      gst_flac_parse_reset_buffer_time_and_offset (sbuffer);
       flacparse->headers = g_list_append (flacparse->headers, sbuffer);
     } else {
       GST_WARNING_OBJECT (parse, "failed to parse header of type %u", type);