[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