queue2: enable large file support on Android
authorReynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
Sat, 12 Dec 2015 04:42:05 +0000 (20:42 -0800)
committerReynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
Sat, 12 Dec 2015 21:13:54 +0000 (13:13 -0800)
https://bugzilla.gnome.org/show_bug.cgi?id=758980

plugins/elements/gstqueue2.c

index ac7a55e..56b0c54 100644 (file)
 #include <unistd.h>
 #endif
 
+#ifdef __BIONIC__               /* Android */
+#undef lseek
+#define lseek lseek64
+#undef off_t
+#define off_t guint64
+#include <fcntl.h>
+#endif
+
 static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
@@ -1543,7 +1551,13 @@ gst_queue2_open_temp_location_file (GstQueue2 * queue)
 
   /* make copy of the template, we don't want to change this */
   name = g_strdup (queue->temp_template);
+
+#ifdef __BIONIC__
+  fd = g_mkstemp_full (name, O_RDWR | O_LARGEFILE, S_IRUSR | S_IWUSR);
+#else
   fd = g_mkstemp (name);
+#endif
+
   if (fd == -1)
     goto mkstemp_failed;