summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Makefile.am4
-rw-r--r--PORTED_093
-rw-r--r--configure.ac24
-rw-r--r--ext/Makefile.am789
-rw-r--r--gst/effectv/gstaging.c6
-rw-r--r--gst/effectv/gstdice.c6
-rw-r--r--gst/effectv/gstquark.c57
-rw-r--r--gst/effectv/gstrev.c6
-rw-r--r--gst/effectv/gstvertigo.c6
-rw-r--r--gst/effectv/gstwarp.c6
11 files changed, 420 insertions, 492 deletions
diff --git a/ChangeLog b/ChangeLog
index 787bfa16..d72598f3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-05-06 Christian Schaller <uraeus@gnome.org>
+
+ * ext/mad: ported plugin from threaded branch
+ * gst/effectv: ported plugins from threaded branch
+
2005-05-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* configure.ac:
diff --git a/Makefile.am b/Makefile.am
index 1475e53f..866b95a9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -13,14 +13,14 @@ endif
# endif
SUBDIRS = \
- gst sys \
+ gst sys ext \
$(GCONF_DIR) \
m4
# disabled
# $(SUBDIRS_DOCS)
DIST_SUBDIRS = \
- gst sys \
+ gst sys ext \
m4
# disabled
diff --git a/PORTED_09 b/PORTED_09
index 78a5c6a7..55bfc546 100644
--- a/PORTED_09
+++ b/PORTED_09
@@ -1,6 +1,7 @@
List of ported plugins (update when you commit a ported plugin):
-osssink (wim)
+osssink (wim) - partially done in threaded
effectv (wim)
+mad (wim)
- Remember that some plugins are already ported and now in the gst-plugins-base module.
diff --git a/configure.ac b/configure.ac
index 6e48fc24..60420bd4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -345,9 +345,25 @@ dnl ])
dnl ])
dnl ])
-
-
-
+dnl *** mad ***
+dnl FIXME: we could use header checks here as well IMO
+translit(dnm, m, l) AM_CONDITIONAL(USE_MAD, true)
+GST_CHECK_FEATURE(MAD, [mad mp3 decoder], mad, [
+ dnl check with pkg-config first
+ PKG_CHECK_MODULES(MAD, mad >= 0.15 id3tag >= 0.15, HAVE_MAD="yes", HAVE_MAD="no")
+ if test "x$HAVE_MAD" = "xno"; then
+ dnl fall back to oldskool detection
+ AC_CHECK_LIB(mad, mad_decoder_finish, HAVE_MAD="yes" MAD_LIBS="-lmad")
+ if test "x$HAVE_MAD" = "xyes"; then
+ HAVE_MAD="no"
+ save_LIBS=$LIBS
+ LIBS="-lz"
+ AC_CHECK_LIB(id3tag, id3_tag_options, HAVE_MAD="yes" MAD_LIBS="-lmad -lid3tag -lz")
+ LIBS=$save_LIBS
+ fi
+ fi
+])
+AC_SUBST(MAD_LIBS)
AC_SUBST(GST_LIBS)
@@ -408,6 +424,8 @@ gst-plugins.spec
gst/Makefile
gst/effectv/Makefile
sys/Makefile
+ext/Makefile
+ext/mad/Makefile
common/Makefile
common/m4/Makefile
m4/Makefile
diff --git a/ext/Makefile.am b/ext/Makefile.am
index 19c8c3dc..055ae521 100644
--- a/ext/Makefile.am
+++ b/ext/Makefile.am
@@ -1,122 +1,116 @@
-if USE_A52DEC
-A52DEC_DIR=a52dec
-else
-A52DEC_DIR=
-endif
-
-if USE_AALIB
-AALIB_DIR=aalib
-else
-AALIB_DIR=
-endif
-
-if USE_ALSA
-ALSA_DIR=alsa
-else
-ALSA_DIR=
-endif
-
-if USE_AMRNB
-AMRNB_DIR=amrnb
-else
-AMRNB=
-endif
-
-if USE_ARTS
-ARTS_DIR=arts
-else
-ARTS_DIR=
-endif
-
-if USE_ARTSC
-ARTSC_DIR=artsd
-else
-ARTSC_DIR=
-endif
-
-if USE_AUDIOFILE
-AUDIOFILE_DIR=audiofile
-else
-AUDIOFILE_DIR=
-endif
-
-if USE_AUDIORESAMPLE
-AUDIORESAMPLE_DIR=audioresample
-else
-AUDIORESAMPLE_DIR=
-endif
-
-if USE_CAIRO
-CAIRO_DIR=cairo
-else
-CAIRO_DIR=
-endif
-
-if USE_CDAUDIO
-CDAUDIO_DIR=cdaudio
-else
-CDAUDIO_DIR=
-endif
-
-if USE_CDPARANOIA
-CDPARANOIA_DIR=cdparanoia
-else
-CDPARANOIA_DIR=
-endif
-
-if USE_DIRAC
-DIRAC_DIR=dirac
-else
-DIRAC_DIR=
-endif
-
-if USE_DIRECTFB
-DIRECTFB_DIR=directfb
-else
-DIRECTFB_DIR=
-endif
-
-if USE_DIVX
-DIVX_DIR=divx
-else
-DIVX_DIR=
-endif
-
-if USE_DTS
-DTS_DIR=dts
-else
-DTS_DIR=
-endif
-
-if USE_DVDREAD
-DVDREAD_DIR=dvdread
-else
-DVDREAD_DIR=
-endif
-
-if USE_DVDNAV
-DVDNAV_DIR=dvdnav
-else
-DVDNAV_DIR=
-endif
-
-if USE_ESD
-ESD_DIR=esd
-else
-ESD_DIR=
-endif
-
-if USE_FAAC
-FAAC_DIR=faac
-else
-FAAC_DIR=
-endif
-
-if USE_FAAD
-FAAD_DIR=faad
-else
-FAAD_DIR=
-endif
+# if USE_A52DEC
+# A52DEC_DIR=a52dec
+# else
+# A52DEC_DIR=
+# endif
+
+# if USE_AALIB
+# AALIB_DIR=aalib
+# else
+# AALIB_DIR=
+# endif
+
+# if USE_AMRNB
+# AMRNB_DIR=amrnb
+# else
+# AMRNB=
+# endif
+
+# if USE_ARTS
+# ARTS_DIR=arts
+# else
+# ARTS_DIR=
+# endif
+
+# if USE_ARTSC
+# ARTSC_DIR=artsd
+# else
+# ARTSC_DIR=
+# endif
+
+# if USE_AUDIOFILE
+# AUDIOFILE_DIR=audiofile
+# else
+# AUDIOFILE_DIR=
+# endif
+
+# if USE_AUDIORESAMPLE
+# AUDIORESAMPLE_DIR=audioresample
+# else
+# AUDIORESAMPLE_DIR=
+# endif
+
+# if USE_CAIRO
+# CAIRO_DIR=cairo
+# else
+# CAIRO_DIR=
+# endif
+
+# if USE_CDAUDIO
+# CDAUDIO_DIR=cdaudio
+# else
+# CDAUDIO_DIR=
+# endif
+
+# if USE_CDPARANOIA
+# CDPARANOIA_DIR=cdparanoia
+# else
+# CDPARANOIA_DIR=
+# endif
+
+# if USE_DIRAC
+# DIRAC_DIR=dirac
+# else
+# DIRAC_DIR=
+# endif
+
+# if USE_DIRECTFB
+# DIRECTFB_DIR=directfb
+# else
+# DIRECTFB_DIR=
+# endif
+
+# if USE_DIVX
+# DIVX_DIR=divx
+# else
+# DIVX_DIR=
+# endif
+
+# if USE_DTS
+# DTS_DIR=dts
+# else
+# DTS_DIR=
+# endif
+
+# if USE_DVDREAD
+# DVDREAD_DIR=dvdread
+# else
+# DVDREAD_DIR=
+# endif
+
+# if USE_DVDNAV
+# DVDNAV_DIR=dvdnav
+# else
+# DVDNAV_DIR=
+# endif
+
+# if USE_ESD
+# ESD_DIR=esd
+# else
+# ESD_DIR=
+# endif
+
+# if USE_FAAC
+# FAAC_DIR=faac
+# else
+# FAAC_DIR=
+# endif
+
+# if USE_FAAD
+# FAAD_DIR=faad
+# else
+# FAAD_DIR=
+# endif
## if USE_FESTIVAL
## FESTIVAL_DIR=festival
@@ -124,113 +118,113 @@ endif
## FESTIVAL_DIR=
## endif
-if USE_FLAC
-FLAC_DIR=flac
-else
-FLAC_DIR=
-endif
-
-if USE_GDK_PIXBUF
-GDK_PIXBUF_DIR=gdk_pixbuf
-else
-GDK_PIXBUF_DIR=
-endif
-
-if USE_GNOME_VFS
-GNOMEVFS_DIR=gnomevfs
-else
-GNOMEVFS_DIR=
-endif
-
-if USE_GSM
-GSM_DIR=gsm
-else
-GSM_DIR=
-endif
-
-if USE_HERMES
-HERMES_DIR=hermes
-else
-HERMES_DIR=
-endif
-
-if USE_JACK
-JACK_DIR=jack
-else
-JACK_DIR=
-endif
-
-if USE_JPEG
-JPEG_DIR=jpeg
-else
-JPEG_DIR=
-endif
-
-if USE_LADSPA
-LADSPA_DIR=ladspa
-else
-LADPSA_DIR=
-endif
-
-if USE_LAME
-LAME_DIR=lame
-else
-LAME_DIR=
-endif
-
-if USE_LCS
-LCS_DIR=lcs
-else
-LCS_DIR=
-endif
-
-if USE_LIBCACA
-LIBCACA_DIR=libcaca
-else
-LIBCACA_DIR=
-endif
-
-if USE_LIBDV
-LIBDV_DIR=dv
-else
-LIBDV_DIR=
-endif
-
-if USE_LIBFAME
-LIBFAME_DIR=libfame
-else
-LIBFAME_DIR=
-endif
-
-if USE_LIBMNG
-LIBMNG_DIR=libmng
-else
-LIBMNG_DIR=
-endif
-
-if USE_LIBPNG
-LIBPNG_DIR=libpng
-else
-LIBPNG_DIR=
-endif
-
-if USE_POLYP
-POLYP_DIR=polyp
-else
-POLYP_DIR=
-endif
-
-if USE_LIBVISUAL
-LIBVISUAL_DIR=libvisual
-else
-LIBVISUAL_DIR=
-endif
-
-if USE_LIBMMS
-LIBMMS_DIR=libmms
-else
-LIBMMS_DIR=
-endif
+# if USE_FLAC
+# FLAC_DIR=flac
+# else
+# FLAC_DIR=
+# endif
+
+# if USE_GDK_PIXBUF
+# GDK_PIXBUF_DIR=gdk_pixbuf
+# else
+# GDK_PIXBUF_DIR=
+# endif
+
+# if USE_GNOME_VFS
+# GNOMEVFS_DIR=gnomevfs
+# else
+# GNOMEVFS_DIR=
+# endif
+
+# if USE_GSM
+# GSM_DIR=gsm
+# else
+# GSM_DIR=
+# endif
+
+# if USE_HERMES
+# HERMES_DIR=hermes
+# else
+# HERMES_DIR=
+# endif
+
+# if USE_JACK
+# JACK_DIR=jack
+# else
+# JACK_DIR=
+# endif
+
+# if USE_JPEG
+# JPEG_DIR=jpeg
+# else
+# JPEG_DIR=
+# endif
+
+# if USE_LADSPA
+# LADSPA_DIR=ladspa
+# else
+# LADPSA_DIR=
+# endif
+
+# if USE_LAME
+# LAME_DIR=lame
+# else
+# LAME_DIR=
+# endif
+
+# if USE_LCS
+# LCS_DIR=lcs
+# else
+# LCS_DIR=
+# endif
+
+# if USE_LIBCACA
+# LIBCACA_DIR=libcaca
+# else
+# LIBCACA_DIR=
+# endif
+
+# if USE_LIBDV
+# LIBDV_DIR=dv
+# else
+# LIBDV_DIR=
+# endif
+
+# if USE_LIBFAME
+# LIBFAME_DIR=libfame
+# else
+# LIBFAME_DIR=
+# endif
+
+# if USE_LIBMNG
+# LIBMNG_DIR=libmng
+# else
+# LIBMNG_DIR=
+# endif
+
+# if USE_LIBPNG
+# LIBPNG_DIR=libpng
+# else
+# LIBPNG_DIR=
+# endif
+
+# if USE_POLYP
+# POLYP_DIR=polyp
+# else
+# POLYP_DIR=
+# endif
+
+# if USE_LIBVISUAL
+# LIBVISUAL_DIR=libvisual
+# else
+# LIBVISUAL_DIR=
+# endif
+
+# if USE_LIBMMS
+# LIBMMS_DIR=libmms
+# else
+# LIBMMS_DIR=
+# endif
if USE_MAD
MAD_DIR=mad
@@ -238,29 +232,29 @@ else
MAD_DIR=
endif
-if USE_MIKMOD
-MIKMOD_DIR=mikmod
-else
-MIKMOD_DIR=
-endif
+# if USE_MIKMOD
+# MIKMOD_DIR=mikmod
+# else
+# MIKMOD_DIR=
+# endif
-if USE_MPEG2DEC
-MPEG2DEC_DIR=mpeg2dec
-else
-MPEG2DEC_DIR=
-endif
+# if USE_MPEG2DEC
+# MPEG2DEC_DIR=mpeg2dec
+# else
+#MPEG2DEC_DIR=
+#endif
-if USE_MPEG2ENC
-MPEG2ENC_DIR=mpeg2enc
-else
-MPEG2ENC_DIR=
-endif
+# if USE_MPEG2ENC
+# MPEG2ENC_DIR=mpeg2enc
+# else
+# MPEG2ENC_DIR=
+# endif
-if USE_MPLEX
-MPLEX_DIR=mplex
-else
-MPLEX_DIR=
-endif
+# if USE_MPLEX
+# MPLEX_DIR=mplex
+# else
+# MPLEX_DIR=
+# endif
#if USE_MAS
#MAS_DIR=mas
@@ -268,131 +262,119 @@ endif
#MAS_DIR=
#endif
-if USE_MUSEPACK
-MUSEPACK_DIR=musepack
-else
-MUSEPACK_DIR=
-endif
-
-if USE_MUSICBRAINZ
-MUSICBRAINZ_DIR=musicbrainz
-else
-MUSICBRAINZ_DIR=
-endif
-
-if USE_NAS
-NAS_DIR=nas
-else
-NAS_DIR=
-endif
-
-if USE_OGG
-OGG_DIR=ogg
-else
-OGG_DIR=
-endif
-
-if USE_PANGO
-PANGO_DIR=pango
-else
-PANGO_DIR=
-endif
-
-if USE_DV1394
-DV1394_DIR=raw1394
-else
-DV1394_DIR=
-endif
-
-if USE_SDL
-SDL_DIR=sdl
-else
-SDL_DIR=
-endif
-
-if USE_SHOUT
-SHOUT_DIR=shout
-else
-SHOUT_DIR=
-endif
-
-if USE_SHOUT2
-SHOUT2_DIR=shout2
-else
-SHOUT2_DIR=
-endif
-
-if USE_SIDPLAY
-SIDPLAY_DIR=sidplay
-else
-SIDDPLAY_DIR=
-endif
-
-if USE_SMOOTHWAVE
-SMOOTHWAVE_DIR=smoothwave
-else
-SMOOTHWAVE_DIR=
-endif
-
-if USE_SNDFILE
-SNDFILE_DIR=sndfile
-else
-SNDFILE_DIR=
-endif
-
-if USE_SWFDEC
-SWFDEC_DIR=swfdec
-else
-SWFDEC_DIR=
-endif
-
-if USE_TARKIN
-TARKIN_DIR=tarkin
-else
-TARKIN_DIR=
-endif
-
-if USE_IVORBIS
-IVORBIS_DIR=ivorbis
-else
-IVORBIS_DIR=
-endif
-
-if USE_VORBIS
-VORBIS_DIR=vorbis
-else
-VORBIS_DIR=
-endif
-
-if USE_THEORA
-THEORA_DIR=theora
-else
-THEORA_DIR=
-endif
-
-if USE_XVID
-XVID_DIR=xvid
-else
-XVID_DIR=
-endif
-
-if USE_LIBPNG
-SNAPSHOT_DIR=snapshot
-else
-SNAPSHOT_DIR=
-endif
-
-if USE_SPEEX
-SPEEX_DIR=speex
-else
-SPEEX_DIR=
-endif
-
-if USE_XINE
-XINE_DIR=xine
-else
-XINE_DIR=
-endif
+# if USE_MUSEPACK
+# MUSEPACK_DIR=musepack
+# else
+# MUSEPACK_DIR=
+# endif
+
+# if USE_MUSICBRAINZ
+# MUSICBRAINZ_DIR=musicbrainz
+# else
+# MUSICBRAINZ_DIR=
+# endif
+
+# if USE_NAS
+# NAS_DIR=nas
+# else
+# NAS_DIR=
+# endif
+
+# if USE_OGG
+# OGG_DIR=ogg
+# else
+# OGG_DIR=
+# endif
+
+# if USE_PANGO
+# PANGO_DIR=pango
+# else
+# PANGO_DIR=
+# endif
+
+# if USE_DV1394
+# DV1394_DIR=raw1394
+# else
+# DV1394_DIR=
+# endif
+
+# if USE_SDL
+# SDL_DIR=sdl
+# else
+# SDL_DIR=
+# endif
+
+# if USE_SHOUT
+# SHOUT_DIR=shout
+# else
+# SHOUT_DIR=
+# endif
+
+# if USE_SHOUT2
+# SHOUT2_DIR=shout2
+# else
+# SHOUT2_DIR=
+# endif
+
+# if USE_SIDPLAY
+# SIDPLAY_DIR=sidplay
+# else
+# SIDDPLAY_DIR=
+# endif
+
+# if USE_SMOOTHWAVE
+# SMOOTHWAVE_DIR=smoothwave
+# else
+# SMOOTHWAVE_DIR=
+# endif
+
+# if USE_SNDFILE
+# SNDFILE_DIR=sndfile
+# else
+# SNDFILE_DIR=
+# endif
+
+# if USE_SWFDEC
+# SWFDEC_DIR=swfdec
+# else
+# SWFDEC_DIR=
+# endif
+
+# if USE_TARKIN
+# TARKIN_DIR=tarkin
+# else
+# TARKIN_DIR=
+# endif
+
+# if USE_IVORBIS
+# IVORBIS_DIR=ivorbis
+# else
+# IVORBIS_DIR=
+# endif
+
+# if USE_XVID
+# XVID_DIR=xvid
+# else
+# XVID_DIR=
+# endif
+
+# if USE_LIBPNG
+# SNAPSHOT_DIR=snapshot
+# else
+# SNAPSHOT_DIR=
+# endif
+
+# if USE_SPEEX
+# SPEEX_DIR=speex
+# else
+# SPEEX_DIR=
+# endif
+
+# if USE_XINE
+# XINE_DIR=xine
+# else
+# XINE_DIR=
+# endif
SUBDIRS=\
$(A52DEC_DIR) \
@@ -461,67 +443,4 @@ SUBDIRS=\
$(XVID_DIR)
DIST_SUBDIRS=\
- a52dec \
- aalib \
- alsa \
- amrnb \
- arts \
- artsd \
- audiofile \
- audioresample \
- cairo \
- cdaudio \
- cdparanoia \
- dirac \
- directfb \
- divx \
- dts \
- dv \
- dvdread \
- dvdnav \
- esd \
- faac \
- faad \
- flac \
- gdk_pixbuf \
- gnomevfs \
- gsm \
- hermes \
- ivorbis \
- jack \
- jpeg \
- ladspa \
- lame \
- lcs \
- libcaca \
- libfame \
- libmng \
- libmms \
- libpng \
- libvisual \
- mad \
- mikmod \
- mpeg2dec \
- mpeg2enc \
- mplex \
- musepack \
- musicbrainz \
- nas \
- ogg \
- pango \
- polyp \
- raw1394 \
- sdl \
- snapshot \
- sndfile \
- shout \
- shout2 \
- sidplay \
- smoothwave \
- speex \
- swfdec \
- tarkin \
- theora \
- vorbis \
- xine \
- xvid
+ mad
diff --git a/gst/effectv/gstaging.c b/gst/effectv/gstaging.c
index e5ebed55..886517cc 100644
--- a/gst/effectv/gstaging.c
+++ b/gst/effectv/gstaging.c
@@ -172,15 +172,15 @@ gst_agingtv_class_init (gpointer g_class, gpointer class_data)
gobject_class = G_OBJECT_CLASS (g_class);
videofilter_class = GST_VIDEOFILTER_CLASS (g_class);
+ gobject_class->set_property = gst_agingtv_set_property;
+ gobject_class->get_property = gst_agingtv_get_property;
+
#if 0
g_object_class_install_property (gobject_class, ARG_METHOD,
g_param_spec_enum ("method", "method", "method",
GST_TYPE_AGINGTV_METHOD, GST_AGINGTV_METHOD_1, G_PARAM_READWRITE));
#endif
- gobject_class->set_property = gst_agingtv_set_property;
- gobject_class->get_property = gst_agingtv_get_property;
-
videofilter_class->setup = gst_agingtv_setup;
}
diff --git a/gst/effectv/gstdice.c b/gst/effectv/gstdice.c
index 3a376eb4..75c33772 100644
--- a/gst/effectv/gstdice.c
+++ b/gst/effectv/gstdice.c
@@ -173,13 +173,13 @@ gst_dicetv_class_init (gpointer g_class, gpointer class_data)
dicetv_class->reset = gst_dicetv_reset_handler;
+ gobject_class->set_property = gst_dicetv_set_property;
+ gobject_class->get_property = gst_dicetv_get_property;
+
g_object_class_install_property (gobject_class, ARG_CUBE_BITS,
g_param_spec_int ("square_bits", "Square Bits", "The size of the Squares",
MIN_CUBE_BITS, MAX_CUBE_BITS, DEFAULT_CUBE_BITS, G_PARAM_READWRITE));
- gobject_class->set_property = gst_dicetv_set_property;
- gobject_class->get_property = gst_dicetv_get_property;
-
videofilter_class->setup = gst_dicetv_setup;
}
diff --git a/gst/effectv/gstquark.c b/gst/effectv/gstquark.c
index 76d53a09..fa15e8ad 100644
--- a/gst/effectv/gstquark.c
+++ b/gst/effectv/gstquark.c
@@ -94,9 +94,8 @@ static void gst_quarktv_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec);
static void gst_quarktv_get_property (GObject * object, guint prop_id,
GValue * value, GParamSpec * pspec);
-static void gst_quarktv_dispose (GObject * object);
-static void gst_quarktv_chain (GstPad * pad, GstData * _data);
+static GstFlowReturn gst_quarktv_chain (GstPad * pad, GstBuffer * buffer);
static GstElementClass *parent_class = NULL;
@@ -159,31 +158,32 @@ gst_quarktv_class_init (GstQuarkTVClass * klass)
parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
+ gobject_class->set_property = gst_quarktv_set_property;
+ gobject_class->get_property = gst_quarktv_get_property;
+
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PLANES,
g_param_spec_int ("planes", "Planes", "Number of frames in the buffer",
1, 32, PLANES, G_PARAM_READWRITE));
- gobject_class->set_property = gst_quarktv_set_property;
- gobject_class->get_property = gst_quarktv_get_property;
- gobject_class->dispose = gst_quarktv_dispose;
-
gstelement_class->change_state = gst_quarktv_change_state;
}
static GstPadLinkReturn
-gst_quarktv_link (GstPad * pad, const GstCaps * caps)
+gst_quarktv_link (GstPad * pad, GstPad * peer)
{
GstQuarkTV *filter;
GstPad *otherpad;
- gint i;
- GstStructure *structure;
- GstPadLinkReturn res;
+
+ //gint i;
+ //GstStructure *structure;
+ //GstPadLinkReturn res;
filter = GST_QUARKTV (gst_pad_get_parent (pad));
g_return_val_if_fail (GST_IS_QUARKTV (filter), GST_PAD_LINK_REFUSED);
otherpad = (pad == filter->srcpad ? filter->sinkpad : filter->srcpad);
+#if 0
res = gst_pad_try_set_caps (otherpad, caps);
if (GST_PAD_LINK_FAILED (res))
return res;
@@ -200,6 +200,7 @@ gst_quarktv_link (GstPad * pad, const GstCaps * caps)
gst_buffer_unref (filter->planetable[i]);
filter->planetable[i] = NULL;
}
+#endif
return GST_PAD_LINK_OK;
}
@@ -210,7 +211,7 @@ gst_quarktv_init (GstQuarkTV * filter)
filter->sinkpad =
gst_pad_new_from_template (gst_static_pad_template_get
(&gst_effectv_sink_template), "sink");
- gst_pad_set_getcaps_function (filter->sinkpad, gst_pad_proxy_getcaps);
+ //gst_pad_set_getcaps_function (filter->sinkpad, gst_pad_proxy_getcaps);
gst_pad_set_chain_function (filter->sinkpad, gst_quarktv_chain);
gst_pad_set_link_function (filter->sinkpad, gst_quarktv_link);
gst_element_add_pad (GST_ELEMENT (filter), filter->sinkpad);
@@ -218,7 +219,7 @@ gst_quarktv_init (GstQuarkTV * filter)
filter->srcpad =
gst_pad_new_from_template (gst_static_pad_template_get
(&gst_effectv_src_template), "src");
- gst_pad_set_getcaps_function (filter->srcpad, gst_pad_proxy_getcaps);
+ //gst_pad_set_getcaps_function (filter->srcpad, gst_pad_proxy_getcaps);
gst_pad_set_link_function (filter->srcpad, gst_quarktv_link);
gst_element_add_pad (GST_ELEMENT (filter), filter->srcpad);
@@ -229,10 +230,9 @@ gst_quarktv_init (GstQuarkTV * filter)
memset (filter->planetable, 0, filter->planes * sizeof (GstBuffer *));
}
-static void
-gst_quarktv_chain (GstPad * pad, GstData * _data)
+static GstFlowReturn
+gst_quarktv_chain (GstPad * pad, GstBuffer * buf)
{
- GstBuffer *buf = GST_BUFFER (_data);
GstQuarkTV *filter;
guint32 *src, *dest;
GstBuffer *outbuf;
@@ -244,9 +244,7 @@ gst_quarktv_chain (GstPad * pad, GstData * _data)
area = filter->area;
- outbuf = gst_buffer_new ();
- GST_BUFFER_SIZE (outbuf) = area * sizeof (guint32);
- GST_BUFFER_DATA (outbuf) = g_malloc (GST_BUFFER_SIZE (outbuf));
+ outbuf = gst_pad_alloc_buffer (filter->srcpad, 0, area, GST_PAD_CAPS (pad));
dest = (guint32 *) GST_BUFFER_DATA (outbuf);
GST_BUFFER_TIMESTAMP (outbuf) = GST_BUFFER_TIMESTAMP (buf);
@@ -266,12 +264,14 @@ gst_quarktv_chain (GstPad * pad, GstData * _data)
dest[area] = (rand ? ((guint32 *) GST_BUFFER_DATA (rand))[area] : 0);
}
- gst_pad_push (filter->srcpad, GST_DATA (outbuf));
+ gst_pad_push (filter->srcpad, outbuf);
filter->current_plane--;
if (filter->current_plane < 0)
filter->current_plane = filter->planes - 1;
+
+ return GST_FLOW_OK;
}
static GstElementStateReturn
@@ -289,6 +289,8 @@ gst_quarktv_change_state (GstElement * element)
gst_buffer_unref (filter->planetable[i]);
filter->planetable[i] = NULL;
}
+ g_free (filter->planetable);
+ filter->planetable = NULL;
break;
}
default:
@@ -362,20 +364,3 @@ gst_quarktv_get_property (GObject * object, guint prop_id, GValue * value,
break;
}
}
-
-static void
-gst_quarktv_dispose (GObject * object)
-{
- GstQuarkTV *filter = GST_QUARKTV (object);
- gint i;
-
- for (i = 0; i < filter->planes; i++) {
- if (filter->planetable[i])
- gst_buffer_unref (filter->planetable[i]);
- filter->planetable[i] = NULL;
- }
- g_free (filter->planetable);
- filter->planetable = NULL;
-
- G_OBJECT_CLASS (parent_class)->dispose (object);
-}
diff --git a/gst/effectv/gstrev.c b/gst/effectv/gstrev.c
index c385a058..a7f5dd42 100644
--- a/gst/effectv/gstrev.c
+++ b/gst/effectv/gstrev.c
@@ -171,6 +171,9 @@ gst_revtv_class_init (gpointer klass, gpointer class_data)
gobject_class = G_OBJECT_CLASS (klass);
videofilter_class = GST_VIDEOFILTER_CLASS (klass);
+ gobject_class->set_property = gst_revtv_set_property;
+ gobject_class->get_property = gst_revtv_get_property;
+
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DELAY,
g_param_spec_int ("delay", "Delay", "Delay in frames between updates",
1, 100, 1, G_PARAM_READWRITE));
@@ -181,9 +184,6 @@ gst_revtv_class_init (gpointer klass, gpointer class_data)
g_param_spec_int ("gain", "Gain", "Control gain",
1, 200, 50, G_PARAM_READWRITE));
- gobject_class->set_property = gst_revtv_set_property;
- gobject_class->get_property = gst_revtv_get_property;
-
videofilter_class->setup = gst_revtv_setup;
}
diff --git a/gst/effectv/gstvertigo.c b/gst/effectv/gstvertigo.c
index e622eb57..cc3ed947 100644
--- a/gst/effectv/gstvertigo.c
+++ b/gst/effectv/gstvertigo.c
@@ -169,6 +169,9 @@ gst_vertigotv_class_init (GstVertigoTVClass * klass, gpointer class_data)
klass->reset = gst_vertigotv_reset_handler;
+ gobject_class->set_property = gst_vertigotv_set_property;
+ gobject_class->get_property = gst_vertigotv_get_property;
+
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SPEED,
g_param_spec_float ("speed", "Speed", "Control the speed of movement",
0.01, 100.0, 0.02, G_PARAM_READWRITE));
@@ -176,9 +179,6 @@ gst_vertigotv_class_init (GstVertigoTVClass * klass, gpointer class_data)
g_param_spec_float ("zoom_speed", "Zoom Speed",
"Control the rate of zooming", 1.01, 1.1, 1.01, G_PARAM_READWRITE));
- gobject_class->set_property = gst_vertigotv_set_property;
- gobject_class->get_property = gst_vertigotv_get_property;
-
videofilter_class->setup = gst_vertigotv_setup;
}
diff --git a/gst/effectv/gstwarp.c b/gst/effectv/gstwarp.c
index e54e7520..00bd7d00 100644
--- a/gst/effectv/gstwarp.c
+++ b/gst/effectv/gstwarp.c
@@ -173,15 +173,15 @@ gst_warptv_class_init (gpointer g_class, gpointer class_data)
gobject_class = G_OBJECT_CLASS (g_class);
videofilter_class = GST_VIDEOFILTER_CLASS (g_class);
+ gobject_class->set_property = gst_warptv_set_property;
+ gobject_class->get_property = gst_warptv_get_property;
+
#if 0
g_object_class_install_property (gobject_class, ARG_METHOD,
g_param_spec_enum ("method", "method", "method",
GST_TYPE_WARPTV_METHOD, GST_WARPTV_METHOD_1, G_PARAM_READWRITE));
#endif
- gobject_class->set_property = gst_warptv_set_property;
- gobject_class->get_property = gst_warptv_get_property;
-
videofilter_class->setup = gst_warptv_setup;
}