summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2002-06-15 22:30:58 +0000
committerWim Taymans <wim.taymans@gmail.com>2002-06-15 22:30:58 +0000
commit9101d97ff2f25129ec1deb63a7f1df58e3584c57 (patch)
treefffc0c7b47f203315d351c2e62877d13f809974c /ext
parent8c1c5f2fc59b8e8bc8eba8a3f5f2a77d00a34a5a (diff)
Also allow PAL dv implement total time
Original commit message from CVS: Also allow PAL dv implement total time
Diffstat (limited to 'ext')
-rw-r--r--ext/dv/gstdvdec.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/ext/dv/gstdvdec.c b/ext/dv/gstdvdec.c
index 5ab247fe1..396473b39 100644
--- a/ext/dv/gstdvdec.c
+++ b/ext/dv/gstdvdec.c
@@ -72,7 +72,10 @@ GST_PAD_TEMPLATE_FACTORY (sink_temp,
GST_CAPS_NEW (
"dv_dec_sink",
"video/dv",
- "format", GST_PROPS_STRING ("NTSC")
+ "format", GST_PROPS_LIST (
+ GST_PROPS_STRING ("PAL"),
+ GST_PROPS_STRING ("NTSC")
+ )
)
)
@@ -280,8 +283,17 @@ gst_dvdec_src_query (GstPad *pad, GstPadQueryType type,
case GST_FORMAT_DEFAULT:
*format = GST_FORMAT_TIME;
case GST_FORMAT_TIME:
- *value = 0;
+ {
+ guint64 len;
+
+ len = gst_bytestream_length (dvdec->bs);
+ if (len != -1 && dvdec->length) {
+ *value = (len * GST_SECOND) / (dvdec->length * 25);
+ }
+ else
+ return FALSE;
break;
+ }
default:
res = FALSE;
break;