diff options
| author | David Mohr <david@mcbf.net> | 2015-03-26 16:00:34 -0600 |
|---|---|---|
| committer | David Mohr <david@mcbf.net> | 2015-03-26 16:00:34 -0600 |
| commit | 5052d5761386e470fe0cdd6a799c1ee77be80c64 (patch) | |
| tree | 0a4a14bd6bd4ff49b0762e7f78a4b71eca9f812b | |
| parent | f7df8b38434634ef78129244f8991bd942e0385b (diff) | |
| download | xfburn-5052d5761386e470fe0cdd6a799c1ee77be80c64.tar.gz | |
Adapting gstreamer 1.0 api (work in progress)
The filter of the link to the required audio format does not work.
| -rw-r--r-- | configure.in.in | 8 | ||||
| -rw-r--r-- | xfburn/xfburn-transcoder-gst.c | 22 |
2 files changed, 16 insertions, 14 deletions
diff --git a/configure.in.in b/configure.in.in index 9c1b5d2..0bf3b4d 100644 --- a/configure.in.in +++ b/configure.in.in @@ -3,13 +3,13 @@ dnl $Id$ dnl Version information m4_define([xfburn_version_major], [0]) m4_define([xfburn_version_minor], [5]) -m4_define([xfburn_version_micro], [2]) +m4_define([xfburn_version_micro], [3]) m4_define([xfburn_version_build], [@REVISION@]) m4_define([xfburn_version_tag], []) m4_define([xfburn_version], [xfburn_version_major().xfburn_version_minor().xfburn_version_micro()ifelse(xfburn_version_tag(), [git], [xfburn_version_tag()-xfburn_version_build()], [xfburn_version_tag()])]) dnl Initialize autoconf -AC_COPYRIGHT([Copyright (c) 2005-2008 Jean-François Wauthy <pollux@xfce.org>, 2008-2014 David Mohr <david@mcbf.net>]) +AC_COPYRIGHT([Copyright (c) 2005-2008 Jean-François Wauthy <pollux@xfce.org>, 2008-2015 David Mohr <david@mcbf.net>]) AC_INIT([xfburn], [xfburn_version], [xfburn@xfce.org]) dnl Initialize automake @@ -48,9 +48,9 @@ dnl *** Optional support for gstreamer *** dnl ************************************** dnl (based on xfce4-mixer (trunk@27735) dnl XDT_CHECK_OPTIONAL_PACKAGE([GST_PLUGINS_BASE], [gstreamer-plugins-base-0.10], [0.10.2]) -XDT_CHECK_OPTIONAL_PACKAGE([GST], [gstreamer-0.10], [0.10.2], [gstreamer], [GStreamer support for burning audio]) +XDT_CHECK_OPTIONAL_PACKAGE([GST], [gstreamer-1.0], [1.0.0], [gstreamer], [GStreamer support for burning audio]) if test x"$GST_FOUND" == x"yes"; then - XDT_CHECK_PACKAGE([GST_PBUTILS], [gstreamer-pbutils-0.10], [0.10.2]) + XDT_CHECK_PACKAGE([GST_PBUTILS], [gstreamer-pbutils-1.0], [1.0]) fi diff --git a/xfburn/xfburn-transcoder-gst.c b/xfburn/xfburn-transcoder-gst.c index c2d4e2b..6ee7d02 100644 --- a/xfburn/xfburn-transcoder-gst.c +++ b/xfburn/xfburn-transcoder-gst.c @@ -89,7 +89,7 @@ static gboolean query_and_signal_duration (XfburnTranscoderGst *trans); /* gstreamer support functions */ static gboolean bus_call (GstBus *bus, GstMessage *msg, gpointer data); -static void on_pad_added (GstElement *element, GstPad *pad, gboolean last, gpointer data); +static void on_pad_added (GstElement *element, GstPad *pad, gpointer data); #ifdef DEBUG_GST static void cb_handoff (GstElement *element, GstBuffer *buffer, gpointer data); @@ -314,7 +314,7 @@ create_pipeline (XfburnTranscoderGst *trans) gst_element_link (resample, conv2); /* setup caps for raw pcm data */ - caps = gst_caps_new_simple ("audio/x-raw-int", + caps = gst_caps_new_simple ("audio/x-raw", "rate", G_TYPE_INT, 44100, "channels", G_TYPE_INT, 2, "endianness", G_TYPE_INT, G_LITTLE_ENDIAN, @@ -324,7 +324,9 @@ create_pipeline (XfburnTranscoderGst *trans) NULL); #if DEBUG_GST > 0 && DEBUG > 0 - if (!gst_element_link_filtered (conv2, id, caps)) { + // TODO without the filter it does work but I'm not sure the audio format is correct + //if (!gst_element_link_filtered (conv2, id, caps)) { + if (!gst_element_link (conv2, id)) { #else if (!gst_element_link_filtered (conv2, sink, caps)) { #endif @@ -341,7 +343,7 @@ create_pipeline (XfburnTranscoderGst *trans) g_signal_connect (id, "handoff", G_CALLBACK (cb_handoff), id); #endif - g_signal_connect (decoder, "new-decoded-pad", G_CALLBACK (on_pad_added), trans); + g_signal_connect (decoder, "pad-added", G_CALLBACK (on_pad_added), trans); } static void @@ -447,7 +449,7 @@ query_and_signal_duration (XfburnTranscoderGst *trans) //guint secs; fmt = GST_FORMAT_TIME; - if (!gst_element_query_duration (priv->pipeline, &fmt, &priv->duration)) { + if (!gst_element_query_duration (priv->pipeline, fmt, &priv->duration)) { return FALSE; } @@ -605,7 +607,7 @@ bus_call (GstBus *bus, GstMessage *msg, gpointer data) break; } - case GST_MESSAGE_DURATION: { + case GST_MESSAGE_DURATION_CHANGED: { switch (priv->state) { case XFBURN_TRANSCODER_GST_STATE_IDLE: @@ -654,7 +656,7 @@ bus_call (GstBus *bus, GstMessage *msg, gpointer data) } static void -on_pad_added (GstElement *element, GstPad *pad, gboolean last, gpointer data) +on_pad_added (GstElement *element, GstPad *pad, gpointer data) { XfburnTranscoderGst *trans = XFBURN_TRANSCODER_GST (data); XfburnTranscoderGstPrivate *priv= XFBURN_TRANSCODER_GST_GET_PRIVATE (trans); @@ -677,7 +679,7 @@ on_pad_added (GstElement *element, GstPad *pad, gboolean last, gpointer data) #endif // check disc type - caps = gst_pad_get_caps (pad); + caps = gst_pad_query_caps (pad, NULL); str = gst_caps_get_structure (caps, 0); if (!g_strrstr (gst_structure_get_name (str), "audio")) { GstStructure *msg_struct; @@ -696,7 +698,7 @@ on_pad_added (GstElement *element, GstPad *pad, gboolean last, gpointer data) "%s", _(error_msg)); - msg_struct = gst_structure_new ("no-audio-content", NULL); + msg_struct = gst_structure_new_empty ("no-audio-content"); msg = gst_message_new_application (GST_OBJECT (element), msg_struct); @@ -745,7 +747,7 @@ get_description (XfburnTranscoder *trans) static void cb_handoff (GstElement *element, GstBuffer *buffer, gpointer data) { - guint size = GST_BUFFER_SIZE (buffer); + guint size = gst_buffer_get_size (buffer); #if DEBUG_GST > 2 static int i = 0; const int step = 30; |