#define DEFAULT_BLOCKSIZE 4*1024
#define DEFAULT_MMAPSIZE 4*1024*1024
+#ifdef G_HAVE_ISO_VARARGS
+
+/* #define fs_print(...) g_print(__VA_ARGS__) */
+#define fs_print(...)
+
+#elif defined(G_HAVE_GNUC_VARARGS)
+
/* #define fs_print(format,args...) g_print(format, ## args) */
#define fs_print(format,args...)
+#endif
+
/* FileSrc signals and args */
enum {
/* FILL ME */
/* these two macros are used for debug/info from the state_change function */
+/* FIXME: with some rearranging of output or otherwise we could probably
+ * get rid of this g_strdup_printf we're using here, so go ahead if you're
+ * concerned about this slowing down */
+#ifdef G_HAVE_ISO_VARARGS
+
+#define THR_INFO(...) \
+ { \
+ gchar *val = g_strdup_printf(__VA_ARGS__); \
+ GST_INFO_ELEMENT(GST_CAT_THREAD, thread, \
+ "sync(" GST_DEBUG_THREAD_FORMAT "): %s", \
+ GST_DEBUG_THREAD_ARGS(thread->pid), val); \
+ g_free(val); \
+ }
+
+#define THR_DEBUG(...) \
+ { \
+ gchar *val = g_strdup_printf(__VA_ARGS__); \
+ GST_INFO_ELEMENT(GST_CAT_THREAD, thread, \
+ "sync(" GST_DEBUG_THREAD_FORMAT "): %s", \
+ GST_DEBUG_THREAD_ARGS(thread->pid), val); \
+ g_free(val); \
+ }
+
+/* these two macros are used for debug/info from the gst_thread_main_loop
+ * function
+ */
+
+#define THR_INFO_MAIN(...) \
+ { \
+ gchar *val = g_strdup_printf(__VA_ARGS__); \
+ GST_INFO_ELEMENT(GST_CAT_THREAD, thread, \
+ "sync-main(" GST_DEBUG_THREAD_FORMAT "): %s", \
+ GST_DEBUG_THREAD_ARGS(thread->pid), val); \
+ g_free(val); \
+ }
+
+#define THR_DEBUG_MAIN(...) \
+ { \
+ gchar *val = g_strdup_printf(__VA_ARGS__); \
+ GST_INFO_ELEMENT(GST_CAT_THREAD, thread, \
+ "sync-main(" GST_DEBUG_THREAD_FORMAT "): %s", \
+ GST_DEBUG_THREAD_ARGS(thread->pid), val); \
+ g_free(val); \
+ }
+
+#elif defined(G_HAVE_GNUC_VARARGS)
+
#define THR_INFO(format,args...) \
GST_INFO_ELEMENT(GST_CAT_THREAD, thread, "sync(" GST_DEBUG_THREAD_FORMAT "): " format , \
GST_DEBUG_THREAD_ARGS(thread->pid) , ## args )
GST_DEBUG_ELEMENT(GST_CAT_THREAD, thread, "sync-main(" GST_DEBUG_THREAD_FORMAT "): " format , \
GST_DEBUG_THREAD_ARGS(thread->ppid) , ## args )
+#endif
+
static GstElementStateReturn
gst_thread_update_state (GstThread *thread)
{
/* #define BS_DEBUG */
+#ifdef G_HAVE_ISO_VARARGS
+
+#ifdef BS_DEBUG
+# define bs_print(...) GST_DEBUG (GST_CAT_BUFFER, __VA_ARGS__)
+# define bs_status(bs) gst_bytestream_print_status(bs)
+#else
+# define bs_print(...)
+# define bs_status(bs)
+#endif
+
+#elif defined(G_HAVE_GNUC_VARARGS)
+
#ifdef BS_DEBUG
# define bs_print(format,args...) GST_DEBUG (GST_CAT_BUFFER, format, ## args)
# define bs_status(bs) gst_bytestream_print_status(bs)
# define bs_status(bs)
#endif
+#endif
+
guint8 *gst_bytestream_assemble (GstByteStream * bs, guint32 len);
/**
#define DEFAULT_BLOCKSIZE 4*1024
#define DEFAULT_MMAPSIZE 4*1024*1024
+#ifdef G_HAVE_ISO_VARARGS
+
+/* #define fs_print(...) g_print(__VA_ARGS__) */
+#define fs_print(...)
+
+#elif defined(G_HAVE_GNUC_VARARGS)
+
/* #define fs_print(format,args...) g_print(format, ## args) */
#define fs_print(format,args...)
+#endif
+
/* FileSrc signals and args */
enum {
/* FILL ME */