summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog12
-rw-r--r--configure.ac17
-rw-r--r--gst-libs/gst/gconf/Makefile.am2
-rw-r--r--gst/modplug/gstmodplug.cc23
-rw-r--r--pkgconfig/Makefile.am18
5 files changed, 50 insertions, 22 deletions
diff --git a/ChangeLog b/ChangeLog
index e19ed4f7..ff48eec0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2004-03-14 Benjamin Otte <otte@gnome.org>
+
+ * configure.ac:
+ * gst-libs/gst/gconf/Makefile.am:
+ * pkgconfig/Makefile.am:
+ move gstreamer-gconf pkgconfig files to pkgconfig/ dir. Make sure
+ they get rebuilt properly
+ * configure.ac:
+ when checking for vorbis, try pkgconfig first.
+ * gst/modplug/gstmodplug.cc:
+ add fixate function
+
2004-03-14 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
diff --git a/configure.ac b/configure.ac
index 1c4adb74..c36810ea 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1334,11 +1334,16 @@ dnl *** vorbis ***
dnl AM_PATH_VORBIS only takes two options
translit(dnm, m, l) AM_CONDITIONAL(USE_VORBIS, true)
GST_CHECK_FEATURE(VORBIS, [vorbis plug-in], vorbisenc vorbisdec, [
- XIPH_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no)
- AS_SCRUB_INCLUDE(VORBIS_CFLAGS)
+ PKG_CHECK_MODULES(VORBIS, vorbis >= 1.0 vorbisenc >= 1.0, [
+ HAVE_VORBIS="yes"
+ ], [
+ XIPH_PATH_VORBIS(HAVE_VORBIS="yes", HAVE_VORBIS="no")
+ AS_SCRUB_INCLUDE(VORBIS_CFLAGS)
+ ])
])
if test "x$HAVE_VORBIS" = "xyes"; then
ac_cflags_save="$CFLAGS"
+ dnl FIXME: does this work on non-gcc? -- Company
CFLAGS="-Wall -Werror"
AC_COMPILE_IFELSE(
AC_LANG_PROGRAM([
@@ -1567,14 +1572,14 @@ dnl #########################
AC_CONFIG_FILES(
Makefile
+pkgconfig/gstreamer-gconf.pc
+pkgconfig/gstreamer-gconf-uninstalled.pc
+pkgconfig/gstreamer-interfaces.pc
+pkgconfig/gstreamer-interfaces-uninstalled.pc
pkgconfig/gstreamer-libs.pc
pkgconfig/gstreamer-libs-uninstalled.pc
pkgconfig/gstreamer-play.pc
pkgconfig/gstreamer-play-uninstalled.pc
-pkgconfig/gstreamer-interfaces.pc
-pkgconfig/gstreamer-interfaces-uninstalled.pc
-gst-libs/gst/gconf/gstreamer-gconf.pc
-gst-libs/gst/gconf/gstreamer-gconf-uninstalled.pc
gst-plugins.spec
gst/Makefile
gst/ac3parse/Makefile
diff --git a/gst-libs/gst/gconf/Makefile.am b/gst-libs/gst/gconf/Makefile.am
index 64bebf9f..f816f946 100644
--- a/gst-libs/gst/gconf/Makefile.am
+++ b/gst-libs/gst/gconf/Makefile.am
@@ -18,5 +18,3 @@ test_gconf_LDADD = $(GST_LIBS) $(GCONF_LIBS) libgstgconf-@GST_MAJORMINOR@.la
libgstgconf_@GST_MAJORMINOR@_la_LIBADD = $(GST_LIBS) $(GCONF_LIBS)
libgstgconf_@GST_MAJORMINOR@_la_CFLAGS = $(GST_CFLAGS) $(GCONF_CFLAGS) $(DIR_CFLAGS)
libgstgconf_@GST_MAJORMINOR@_la_LDFLAGS = @GST_PLUGINS_LT_LDFLAGS@ -version-info @GST_PLUGINS_LIBVERSION@
-
-EXTRA_DIST = gstreamer-gconf.pc.in gstreamer-gconf-uninstalled.pc.in
diff --git a/gst/modplug/gstmodplug.cc b/gst/modplug/gstmodplug.cc
index 9ebd8563..c4f143d5 100644
--- a/gst/modplug/gstmodplug.cc
+++ b/gst/modplug/gstmodplug.cc
@@ -118,6 +118,7 @@ static void gst_modplug_get_property (GObject *object,
GParamSpec *pspec );
static GstPadLinkReturn
gst_modplug_srclink (GstPad *pad, const GstCaps *caps);
+static GstCaps *gst_modplug_fixate (GstPad *pad, const GstCaps *caps);
static void gst_modplug_loop (GstElement *element);
static void gst_modplug_setup (GstModPlug *modplug);
static const GstFormat *
@@ -240,13 +241,13 @@ gst_modplug_init (GstModPlug *modplug)
gst_element_add_pad (GST_ELEMENT(modplug), modplug->sinkpad);
modplug->srcpad = gst_pad_new_from_template (gst_static_pad_template_get (&modplug_src_template_factory), "src");
- gst_element_add_pad (GST_ELEMENT(modplug), modplug->srcpad);
gst_pad_set_link_function (modplug->srcpad, gst_modplug_srclink);
-
+ gst_pad_set_fixate_function (modplug->srcpad, gst_modplug_fixate);
gst_pad_set_event_function (modplug->srcpad, (GstPadEventFunction)GST_DEBUG_FUNCPTR(gst_modplug_src_event));
gst_pad_set_query_function (modplug->srcpad, gst_modplug_src_query);
gst_pad_set_query_type_function (modplug->srcpad, (GstPadQueryTypeFunction) GST_DEBUG_FUNCPTR (gst_modplug_get_query_types));
gst_pad_set_formats_function (modplug->srcpad, (GstPadFormatsFunction)GST_DEBUG_FUNCPTR (gst_modplug_get_formats));
+ gst_element_add_pad (GST_ELEMENT(modplug), modplug->srcpad);
gst_element_set_loop_function (GST_ELEMENT (modplug), gst_modplug_loop);
@@ -462,6 +463,24 @@ gst_modplug_srclink (GstPad *pad, const GstCaps *caps)
return GST_PAD_LINK_OK;
}
+static GstCaps *
+gst_modplug_fixate (GstPad *pad, const GstCaps *caps)
+{
+ if (gst_caps_is_simple (caps)) {
+ GstCaps *copy;
+ GstStructure *structure;
+
+ copy = gst_caps_copy (caps);
+ structure = gst_caps_get_structure (copy, 0);
+ if (gst_caps_structure_fixate_field_nearest_int (structure, "rate", 44100))
+ return copy;
+ if (gst_caps_structure_fixate_field_nearest_int (structure, "channels", 2))
+ return copy;
+ gst_caps_free (copy);
+ }
+ return NULL;
+}
+
static void
gst_modplug_handle_event (GstModPlug *modplug)
{
diff --git a/pkgconfig/Makefile.am b/pkgconfig/Makefile.am
index 36bca352..cad9e26e 100644
--- a/pkgconfig/Makefile.am
+++ b/pkgconfig/Makefile.am
@@ -8,16 +8,18 @@ endif
### all of the standard pc files we need to generate
pcfiles = \
+ $(GCONF_PC) \
gstreamer-libs-@GST_MAJORMINOR@.pc \
gstreamer-play-@GST_MAJORMINOR@.pc \
gstreamer-interfaces-@GST_MAJORMINOR@.pc
pcfiles_uninstalled = \
+ $(GCONF_PC_UNINSTALLED) \
gstreamer-libs-@GST_MAJORMINOR@-uninstalled.pc \
gstreamer-play-@GST_MAJORMINOR@-uninstalled.pc \
gstreamer-interfaces-@GST_MAJORMINOR@-uninstalled.pc
pcfiles_gconf = $(GCONF_PC) $(GCONF_PC_UNINSTALLED)
-all-local: $(pcfiles) $(pcfiles_uninstalled) $(pcfiles_gconf)
+all-local: $(pcfiles) $(pcfiles_uninstalled)
### how to generate pc files from .pc files in this dir
$(pcfiles): %-@GST_MAJORMINOR@.pc: %.pc
@@ -25,16 +27,6 @@ $(pcfiles): %-@GST_MAJORMINOR@.pc: %.pc
$(pcfiles_uninstalled): %-@GST_MAJORMINOR@-uninstalled.pc: %-uninstalled.pc
cp $< $@
-### how to generate gconf dir pc files from their pc.in files
-### somebody smart could figure out how to fold this back into one rule
-$(top_builddir)/gst-libs/gst/gconf/gstreamer-gconf*.pc:
- cd $(top_builddir)/gst-libs/gst/gconf && make gstreamer-gconf.pc gstreamer-gconf-uninstalled.pc
-
-### how to generate pc files from base .pc file in other dir
-$(pcfiles_gconf): gstreamer-gconf-@GST_MAJORMINOR@%.pc: \
- $(top_builddir)/gst-libs/gst/gconf/gstreamer-gconf%.pc
- cp $< $@
-
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = \
$(GCONF_PC) \
@@ -42,7 +34,9 @@ pkgconfig_DATA = \
gstreamer-play-@GST_MAJORMINOR@.pc \
gstreamer-interfaces-@GST_MAJORMINOR@.pc
-CLEANFILES = $(pcfiles) $(pcfiles_uninstalled) $(GCONF_PC) $(GCONF_PC_UNINSTALLED)
+CLEANFILES = $(pcfiles) $(pcfiles_uninstalled)
EXTRA_DIST= \
+ gstreamer-gconf.pc.in gstreamer-gconf-uninstalled.pc.in \
+ gstreamer-interfaces.pc.in gstreamer-interfaces-uninstalled.pc.in \
gstreamer-libs.pc.in gstreamer-libs-uninstalled.pc.in \
gstreamer-play.pc.in gstreamer-play-uninstalled.pc.in