status->tail_length = mlt_producer_get_length( clip );
status->clip_index = mlt_playlist_current_clip( playlist );
status->seek_flag = 1;
+ status->dur = mlt_producer_get_length( producer );
+ status->start = info.start;
}
status->generation = mlt_properties_get_int( properties, "generation" );
void mvcp_status_parse( mvcp_status status, char *text )
{
mvcp_tokeniser tokeniser = mvcp_tokeniser_init( );
- if ( mvcp_tokeniser_parse_new( tokeniser, text, " " ) == 17 )
+ int r = mvcp_tokeniser_parse_new( tokeniser, text, " " );
+ if ( 19 == r || 17 == r )
{
status->unit = atoi( mvcp_tokeniser_get_string( tokeniser, 0 ) );
strncpy( status->clip, mvcp_util_strip( mvcp_tokeniser_get_string( tokeniser, 2 ), '\"' ), sizeof( status->clip ) );
status->seek_flag = atoi( mvcp_tokeniser_get_string( tokeniser, 14 ) );
status->generation = atoi( mvcp_tokeniser_get_string( tokeniser, 15 ) );
status->clip_index = atoi( mvcp_tokeniser_get_string( tokeniser, 16 ) );
+ if ( 19 == r )
+ {
+ status->start = atoi( mvcp_tokeniser_get_string( tokeniser, 17 ) );
+ status->dur = atoi( mvcp_tokeniser_get_string( tokeniser, 18 ) );
+ };
if ( !strcmp( mvcp_tokeniser_get_string( tokeniser, 1 ), "unknown" ) )
status->status = unit_unknown;
break;
}
- snprintf( text, length, "%d %s \"%s\" %d %d %.2f %d %d %d \"%s\" %d %d %d %d %d %d %d\r\n",
+ snprintf( text, length, "%d %s \"%s\" %d %d %.2f %d %d %d \"%s\" %d %d %d %d %d %d %d %d %d\r\n",
status->unit,
status_string,
status->clip,
status->tail_length,
status->seek_flag,
status->generation,
- status->clip_index );
+ status->clip_index,
+ status->start,
+ status->dur );
return text;
}