+2004-01-11 David Schleef <ds@schleef.org>
+
+ * configure.ac:
+ * ext/Makefile.am: Fixes to make ext/libcaca compile.
+ * ext/divx/gstdivxdec.c:
+ * ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_sink_link),
+ (gst_gdk_pixbuf_init), (gst_gdk_pixbuf_chain): Make gdkpixbufdec
+ handle images that span multiple buffers. Now work with both
+ filesrc ! gdkpixbufdec and qtdemux ! gdkpixbufdec.
+ * ext/gdk_pixbuf/gstgdkpixbuf.h:
+ * ext/libcaca/gstcacasink.h: Fixes needed due to recent
+ video/video.h changes
+ * ext/xvid/gstxvid.c: (gst_xvid_csp_to_caps): same
+ * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_get),
+ (gst_v4lmjpegsrc_buffer_free): Use buffer free function instead
+ of GstData free function.
+ * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_get), (gst_v4lsrc_buffer_free):
+ same.
+
2004-01-12 Benjamin Otte <in7y118@public.uni-hamburg.de>
* sys/v4l2/gstv4l2element.c: (gst_v4l2element_class_init),
LCS_DIR=
endif
+if USE_LIBCACA
+LIBCACA_DIR=libcaca
+else
+LIBCACA_DIR=
+endif
+
if USE_LIBDV
LIBDV_DIR=dv
else
$(LADSPA_DIR) \
$(LAME_DIR) \
$(LCS_DIR) \
+ $(LIBCACA_DIR) \
$(LIBDV_DIR) \
$(LIBFAME_DIR) \
$(LIBPNG_DIR) \
ladspa \
lame \
lcs \
+ libcaca \
libfame \
libpng \
librfb \
static GstElementStateReturn gst_v4lmjpegsrc_change_state (GstElement *element);
/* requeue buffer after use */
-static void gst_v4lmjpegsrc_buffer_free (GstData *data);
+static void gst_v4lmjpegsrc_buffer_free (GstBuffer *buffer);
static GstElementClass *parent_class = NULL;
static guint gst_v4lmjpegsrc_signals[LAST_SIGNAL] = { 0 };
}
buf = gst_buffer_new ();
- GST_DATA (buf)->free = gst_v4lmjpegsrc_buffer_free;
+ GST_BUFFER_FREE_DATA_FUNC (buf) = gst_v4lmjpegsrc_buffer_free;
GST_BUFFER_PRIVATE (buf) = v4lmjpegsrc;
GST_BUFFER_DATA(buf) = gst_v4lmjpegsrc_get_buffer(v4lmjpegsrc, num);
GST_BUFFER_SIZE(buf) = v4lmjpegsrc->last_size;
#endif
static void
-gst_v4lmjpegsrc_buffer_free (GstData *data)
+gst_v4lmjpegsrc_buffer_free (GstBuffer *buf)
{
- GstBuffer *buf = GST_BUFFER (data);
GstV4lMjpegSrc *v4lmjpegsrc = GST_V4LMJPEGSRC (GST_BUFFER_PRIVATE (buf));
int n;
if (n == v4lmjpegsrc->breq.count)
gst_element_error(GST_ELEMENT(v4lmjpegsrc),
"Couldn't find the buffer");
-
- /* free the buffer struct et all */
- gst_buffer_default_free(buf);
}
GstClock *clock);
/* requeue buffer if it's back available */
-static void gst_v4lsrc_buffer_free (GstData *data);
+static void gst_v4lsrc_buffer_free (GstBuffer *buffer);
static GstElementClass *parent_class = NULL;
static guint gst_v4lsrc_signals[LAST_SIGNAL] = { 0 };
}
buf = gst_buffer_new ();
- GST_DATA (buf)->free = gst_v4lsrc_buffer_free;
+ GST_BUFFER_FREE_DATA_FUNC (buf) = gst_v4lsrc_buffer_free;
GST_BUFFER_PRIVATE (buf) = v4lsrc; /* hack to re-queue buffer on free */
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_READONLY | GST_BUFFER_DONTFREE);
GST_BUFFER_DATA(buf) = gst_v4lsrc_get_buffer(v4lsrc, num);
#endif
static void
-gst_v4lsrc_buffer_free (GstData *data)
+gst_v4lsrc_buffer_free (GstBuffer *buf)
{
- GstBuffer *buf = GST_BUFFER (data);
GstV4lSrc *v4lsrc = GST_V4LSRC (GST_BUFFER_PRIVATE (buf));
int n;
if (n == v4lsrc->mbuf.frames)
gst_element_error(GST_ELEMENT(v4lsrc),
"Couldn\'t find the buffer");
-
- /* free struct */
- gst_buffer_default_free(buf);
}