X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmiracle%2Fmiracle_connection.c;fp=src%2Fmiracle%2Fmiracle_connection.c;h=30eef7a756ea4a6aeb86a8aa3e41108bc7978dfd;hb=4580365ba2f57f530aa4bdeb57788822fab09e2f;hp=51b1a0bb16af27c45893d6b491ab26f1b4b5025b;hpb=de477d594bdd9c5d9ee2d3441cd0ccf49ab52feb;p=melted diff --git a/src/miracle/miracle_connection.c b/src/miracle/miracle_connection.c index 51b1a0b..30eef7a 100644 --- a/src/miracle/miracle_connection.c +++ b/src/miracle/miracle_connection.c @@ -247,10 +247,19 @@ void *parser_thread( void *arg ) } buffer[ bytes ] = '\0'; if ( bytes > 0 && total == bytes ) - service = ( mlt_service )mlt_factory_producer( "westley-xml", buffer ); - mlt_events_fire( owner, "push-received", &response, command, service, NULL ); - if ( response == NULL ) - response = valerie_parser_push( parser, command, service ); + { + if ( mlt_properties_get( owner, "push-parser-off" ) == 0 ) + { + service = ( mlt_service )mlt_factory_producer( "westley-xml", buffer ); + mlt_events_fire( owner, "push-received", &response, command, service, NULL ); + if ( response == NULL ) + response = valerie_parser_push( parser, command, service ); + } + else + { + response = valerie_parser_received( parser, command, buffer ); + } + } error = connection_send( fd, response ); valerie_response_close( response ); mlt_service_close( service );