diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | ext/wavpack/gstwavpackparse.c | 9 |
2 files changed, 14 insertions, 3 deletions
@@ -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; |