--- tmp/gst-plugins-good-1.8.2/gst/multifile/gstsplitmuxsink.c	2016-05-20 14:05:15.000000000 +0800
+++ gst-plugins-good-1.8.2/gst/multifile/gstsplitmuxsink.c	2016-08-14 10:58:20.966268514 +0800
@@ -692,7 +692,7 @@
 
   GST_LOG_OBJECT (splitmux,
       "Pad %" GST_PTR_FORMAT " buffer with TS %" GST_TIME_FORMAT
-      " size %" G_GSIZE_FORMAT,
+      " size %" G_GUINT64_FORMAT,
       pad, GST_TIME_ARGS (ctx->out_running_time), buf_info->buf_size);
 
   if (splitmux->opening_first_fragment) {
@@ -837,7 +837,7 @@
 handle_gathered_gop (GstSplitMuxSink * splitmux)
 {
   GList *cur;
-  gsize queued_bytes = 0;
+  guint64 queued_bytes = 0;
   GstClockTime queued_time = 0;
 
   /* Assess if the multiqueue contents overflowed the current file */
@@ -849,6 +849,8 @@
     queued_bytes += tmpctx->in_bytes;
   }
 
+  GST_LOG_OBJECT (splitmux, " queued_bytes %" G_GUINT64_FORMAT
+      " splitmuxsink->mux_start_bytes %" G_GUINT64_FORMAT, queued_bytes, splitmux->mux_start_bytes);
   g_assert (queued_bytes >= splitmux->mux_start_bytes);
   g_assert (queued_time >= splitmux->mux_start_time);
 
@@ -859,7 +861,7 @@
   queued_bytes += (queued_bytes * splitmux->mux_overhead);
 
   GST_LOG_OBJECT (splitmux, "mq at TS %" GST_TIME_FORMAT
-      " bytes %" G_GSIZE_FORMAT, GST_TIME_ARGS (queued_time), queued_bytes);
+      " bytes %" G_GUINT64_FORMAT, GST_TIME_ARGS (queued_time), queued_bytes);
 
   /* Check for overrun - have we output at least one byte and overrun
    * either threshold? */
@@ -879,8 +881,8 @@
   } else {
     /* No overflow */
     GST_LOG_OBJECT (splitmux,
-        "This GOP didn't overflow the fragment. Bytes sent %" G_GSIZE_FORMAT
-        " queued %" G_GSIZE_FORMAT " time %" GST_TIME_FORMAT " Continuing.",
+        "This GOP didn't overflow the fragment. Bytes sent %" G_GUINT64_FORMAT
+        " queued %" G_GUINT64_FORMAT " time %" GST_TIME_FORMAT " Continuing.",
         splitmux->muxed_out_bytes - splitmux->mux_start_bytes,
         queued_bytes, GST_TIME_ARGS (queued_time));
 
@@ -1127,7 +1129,7 @@
     splitmux->mux_start_time = buf_info->run_ts;
 
   GST_DEBUG_OBJECT (pad, "Buf TS %" GST_TIME_FORMAT
-      " total in_bytes %" G_GSIZE_FORMAT,
+      " total in_bytes %" G_GUINT64_FORMAT,
       GST_TIME_ARGS (buf_info->run_ts), ctx->in_bytes);
 
   loop_again = TRUE;
--- tmp/gst-plugins-good-1.8.2/gst/multifile/gstsplitmuxsink.h	2016-04-16 01:07:29.000000000 +0800
+++ gst-plugins-good-1.8.2/gst/multifile/gstsplitmuxsink.h	2016-08-14 10:51:43.990279803 +0800
@@ -49,7 +49,7 @@
 {
   gboolean keyframe;
   GstClockTime run_ts;
-  gsize buf_size;
+  guint64 buf_size;
 } MqStreamBuf;
 
 typedef struct _MqStreamCtx
@@ -73,7 +73,7 @@
   GstClockTime in_running_time;
   GstClockTime out_running_time;
 
-  gsize in_bytes;
+  guint64 in_bytes;
 
   GQueue queued_bufs;
 
@@ -118,11 +118,11 @@
   GstClockTime max_out_running_time;
 
   GstClockTime muxed_out_time;
-  gsize muxed_out_bytes;
+  guint64 muxed_out_bytes;
   gboolean have_muxed_something;
 
   GstClockTime mux_start_time;
-  gsize mux_start_bytes;
+  guint64 mux_start_bytes;
 
   gboolean opening_first_fragment;
 };
