| 524 | } |
| 525 | |
| 526 | int av_bsf_list_parse_str(const char *str, AVBSFContext **bsf_lst) |
| 527 | { |
| 528 | AVBSFList *lst; |
| 529 | int ret; |
| 530 | |
| 531 | if (!str) |
| 532 | return av_bsf_get_null_filter(bsf_lst); |
| 533 | |
| 534 | lst = av_bsf_list_alloc(); |
| 535 | if (!lst) |
| 536 | return AVERROR(ENOMEM); |
| 537 | |
| 538 | do { |
| 539 | char *bsf_str = av_get_token(&str, ","); |
| 540 | ret = bsf_parse_single(bsf_str, lst); |
| 541 | av_free(bsf_str); |
| 542 | if (ret < 0) |
| 543 | goto end; |
| 544 | } while (*str && *++str); |
| 545 | |
| 546 | ret = av_bsf_list_finalize(&lst, bsf_lst); |
| 547 | end: |
| 548 | if (ret < 0) |
| 549 | av_bsf_list_free(&lst); |
| 550 | return ret; |
| 551 | } |
| 552 | |
| 553 | int av_bsf_get_null_filter(AVBSFContext **bsf) |
| 554 | { |
no test coverage detected