add notes on flacparse bug

This commit is contained in:
Thomas Vander Stichele
2013-01-19 10:22:23 +01:00
parent 4a24671bce
commit 29ac4d49b6
3 changed files with 93 additions and 0 deletions

View File

@@ -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@collabora.co.uk>
Date: Mon May 23 13:50:46 2011 +0100

View File

@@ -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

View File

@@ -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;
}