| 725 | } |
| 726 | |
| 727 | void uninit_parse_context(OptionParseContext *octx) |
| 728 | { |
| 729 | int i, j; |
| 730 | |
| 731 | for (i = 0; i < octx->nb_groups; i++) { |
| 732 | OptionGroupList *l = &octx->groups[i]; |
| 733 | |
| 734 | for (j = 0; j < l->nb_groups; j++) { |
| 735 | av_freep(&l->groups[j].opts); |
| 736 | av_dict_free(&l->groups[j].codec_opts); |
| 737 | av_dict_free(&l->groups[j].format_opts); |
| 738 | av_dict_free(&l->groups[j].resample_opts); |
| 739 | |
| 740 | av_dict_free(&l->groups[j].sws_dict); |
| 741 | av_dict_free(&l->groups[j].swr_opts); |
| 742 | } |
| 743 | av_freep(&l->groups); |
| 744 | } |
| 745 | av_freep(&octx->groups); |
| 746 | |
| 747 | av_freep(&octx->cur_group.opts); |
| 748 | av_freep(&octx->global_opts.opts); |
| 749 | |
| 750 | uninit_opts(); |
| 751 | } |
| 752 | |
| 753 | int split_commandline(OptionParseContext *octx, int argc, char *argv[], |
| 754 | const OptionDef *options, |
no test coverage detected