summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2003-12-02 04:01:24 +0000
committerDavid Schleef <ds@schleef.org>2003-12-02 04:01:24 +0000
commit473fd2f5e26271d2b13ae5ff1215bc2d5af5a4a9 (patch)
tree44b913d745d422f255de9435d657ea6508b1b2a0
parentbbeb3eeca25d2862b580b439730fe1ecf787318c (diff)
downloadgstreamer-plugins-base-473fd2f5e26271d2b13ae5ff1215bc2d5af5a4a9.tar.gz
Add GST_FORMAT_PERCENT. From galt@gothpoodle.com, #125414.
Original commit message from CVS: Add GST_FORMAT_PERCENT. From galt@gothpoodle.com, #125414.
-rw-r--r--ext/gnomevfs/gstgnomevfssrc.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/ext/gnomevfs/gstgnomevfssrc.c b/ext/gnomevfs/gstgnomevfssrc.c
index a18f030c6..9cfc65019 100644
--- a/ext/gnomevfs/gstgnomevfssrc.c
+++ b/ext/gnomevfs/gstgnomevfssrc.c
@@ -1169,10 +1169,18 @@ gst_gnomevfssrc_srcpad_query (GstPad *pad, GstQueryType type,
*value = src->size;
break;
case GST_QUERY_POSITION:
- if (*format != GST_FORMAT_BYTES) {
- return FALSE;
+ switch (*format) {
+ case GST_FORMAT_BYTES:
+ *value = src->curoffset;
+ break;
+ case GST_FORMAT_PERCENT:
+ if (src->size == 0)
+ return FALSE;
+ *value = src->curoffset * GST_FORMAT_PERCENT_MAX / src->size;
+ break;
+ default:
+ return FALSE;
}
- *value = src->curoffset;
break;
default:
return FALSE;