diff --git a/tools/python/apixml2python/handwritten_definitions.mustache b/tools/python/apixml2python/handwritten_definitions.mustache index 98bdb1d44..1ecc8fb17 100644 --- a/tools/python/apixml2python/handwritten_definitions.mustache +++ b/tools/python/apixml2python/handwritten_definitions.mustache @@ -393,13 +393,13 @@ static PyObject * pylinphone_Core_get_video_devices(PyObject *self, void *closur return _list; } -static void pylinphone_init_ms2_plugins(void) { - ms_init(); // Initialize mediastreamer2 before loading the plugins +static void pylinphone_init_ms2_plugins(LinphoneCore *lc) { + MSFactory *factory = linphone_core_get_ms_factory(lc); #ifdef ENABLE_OPENH264 - libmsopenh264_init(); + libmsopenh264_init(factory); #endif #ifdef ENABLE_WASAPI - libmswasapi_init(); + libmswasapi_init(factory); #endif } @@ -431,9 +431,9 @@ static PyObject * pylinphone_Core_class_method_new(PyObject *cls, PyObject *args {{/core_events}} pylinphone_trace(1, "[PYLINPHONE] >>> %s(%p, \"%s\", \"%s\")", __FUNCTION__, _vtable_dict, _config_path, _factory_config_path); - pylinphone_init_ms2_plugins(); cresult = linphone_core_new(&_vtable, _config_path, _factory_config_path, self); self->native_ptr = cresult; + pylinphone_init_ms2_plugins(cresult); pyret = Py_BuildValue("O", self); @@ -474,9 +474,9 @@ static PyObject * pylinphone_Core_class_method_new_with_config(PyObject *cls, Py {{/core_events}} pylinphone_trace(1, "[PYLINPHONE] >>> %s(%p [%p])", __FUNCTION__, _config, _config_native_ptr); - pylinphone_init_ms2_plugins(); cresult = linphone_core_new_with_config(&_vtable, _config_native_ptr, self); self->native_ptr = cresult; + pylinphone_init_ms2_plugins(cresult); pyret = Py_BuildValue("O", self); @@ -492,7 +492,6 @@ static void pylinphone_Core_dealloc(PyObject *self) { if (native_ptr != NULL) { linphone_core_destroy(native_ptr); - ms_exit(); // De-initialize mediastreamer } pylinphone_dispatch_messages();