Add GStreamer 1.0 support

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
pull/1/head
Slávek Banko 8 years ago
parent ebbe6c574d
commit 4d5e6b99d3

@ -10,12 +10,12 @@ fi
if test "x$with_gstreamer" = xcheck && test "x$have_gst" = xno; then if test "x$with_gstreamer" = xcheck && test "x$have_gst" = xno; then
echo "**************************************************" echo "**************************************************"
echo "*" echo "*"
echo "* You do not seem to have GStreamer 0.8.x installed." echo "* You do not seem to have GStreamer 0.8.x, 0.10.x or 1.0.x installed."
echo "* Without this aRts and/or aKode output will be used exclusively." echo "* Without this aRts and/or aKode output will be used exclusively."
echo "*" echo "*"
echo "* If you actually have gstreamer installed make sure you also have" echo "* If you actually have gstreamer installed make sure you also have"
echo "* the gst-plugins collection installed. Both gstreamer and" echo "* the gst-plugins collection installed. Both gstreamer and"
echo "* gst-plugins need to be 0.8.x (0.9 is not supported)" echo "* gst-plugins need to be 0.8.x, 0.10.x or 1.0.x (0.9 is not supported)"
echo "* http://gstreamer.freedesktop.org/modules/" echo "* http://gstreamer.freedesktop.org/modules/"
echo "*" echo "*"
echo "* JuK supports GStreamer output but will also" echo "* JuK supports GStreamer output but will also"

@ -44,29 +44,34 @@ AC_ARG_WITH(gstreamer,
have_gst=no have_gst=no
if test "x$with_gstreamer" != xno; then if test "x$with_gstreamer" != xno; then
# pkg-config seems to have a bug where it masks needed -L entries when it # pkg-config seems to have a bug where it masks needed -L entries when it
# shouldn't, so disable that. # shouldn't, so disable that.
PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1
export PKG_CONFIG_ALLOW_SYSTEM_LIBS export PKG_CONFIG_ALLOW_SYSTEM_LIBS
GST_MAJORMINOR=0.10 GST_MAJORMINOR=1.0
GST_REQ=0.10.0 GST_REQ=1.0.0
GST_VERSION=10 PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_REQ, have_gst=yes, have_gst=no)
PKG_CHECK_MODULES(GST, \
gstreamer-$GST_MAJORMINOR >= $GST_REQ, \
have_gst=yes, have_gst=no)
if test "x$have_gst" != xyes; then if test "x$have_gst" != xyes; then
AC_MSG_RESULT(no)
GST_MAJORMINOR=0.10
GST_REQ=0.10.0
PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_REQ, have_gst=yes, have_gst=no)
if test "x$have_gst" != xyes; then
AC_MSG_RESULT(no)
GST_MAJORMINOR=0.8 GST_MAJORMINOR=0.8
GST_REQ=0.8.0 GST_REQ=0.8.0
GST_VERSION=8 PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_REQ, have_gst=yes, have_gst=no)
PKG_CHECK_MODULES(GST, \ if test "x$have_gst" != xyes; then
gstreamer-$GST_MAJORMINOR >= $GST_REQ, \ AC_MSG_RESULT(no)
have_gst=yes, have_gst=no) fi
fi
fi fi
if test "x$with_gstreamer" != xcheck && test "x$have_gst" != xyes; then if test "x$with_gstreamer" != xcheck && test "x$have_gst" != xyes; then
@ -90,7 +95,6 @@ else
AC_MSG_NOTICE([GStreamer version >= $GST_REQ found.]) AC_MSG_NOTICE([GStreamer version >= $GST_REQ found.])
AC_DEFINE(HAVE_GSTREAMER, 1, [have GStreamer]) AC_DEFINE(HAVE_GSTREAMER, 1, [have GStreamer])
AC_DEFINE_UNQUOTED(GSTREAMER_VERSION, $GST_VERSION, [GStreamer Version])
fi fi
AC_SUBST(GST_CFLAGS) AC_SUBST(GST_CFLAGS)

@ -32,7 +32,7 @@
#define JUK_GLIB_NULL static_cast<gpointer>(0) #define JUK_GLIB_NULL static_cast<gpointer>(0)
#if GSTREAMER_VERSION == 8 #if GST_VERSION_MAJOR == 0 && GST_VERSION_MINOR < 10
/******************************************************************************/ /******************************************************************************/
/******************************************************************************/ /******************************************************************************/
@ -306,7 +306,11 @@ void GStreamerPlayer::setupPipeline()
} }
m_playbin = gst_element_factory_make("playbin", "playbin"); m_playbin = gst_element_factory_make("playbin", "playbin");
#if GST_CHECK_VERSION(1,0,0)
gst_bus_set_sync_handler(gst_pipeline_get_bus(GST_PIPELINE(m_playbin)), messageHandler, this, 0L);
#else
gst_bus_set_sync_handler(gst_pipeline_get_bus(GST_PIPELINE(m_playbin)), messageHandler, this); gst_bus_set_sync_handler(gst_pipeline_get_bus(GST_PIPELINE(m_playbin)), messageHandler, this);
#endif
} }
long long GStreamerPlayer::time(TimeQuery type) const long long GStreamerPlayer::time(TimeQuery type) const

@ -59,7 +59,7 @@ public slots:
private: private:
void setupPipeline(); void setupPipeline();
#if GSTREAMER_VERSION == 8 #if GST_VERSION_MAJOR == 0 && GST_VERSION_MINOR < 10
void readConfig(); void readConfig();
long long time(GstQueryType type) const; long long time(GstQueryType type) const;

Loading…
Cancel
Save