int av_bsf_list_parse_str(const char *str, AVBSFContext **bsf_lst)

{

    AVBSFList *lst;

    char *bsf_str, *buf, *dup, *saveptr;

    int ret;



    if (!str)

        return av_bsf_get_null_filter(bsf_lst);



    lst = av_bsf_list_alloc();

    if (!lst)

        return AVERROR(ENOMEM);



    if (!(dup = buf = av_strdup(str)))

        return AVERROR(ENOMEM);



    while (1) {

        bsf_str = av_strtok(buf, ",", &saveptr);

        if (!bsf_str)

            break;



        ret = bsf_parse_single(bsf_str, lst);

        if (ret < 0)

            goto end;



        buf = NULL;

    }



    ret = av_bsf_list_finalize(&lst, bsf_lst);

end:

    if (ret < 0)

        av_bsf_list_free(&lst);

    av_free(dup);

    return ret;

}

int av_bsf_list_parse_str(const char *str, AVBSFContext **bsf_lst)

{

    AVBSFList *lst;

    char *bsf_str, *buf, *dup, *saveptr;

    int ret;



    if (!str)

        return av_bsf_get_null_filter(bsf_lst);



    lst = av_bsf_list_alloc();

    if (!lst)

        return AVERROR(ENOMEM);



    if (!(dup = buf = av_strdup(str)))

        return AVERROR(ENOMEM);



    while (1) {

        bsf_str = av_strtok(buf, ",", &saveptr);

        if (!bsf_str)

            break;



        ret = bsf_parse_single(bsf_str, lst);

        if (ret < 0)

            goto end;



        buf = NULL;

    }



    ret = av_bsf_list_finalize(&lst, bsf_lst);

end:

    if (ret < 0)

        av_bsf_list_free(&lst);

    av_free(dup);

    return ret;

}

    if (!(dup = buf = av_strdup(str)))         return AVERROR(ENOMEM);
int FUNC_0(const char *VAR_0, AVBSFContext **VAR_1)

{

    AVBSFList *lst;

    char *VAR_2, *VAR_3, *VAR_4, *VAR_5;

    int VAR_6;



    if (!VAR_0)

        return av_bsf_get_null_filter(VAR_1);



    lst = av_bsf_list_alloc();

    if (!lst)

        return AVERROR(ENOMEM);



    if (!(VAR_4 = VAR_3 = av_strdup(VAR_0)))

        return AVERROR(ENOMEM);



    while (1) {

        VAR_2 = av_strtok(VAR_3, ",", &VAR_5);

        if (!VAR_2)

            break;



        VAR_6 = bsf_parse_single(VAR_2, lst);

        if (VAR_6 < 0)

            goto end;



        VAR_3 = NULL;

    }



    VAR_6 = av_bsf_list_finalize(&lst, VAR_1);

end:

    if (VAR_6 < 0)

        av_bsf_list_free(&lst);

    av_free(VAR_4);

    return VAR_6;

}

int FUNC_0(const char *VAR_0, AVBSFContext **VAR_1)
{ AVBSFList *lst; char *VAR_2, *VAR_3, *VAR_4, *VAR_5; int VAR_6; if (!VAR_0)
return av_bsf_get_null_filter(VAR_1); lst = av_bsf_list_alloc(); if (!lst)
return AVERROR(ENOMEM); if (!(VAR_4 = VAR_3 = av_strdup(VAR_0)))
return AVERROR(ENOMEM); while (1) { VAR_2 = av_strtok(VAR_3, ",", &VAR_5); if (!VAR_2)
break; VAR_6 = bsf_parse_single(VAR_2, lst); if (VAR_6 < 0)
goto end; VAR_3 = NULL; } VAR_6 = av_bsf_list_finalize(&lst, VAR_1); end:
if (VAR_6 < 0)
av_bsf_list_free(&lst); av_free(VAR_4); return VAR_6; }