[SCM] morituri/master: add notes on flacparse bug

js at users.alioth.debian.org js at users.alioth.debian.org
Sun Oct 19 20:09:54 UTC 2014


The following commit has been merged in the master branch:
commit 29ac4d49b616b172a14cc5b425449ff008cb4520
Author: Thomas Vander Stichele <thomas (at) apestaart (dot) org>
Date:   Sat Jan 19 10:22:23 2013 +0100

    add notes on flacparse bug

diff --git a/doc/hacking/bugs/bgo-650785/bgo-650785.otl b/doc/hacking/bugs/bgo-650785/bgo-650785.otl
new file mode 100644
index 0000000..b5a98bf
--- /dev/null
+++ b/doc/hacking/bugs/bgo-650785/bgo-650785.otl
@@ -0,0 +1,19 @@
+bugzilla 650785
+	bisecting -good
+		notes
+			using teuf's C test case, but fixing the spaces between quotes and !
+			tested on F17 ana
+		commits
+			e0cadab
+				teuf fails
+			8823ae251a72bd18fc93322914c70390fc16c6b3
+				slomo's patch from bz report
+				teuf works
+			8229709
+				1 patch after 0.10.30
+				teuf works
+			a53540346a18d27b94f5254ac2582cb844e9bde0
+				tim's fix for bugzilla 650785
+				commit a53540346a18d27b94f5254ac2582cb844e9bde0
+				 Author: Tim-Philipp Müller <tim.muller at collabora.co.uk>
+				  Date:   Mon May 23 13:50:46 2011 +0100
diff --git a/doc/hacking/bugs/bgo-650785/bisect.sh b/doc/hacking/bugs/bgo-650785/bisect.sh
new file mode 100755
index 0000000..8e6f9f2
--- /dev/null
+++ b/doc/hacking/bugs/bgo-650785/bisect.sh
@@ -0,0 +1,10 @@
+GOOD=/home/thomas/gst/git/gst-plugins-good/gst/audioparsers
+MORI=/home/thomas/dev/own/morituri
+
+cd $GOOD
+make
+
+GST_PLUGIN_PATH=$GOOD gst-inspect flacparse | grep ersion:
+
+cd $MORI
+GST_PLUGIN_PATH=$GOOD ./flacparse-testcase $MORI/morituri/test/track.flac
diff --git a/doc/hacking/bugs/bgo-650785/flacparse-testcase.c b/doc/hacking/bugs/bgo-650785/flacparse-testcase.c
new file mode 100644
index 0000000..4d90940
--- /dev/null
+++ b/doc/hacking/bugs/bgo-650785/flacparse-testcase.c
@@ -0,0 +1,64 @@
+/* gcc -Wall $(pkg-config --cflags --libs gstreamer-0.10) -g3 -ggdb3 -o flacparse-testcase ./flacparse-testcase.c */
+#include <gst/gst.h>
+
+static const char PIPELINE[] = "filesrc location=%s " \
+                                "! decodebin ! audio/x-raw-int " \
+                                "! appsink name=sink sync=False " \
+                                          "emit-signals=True";
+
+int main(int argc, char **argv)
+{
+    GstElement *pipeline;
+    GstElement *sink;
+    gchar *pipeline_str;
+    GstStateChangeReturn state_change_status;
+    gint64 duration;
+    GstFormat query_format;
+    gboolean query_success;
+
+    gst_init(&argc, &argv);
+
+    if (argc != 2) {
+        g_print("Usage: %s filename\n", argv[0]);
+        return 1;
+    }
+
+    pipeline_str = g_strdup_printf(PIPELINE, argv[1]);
+    pipeline = gst_parse_launch(pipeline_str, NULL);
+    if (pipeline == NULL) {
+        g_print("Failed to create pipeline\n");
+        g_print("%s\n", pipeline_str);
+        return 2;
+    }
+    g_free(pipeline_str);
+
+    gst_element_set_state(pipeline, GST_STATE_PAUSED);
+    state_change_status = gst_element_get_state(pipeline, NULL, NULL,
+                                                GST_CLOCK_TIME_NONE);
+    if (state_change_status != GST_STATE_CHANGE_SUCCESS) {
+        g_print("Failed to set pipeline to PAUSED\n");
+        return 3;
+    }
+
+    sink = gst_bin_get_by_name(GST_BIN(pipeline), "sink");
+    if (sink == NULL) {
+        g_print("Couldn't find sink in pipeline\n");
+        return 4;
+    }
+
+    query_format = GST_FORMAT_DEFAULT;
+    query_success = gst_element_query_duration(sink, &query_format,
+                                               &duration);
+    if (query_success) {
+        g_print("%s duration is %"G_GINT64_FORMAT"\n", argv[1], duration);
+        return 0;
+    } else {
+        g_print("Couldn't get duration for %s\n", argv[1]);
+        return 5;
+    }
+
+    gst_object_unref(GST_OBJECT(sink));
+    gst_object_unref(GST_OBJECT(pipeline));
+
+    return 6;
+}

-- 
morituri packaging



More information about the pkg-multimedia-commits mailing list