Update to latest pybind11
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Fri, 24 Nov 2017 07:50:42 +0000 (09:50 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Fri, 24 Nov 2017 08:05:01 +0000 (10:05 +0200)
commit706a44abb3aa7b4535ded7d5c934147b7de06ed1
tree41e0b10413ab6d24fdfeeaa6a28c3f335c7198c3
parent75e85e48c35f9e18a974af1c1e973d9482ed1fc4
Update to latest pybind11

Update to latest pybind11 HEAD. We can't use the latest tag (v2.2.0) as
it has a regression.

There were two problems when updating:

1) Difficulty in managing DrmObject derived classes

Most of the DrmObjects are owned by Card, and can't be allocated or
freed, but a few of them are allocated and freed by the user. For the
former, we need to use unique_ptr with py::nodelete, but that prevents
the latter from working.

The solution was to not tell the python that the latter classes derive
from DrmObject.

This seems to be missing feature in pybind11, but I think we can live
with it.

2) DrmObjects in STL containers

vector<T> where T is a DrmObject derived class doesn't work. We need to
have a manual wrapper to return vector<unique_ptr<T, py::nodelete>>
instead.

This also seems to be a pybind11 missing feature.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
ext/pybind11
py/pykms/pykms.cpp
py/pykms/pykmsbase.cpp
py/pykms/pykmsomap.cpp
py/pykms/pyvid.cpp