• Nicolas Dufresne's avatar
    overrides: Add more GstValue overrides · a4566ffb
    Nicolas Dufresne authored
    This patch adds overrides to support IntRange, Int64Range, DoubleRange,
    FractionRange, Array and List. For integer ranges, it maps this
    to python 'range'. Gst.IntRange() and Gst.Int64Range() are simple cast
    to let the underlying code know which GType to use. To set such range in
    python you will do:
    
      structure["range"] = Gst.IntRange(range(0,10,2)))
    
    Same for the 64 bit variant. And when you do:
    
      r = structure.get_value("range")
    
    A range will be returned directly, without the wrapper. For DoubleRange
    and FractionRange, there is no native support in python. So the usage
    will be:
    
      structure["range"] = Gst.DoubleRange(0,10.0)
      structure["range"] =
          Gst.FractionRange(Gst.Fraction(1/30), Gst.Fraction(1/5)
    
    When getting this value, Gst.DoubleRange and Gst.FractionRange class are
    returned. They both have start/stop members. The naming was taken from
    range type.
    
    For Array and List, both uses the native list type, though they can be
    constructed from any python sequence. So again, the class is just like
    a cast, to let it pick the right GType and python list are being
    returned.
    
      structure["list"] = Gst.ValueList([1,2,3,4])
      structure["array"] = Gst.ValueArray([1,2,3,4)
    
    Using string and tuple could also work. Since Gst.ValueList/Array are
    sequence, you can convert one to the other with:
    
      list = Gst.ValueList([1,2,3,4])
      array = Gst.ValueArray (list)
    
    https://bugzilla.gnome.org/show_bug.cgi?id=753754
    a4566ffb
Name
Last commit
Last update
common @ d7ecca16 Loading commit data...
examples Loading commit data...
gi Loading commit data...
hooks Loading commit data...
old_examples Loading commit data...
plugin Loading commit data...
scripts Loading commit data...
testsuite Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
AUTHORS Loading commit data...
COPYING Loading commit data...
ChangeLog Loading commit data...
Makefile.am Loading commit data...
NEWS Loading commit data...
README Loading commit data...
RELEASE Loading commit data...
TODO Loading commit data...
acinclude.m4 Loading commit data...
autogen.sh Loading commit data...
config.h.meson Loading commit data...
configure.ac Loading commit data...
env Loading commit data...
gst-python.doap Loading commit data...
meson.build Loading commit data...
meson_options.txt Loading commit data...
pygst.py.in Loading commit data...