Xfce Wiki

Sub domains
 
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Mohr <david@mcbf.net>2015-03-26 16:00:34 -0600
committerDavid Mohr <david@mcbf.net>2015-03-26 16:00:34 -0600
commit5052d5761386e470fe0cdd6a799c1ee77be80c64 (patch)
tree0a4a14bd6bd4ff49b0762e7f78a4b71eca9f812b
parentf7df8b38434634ef78129244f8991bd942e0385b (diff)
downloadxfburn-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.in8
-rw-r--r--xfburn/xfburn-transcoder-gst.c22
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;