Le quintidi 5 pluviôse, an CCXXIV, Michael Niedermayer a écrit :
> --- a/libavformat/avio.h
> +++ b/libavformat/avio.h
> @@ -595,6 +595,10 @@ int avio_open(AVIOContext **s, const char *url, int 
> flags);
>  int avio_open2(AVIOContext **s, const char *url, int flags,
>                 const AVIOInterruptCB *int_cb, AVDictionary **options);
>  
> +int avio_open_whitelist(AVIOContext **s, const char *url, int flags,
> +                         const AVIOInterruptCB *int_cb, AVDictionary 
> **options,
> +                         const char *whitelist);
> +

Please no! Adding new arguments to a function that already has too many and
using a string as a structured data structure: two things that are already
present way too much in the code base and should be avoided for future
design.

I suggest to put it in a structure, maybe AVIOSettings (or directly
AVGlobalSettings), as an array of protocols, and with int_cb while we are at
it:

typedef struct AVIOSettings {
    AVIOInterruptCB *int_cb;
    struct URLProtocol **protocols;
    unsigned nb_protocols;
}

Then, if someone really like strings for user interface, they can do:

int avio_settings_set_protocols_whitelist_string(AVIOSettings *settings,
                                                 const char *whitelist);

Regards,

-- 
  Nicolas George

Attachment: signature.asc
Description: Digital signature

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to