[FFmpeg-devel] [PATCH 07/11] lavu/dict: add av_dict_serialize

Michael Niedermayer michaelni at gmx.at
Wed Nov 19 01:13:10 CET 2014


On Wed, Nov 19, 2014 at 12:30:53AM +0100, Lukasz Marek wrote:
> On 18.11.2014 20:47, Michael Niedermayer wrote:
> >>>how will that work without any way to identify the version or format?
> >>>
> >>>also a serialization stream thats self containd seems much nicer to
> >>>handle as theres no need to keep track of the exact version (if we
> >>>end up having more than 1) the used seperators, ...
> >>>
> >>>also consider 2 libs or apps to interface with each other using this
> >>>serialization format, if one requires a change to the format how can
> >>>the other know without a version in it, it would need to know it by
> >>>external means. it can surely be done but it doesnt feel like
> >>>something desirable
> >>>
> >>
> >>I can do one of followings:
> >>- I can move this function to ffserver_config.c, where it is needed as
> >>presented here (to create simple pairs separated with comas)
> >>- Rename function to av_dict_get_string or something so it wont get
> >>confused with your idea of serialize function. I still think both version
> >>has own usecases
> >
> >iam fine with either of these
> 
> OK, renamed. I swapped separators order to be the same as
> parse_string's ones. added tests for corner cases where potential
> escape chars are separators.

[...]

> +{
> +    AVDictionary *dict = NULL;
> +    char *buffer = NULL;
> +
> +    printf("Testing av_dict_get_string() and av_dict_parse_string()");
> +    av_dict_get_string(dict, &buffer, '=', ',');
> +    printf("%s\n", buffer);
> +    av_freep(&buffer);
> +    av_dict_set(&dict, "aaa", "aaa", 0);
> +    av_dict_set(&dict, "b,b", "bbb", 0);
> +    av_dict_set(&dict, "c=c", "ccc", 0);
> +    av_dict_set(&dict, "ddd", "d,d", 0);
> +    av_dict_set(&dict, "eee", "e=e", 0);
> +    av_dict_set(&dict, "f,f", "f=f", 0);
> +    av_dict_set(&dict, "g=g", "g,g", 0);
> +    test_separators(dict, ',', '=');
> +    av_dict_free(&dict);
> +    av_dict_set(&dict, "aaa", "aaa", 0);

i tried this instead
av_dict_set(&dict, "a\\,=\'\"aa", "a\\,=\'\"aa", 0);

and it doesnt seem to work

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

In fact, the RIAA has been known to suggest that students drop out
of college or go to community college in order to be able to afford
settlements. -- The RIAA
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20141119/38009660/attachment.asc>


More information about the ffmpeg-devel mailing list