calejost / unimrcp

Automatically exported from code.google.com/p/unimrcp
Apache License 2.0
0 stars 0 forks source link

change of behaviour of mrcp_engine_virtual_open #91

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
 1. Load an external plugin, by adding a line such as: "<engine
id="Plugin-Synth-1" name="testsynth" enable="true"/>" in the default
configuration file. The engine will initialise properly, but the
engine->is_open flag will not be set, and any further use of the plugin
will thus fail.

What version of the product are you using? On what operating system?
 - We were using 0.10.0, and want to switch to 1.0.0

Please provide any additional information below.
 - The mrcp_engine_virtual_open function used to set the engine->is_open
flag in version 0.1.0, with the result of the call to
engine->method_vtable->open(engine). This has been changed, now the is_open
flag is not set by the virtual_open function. Why? Is the engine supposed
to set the flag by itself now? Is this flag set somewhere else? In our
case, with our own plugin that was working with version 0.10.0, using a
minimally modified default configuration file, the is_open flag was never
set. Subsequent channel openings were failing. At the moment, we are thus
setting the flag in the plugin itself, but we are not sure this is the
right approach.

Best regards,
Blaise

Original issue reported on code.google.com by bpot...@gmail.com on 7 Jun 2010 at 3:02

GoogleCodeExporter commented 8 years ago
Hi Blaise,

I think you may have missed the post below
http://groups.google.com/group/unimrcp/browse_frm/thread/206f4d3b31771d03#

The methods to open and close engines are asynchronous now. This means you 
should acknowledge with mrcp_engine_open_respond(engine,TRUE) and 
mrcp_engine_close_respond(engine) within your plugins.

Consider joining the discussion group if you haven't already done it.

Best regards,
Arsen

Original comment by achalo...@gmail.com on 8 Jun 2010 at 7:03

GoogleCodeExporter commented 8 years ago
Hi achaloyan,

Thank you very much for your answer. You are right, of course. I had not joined 
the discussion group since I started working (a few days ago) on this MRCP 
plugin, that got developed quite some time ago by someone else. This fixes it. 
Thanks for your time and patience and for this great work!

Original comment by bpot...@gmail.com on 8 Jun 2010 at 9:47

GoogleCodeExporter commented 8 years ago
Hi again Achaloyan,

I still have a small question: is there a way to make the plugin compatible 
with older versions of UniMRCP? I assume with theses changes it will not work 
with 0.10.0 anymore...

Original comment by bpot...@gmail.com on 8 Jun 2010 at 10:03

GoogleCodeExporter commented 8 years ago
Hi Blaise,

You can easily make your plugin compilable with the previous versions as well 
using the pseudo code below

#include "uni_version.h"

#if UNI_VERSION_AT_LEAST(1,0,0)
mrcp_engine_open_respond(engine,TRUE);
#endif

Please note that the plugin built with 0.10.0 source will not work with 1.0.0 
binaries and vice-versa 

Original comment by achalo...@gmail.com on 8 Jun 2010 at 2:52

GoogleCodeExporter commented 8 years ago
I think everything is clear here and the issue can be considered as verified.

Original comment by achalo...@gmail.com on 10 Jun 2010 at 4:47

GoogleCodeExporter commented 8 years ago
Yes, everything is clear. Thank you again for your time.

Original comment by bpot...@gmail.com on 10 Jun 2010 at 5:06