summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.net>2006-02-06 12:18:45 +0000
committerTim-Philipp Müller <tim@centricular.net>2006-02-06 12:18:45 +0000
commit3a27956d47bbf408ad8e0bfd10cfcefb4a5ddc04 (patch)
treed146cc3bbd0de2808d531aab9765e1c174b29e64
parent323331a0514009bf47b8a3142e75d9c4a2bcc1d2 (diff)
Pass unhandled queries upstream instead of just dropping them (#326446). Update query type arrays here and there.
Original commit message from CVS: * ext/dv/gstdvdemux.c: (gst_dvdemux_src_query), (gst_dvdemux_sink_query): * ext/flac/gstflacdec.c: (gst_flac_dec_src_query): * ext/speex/gstspeexdec.c: (speex_get_query_types), (speex_dec_src_query): * ext/speex/gstspeexenc.c: (gst_speexenc_src_query), (gst_speexenc_sink_query): * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query): * gst/matroska/matroska-demux.c: (gst_matroska_demux_get_src_query_types), (gst_matroska_demux_handle_src_query): * gst/wavparse/gstwavparse.c: (gst_wavparse_get_query_types), (gst_wavparse_pad_query): Pass unhandled queries upstream instead of just dropping them (#326446). Update query type arrays here and there.
-rw-r--r--ChangeLog18
-rw-r--r--ext/dv/gstdvdemux.c4
-rw-r--r--ext/flac/gstflacdec.c2
-rw-r--r--ext/speex/gstspeexdec.c22
-rw-r--r--ext/speex/gstspeexenc.c4
-rw-r--r--gst/avi/gstavidemux.c2
-rw-r--r--gst/matroska/matroska-demux.c2
-rw-r--r--gst/wavparse/gstwavparse.c4
8 files changed, 41 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index c8d9cdfc..4159930f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,23 @@
2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
+ * ext/dv/gstdvdemux.c: (gst_dvdemux_src_query),
+ (gst_dvdemux_sink_query):
+ * ext/flac/gstflacdec.c: (gst_flac_dec_src_query):
+ * ext/speex/gstspeexdec.c: (speex_get_query_types),
+ (speex_dec_src_query):
+ * ext/speex/gstspeexenc.c: (gst_speexenc_src_query),
+ (gst_speexenc_sink_query):
+ * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query):
+ * gst/matroska/matroska-demux.c:
+ (gst_matroska_demux_get_src_query_types),
+ (gst_matroska_demux_handle_src_query):
+ * gst/wavparse/gstwavparse.c: (gst_wavparse_get_query_types),
+ (gst_wavparse_pad_query):
+ Pass unhandled queries upstream instead of just dropping
+ them (#326446). Update query type arrays here and there.
+
+2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
+
* tests/check/elements/matroskamux.c: (setup_src_pad):
Collectpads in core got changed and now also holds a
reference to any pad that is part of it. Fix refcount
diff --git a/ext/dv/gstdvdemux.c b/ext/dv/gstdvdemux.c
index e93d532c..5765aa30 100644
--- a/ext/dv/gstdvdemux.c
+++ b/ext/dv/gstdvdemux.c
@@ -516,7 +516,7 @@ gst_dvdemux_src_query (GstPad * pad, GstQuery * query)
break;
}
default:
- res = FALSE;
+ res = gst_pad_query_default (pad, query);
break;
}
gst_object_unref (dvdemux);
@@ -565,7 +565,7 @@ gst_dvdemux_sink_query (GstPad * pad, GstQuery * query)
break;
}
default:
- res = FALSE;
+ res = gst_pad_query_default (pad, query);
break;
}
gst_object_unref (dvdemux);
diff --git a/ext/flac/gstflacdec.c b/ext/flac/gstflacdec.c
index 836eadce..92aa4e2c 100644
--- a/ext/flac/gstflacdec.c
+++ b/ext/flac/gstflacdec.c
@@ -826,7 +826,7 @@ gst_flac_dec_src_query (GstPad * pad, GstQuery * query)
}
default:{
- res = FALSE;
+ res = gst_pad_query_default (pad, query);
break;
}
}
diff --git a/ext/speex/gstspeexdec.c b/ext/speex/gstspeexdec.c
index 5f68a32b..5bf95818 100644
--- a/ext/speex/gstspeexdec.c
+++ b/ext/speex/gstspeexdec.c
@@ -118,6 +118,7 @@ speex_get_query_types (GstPad * pad)
{
static const GstQueryType speex_dec_src_query_types[] = {
GST_QUERY_POSITION,
+ GST_QUERY_DURATION,
0
};
@@ -212,6 +213,7 @@ static gboolean
speex_dec_src_query (GstPad * pad, GstQuery * query)
{
GstSpeexDec *dec = GST_SPEEXDEC (GST_OBJECT_PARENT (pad));
+ gboolean res = FALSE;
switch (GST_QUERY_TYPE (query)) {
case GST_QUERY_POSITION:
@@ -221,10 +223,10 @@ speex_dec_src_query (GstPad * pad, GstQuery * query)
gst_query_parse_position (query, &format, NULL);
- speex_dec_convert (dec->srcpad, GST_FORMAT_DEFAULT, dec->samples_out,
- &format, &cur);
-
- gst_query_set_position (query, format, cur);
+ if ((res = speex_dec_convert (dec->srcpad, GST_FORMAT_DEFAULT,
+ dec->samples_out, &format, &cur))) {
+ gst_query_set_position (query, format, cur);
+ }
break;
}
case GST_QUERY_DURATION:
@@ -234,19 +236,19 @@ speex_dec_src_query (GstPad * pad, GstQuery * query)
gint64 total_samples;
if (!(peer = gst_pad_get_peer (dec->sinkpad)))
- return FALSE;
+ break;
gst_pad_query_duration (peer, &my_format, &total_samples);
gst_object_unref (peer);
- speex_dec_convert (dec->srcpad, GST_FORMAT_DEFAULT, total_samples,
- &my_format, &total_samples);
-
- gst_query_set_duration (query, GST_FORMAT_TIME, total_samples);
+ if ((res = speex_dec_convert (dec->srcpad, GST_FORMAT_DEFAULT,
+ total_samples, &my_format, &total_samples))) {
+ gst_query_set_duration (query, GST_FORMAT_TIME, total_samples);
+ }
break;
}
default:
- return FALSE;
+ res = gst_pad_query_default (pad, query);
break;
}
diff --git a/ext/speex/gstspeexenc.c b/ext/speex/gstspeexenc.c
index 7d6f3695..f3f680db 100644
--- a/ext/speex/gstspeexenc.c
+++ b/ext/speex/gstspeexenc.c
@@ -440,7 +440,7 @@ gst_speexenc_src_query (GstPad * pad, GstQuery * query)
break;
}
default:
- res = FALSE;
+ res = gst_pad_query_default (pad, query);
break;
}
@@ -473,7 +473,7 @@ gst_speexenc_sink_query (GstPad * pad, GstQuery * query)
break;
}
default:
- res = FALSE;
+ res = gst_pad_query_default (pad, query);
break;
}
diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c
index a67ebc2d..d4e22a1d 100644
--- a/gst/avi/gstavidemux.c
+++ b/gst/avi/gstavidemux.c
@@ -416,7 +416,7 @@ gst_avi_demux_handle_src_query (GstPad * pad, GstQuery * query)
break;
}
default:
- res = FALSE;
+ res = gst_pad_query_default (pad, query);
break;
}
diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c
index 10c3c98c..cdbeb2e7 100644
--- a/gst/matroska/matroska-demux.c
+++ b/gst/matroska/matroska-demux.c
@@ -928,6 +928,7 @@ gst_matroska_demux_get_src_query_types (GstPad * pad)
{
static const GstQueryType query_types[] = {
GST_QUERY_POSITION,
+ GST_QUERY_DURATION,
0
};
@@ -981,6 +982,7 @@ gst_matroska_demux_handle_src_query (GstPad * pad, GstQuery * query)
}
default:
+ res = gst_pad_query_default (pad, query);
break;
}
diff --git a/gst/wavparse/gstwavparse.c b/gst/wavparse/gstwavparse.c
index 81324ae7..d3b1b7f8 100644
--- a/gst/wavparse/gstwavparse.c
+++ b/gst/wavparse/gstwavparse.c
@@ -1260,6 +1260,8 @@ gst_wavparse_get_query_types (GstPad * pad)
{
static const GstQueryType types[] = {
GST_QUERY_POSITION,
+ GST_QUERY_DURATION,
+ GST_QUERY_CONVERT,
0
};
@@ -1343,7 +1345,7 @@ gst_wavparse_pad_query (GstPad * pad, GstQuery * query)
break;
}
default:
- res = FALSE;
+ res = gst_pad_query_default (pad, query);
break;
}
return res;