This is needed to ensure consistency. The metadata is read as string
data and converted to numbers on demand. This is why loading defaults to
C locale - since they were authored with that in mind. However, some
plugins dynamically generate metadata and may set values with int or
double. Therefore, we need to make it all output consistently, and for
now that means C.
char *mlt_properties_serialise_yaml( mlt_properties self )
{
+ const char *lc_numeric = mlt_properties_get_lcnumeric( self );
strbuf b = strbuf_new();
strbuf_printf( b, "---\n" );
+ mlt_properties_set_lcnumeric( self, "C" );
serialise_yaml( self, b, 0, 0 );
+ mlt_properties_set_lcnumeric( self, lc_numeric );
strbuf_printf( b, "...\n" );
char *ret = b->string;
strbuf_close( b );