diff options
author | Wim Taymans <wim.taymans@gmail.com> | 2002-06-15 22:30:58 +0000 |
---|---|---|
committer | Wim Taymans <wim.taymans@gmail.com> | 2002-06-15 22:30:58 +0000 |
commit | 9101d97ff2f25129ec1deb63a7f1df58e3584c57 (patch) | |
tree | fffc0c7b47f203315d351c2e62877d13f809974c /ext | |
parent | 8c1c5f2fc59b8e8bc8eba8a3f5f2a77d00a34a5a (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.c | 16 |
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; |