bytereader: add inline version of gst_byte_reader_skip
authorTim-Philipp Müller <tim.muller@collabora.co.uk>
Sun, 4 Oct 2009 23:11:20 +0000 (00:11 +0100)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>
Tue, 6 Oct 2009 23:52:23 +0000 (00:52 +0100)
libs/gst/base/gstbytereader.c
libs/gst/base/gstbytereader.h

index d40d28a..b5862c5 100644 (file)
@@ -222,12 +222,7 @@ gst_byte_reader_skip (GstByteReader * reader, guint nbytes)
 {
   g_return_val_if_fail (reader != NULL, FALSE);
 
-  if (gst_byte_reader_get_remaining (reader) < nbytes)
-    return FALSE;
-
-  reader->byte += nbytes;
-
-  return TRUE;
+  return _gst_byte_reader_skip_inline (reader, nbytes);
 }
 
 /**
index 11e0035..08c7f84 100644 (file)
@@ -435,6 +435,16 @@ _gst_byte_reader_peek_data_inline (GstByteReader * reader, guint size, const gui
   return TRUE;
 }
 
+static inline gboolean
+_gst_byte_reader_skip_inline (GstByteReader * reader, guint nbytes)
+{
+  if (G_UNLIKELY (_gst_byte_reader_get_remaining_inline (reader) < nbytes))
+    return FALSE;
+
+  reader->byte += nbytes;
+  return TRUE;
+}
+
 #ifndef GST_BYTE_READER_DISABLE_INLINES
 
 #define gst_byte_reader_dup_data(reader,size,val) \
@@ -443,6 +453,8 @@ _gst_byte_reader_peek_data_inline (GstByteReader * reader, guint size, const gui
     G_LIKELY(_gst_byte_reader_get_data_inline(reader,size,val))
 #define gst_byte_reader_peek_data(reader,size,val) \
     G_LIKELY(_gst_byte_reader_peek_data_inline(reader,size,val))
+#define gst_byte_reader_skip(reader,nbytes) \
+    G_LIKELY(_gst_byte_reader_skip_inline(reader,nbytes))
 
 #endif /* GST_BYTE_READER_DISABLE_INLINES */