Hi,
I'm using the Recording service API in my application with a custom QoS Profile.
rti::recording::ServiceProperty service_property;
service_property.application_role(rti::recording::ApplicationRoleKind::RECORD_APPLICATION);
service_property.cfg_file("recorder_config.xml");
<qos_library name="MyQoSLib">
<qos_profile name="CameraImage_Profile" base_name="BuiltinQosLibExp::Generic.StrictReliable.LargeData.FastFlow" is_default_qos="false">
...
</qos_profile>
</qos_library>
[/recording_services/DDSRecordService|CREATE] RTIXMLObject_initialize:Base object 'BuiltinQosLibExp::Generic.StrictReliable.LargeData.FastFlow' not found
[/recording_services/DDSRecordService|CREATE] DDS_XMLQosProfile_initialize:!init XML QosProfile object
[/recording_services/DDSRecordService|CREATE] DDS_XMLQosProfile_new:!init XML QosProfile object
[/recording_services/DDSRecordService|CREATE] RTIXMLParser_onStartTag:Parse error at line 4: Error processing tag 'qos_profile'
[/recording_services/DDSRecordService|CREATE] RTIXMLParser_parseFromString_ex:error parsing XML string
[/recording_services/DDSRecordService|CREATE] ROUTERCfgFileParser_generateNativeExtensionObject:!parse QoS configuration
[/recording_services/DDSRecordService|CREATE] ROUTERCfgFileParser_initializeExtensionsI:!generate QoS
[/recording_services/DDSRecordService|CREATE] ROUTERCfgFileParser_loadString:!init parser extensions
[/recording_services/DDSRecordService|CREATE] ROUTERService_load:!load string
[/recording_services/DDSRecordService|CREATE] ROUTERService_initialize:!load service
[/recording_services/DDSRecordService|CREATE] ROUTERService_newWithDescription:!init service
[/recording_services/DDSRecordService|CREATE] RTI_RoutingService_new_from_description:!init routing service
terminate called after throwing an instance of 'rti::service::ServiceException'
what(): Service:!create native router
Aborted (core dumped)
What version of RTI Connext DDS are you using?
I tried this on Windows using both RTI Recording Service directly (started from launcher) as well as an application that starts RTI Recording Service from a library.
<qos_library name="MyQoSLib">
<qos_profile name="CameraImage_Profile" base_name="BuiltinQosLibExp::Generic.StrictReliable.LargeData.FastFlow" is_default_qos="false">
</qos_profile>
</qos_library>
both worked. It only gave the error when I misspelled the profile::library name.
You probably should be working with RTI's support team with questions like this...they'll be more able to support you.
Hi Howard,
I found the cause of my failure. It's because this line of code:
service_property.ignore_default_files(true);
Just change it to false and it works.
Thanks for your quick reply.