{
url[0] = 0;
char *name = strdup( ++url );
- char *value = strchr( name, ':' );
+ char *value = strchr( name, '=' );
+ if ( !value )
+ // Also accept : as delimiter for backwards compatibility.
+ value = strchr( name, ':' );
if ( value )
{
value[0] = 0;
description: |
A file name specification or URL in the form:
[{protocol}|{format}]:{resource}[?{format-parameter}[&{format-parameter}...]]
- For example, video4linux:/dev/video1?width:320&height:240
+ For example, video4linux2:/dev/video1?width=320&height=240
Note: on the bash command line, & must be escaped as '\&'.
- Also, note the use of ':' instead of '=' for parameters.
Use 'f-list' to see a list of supported file formats.
Use 'vcodec-list' to see a list of supported video decoders.
Use 'acodec-list' to see a list of supported audio decoders.
mlt_properties_set_int( properties, "hide", 2 );
}
}
- else if ( strchr( argv[ i ], '=' ) && strstr( argv[ i ], "<?xml" ) != argv[ i ] )
+ else if ( strchr( argv[ i ], '=' ) && strstr( argv[ i ], "<?xml" ) != argv[ i ] &&
+ // Prevent interpreting URL with parameters as a property.
+ // This does not support property names containing a colon.
+ ( !strchr( argv[ i ], ':' ) || strchr( argv[ i ], ':' ) > strchr( argv[ i ], '=' ) ) )
{
mlt_properties_parse( properties, argv[ i ] );
}