summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--ext/wavpack/gstwavpackparse.c9
2 files changed, 14 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 0752f133..15e08d6f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2007-01-25 Sebastian Dröge <slomo@circular-chaos.org>
+ * ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_src_query):
+ Fix the SEEKING query. We can seek if we are in pull mode, not the
+ other way around. Also set the correct format in the seeking query and
+ handle the case where the headers are not read yet and we can't say
+ anything about our seeking capabilities.
+
+2007-01-25 Sebastian Dröge <slomo@circular-chaos.org>
+
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_base_init):
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_base_init):
Fix spelling in 2 places: It's called Wavpack, not WavePack.
diff --git a/ext/wavpack/gstwavpackparse.c b/ext/wavpack/gstwavpackparse.c
index 47f6cd54..ed1de714 100644
--- a/ext/wavpack/gstwavpackparse.c
+++ b/ext/wavpack/gstwavpackparse.c
@@ -343,14 +343,17 @@ gst_wavpack_parse_src_query (GstPad * pad, GstQuery * query)
gboolean seekable;
gint64 duration = -1;
- gst_pad_query_duration (pad, &format, &duration);
+ /* only fails if we didn't read the headers yet and can't say
+ * anything about our seeking capabilities */
+ if (!gst_pad_query_duration (pad, &format, &duration))
+ break;
/* can't seek in streaming mode yet */
GST_OBJECT_LOCK (parse);
- seekable = (parse->adapter != NULL);
+ seekable = (parse->adapter == NULL);
GST_OBJECT_UNLOCK (parse);
- gst_query_set_seeking (query, GST_FORMAT_TIME, seekable, 0, duration);
+ gst_query_set_seeking (query, format, seekable, 0, duration);
ret = TRUE;
}
break;