X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmelted%2Fmelted_unit_commands.c;h=b6d8f340426a5c39ff59de826751dfe800d4aee0;hb=91af795798049db85f9ad3814edc85fd474a5866;hp=ca94e785889f1aef9b3c4ce109b10085542bfc59;hpb=da3b0d0be0203fcd0000ab4726373c7b720e170d;p=melted diff --git a/src/melted/melted_unit_commands.c b/src/melted/melted_unit_commands.c index ca94e78..b6d8f34 100644 --- a/src/melted/melted_unit_commands.c +++ b/src/melted/melted_unit_commands.c @@ -285,7 +285,7 @@ int melted_receive( command_argument cmd_arg, char *doc ) // Get the consumer's profile mlt_consumer consumer = mlt_properties_get_data( unit->properties, "consumer", NULL ); mlt_profile profile = mlt_service_profile( MLT_CONSUMER_SERVICE( consumer ) ); - mlt_producer producer = mlt_factory_producer( profile, "westley-xml", doc ); + mlt_producer producer = mlt_factory_producer( profile, "xml-string", doc ); if ( producer != NULL ) { if ( melted_unit_append_service( unit, MLT_PRODUCER_SERVICE( producer ) ) == mvcp_ok ) @@ -343,7 +343,9 @@ int melted_rewind( command_argument cmd_arg ) melted_unit unit = melted_get_unit(cmd_arg->unit); if ( unit == NULL ) return RESPONSE_INVALID_UNIT; - else + else if ( melted_unit_has_terminated( unit ) ) + melted_unit_change_position( unit, 0, 0 ); + else melted_unit_play( unit, -2000 ); return RESPONSE_SUCCESS; } @@ -379,7 +381,9 @@ int melted_ff( command_argument cmd_arg ) melted_unit unit = melted_get_unit(cmd_arg->unit); if ( unit == NULL ) return RESPONSE_INVALID_UNIT; - else + else if ( melted_unit_has_terminated( unit ) ) + melted_unit_change_position( unit, 0, 0 ); + else melted_unit_play( unit, 2000 ); return RESPONSE_SUCCESS; }