The warning is: libavfilter/avfiltergraph.c: In function ‘avfilter_graph_config’: libavfilter/avfiltergraph.c:528:9: warning: ‘best_idx’ may be used uninitialized in this function [-Wuninitialized] libavfilter/avfiltergraph.c:479:13: note: ‘best_idx’ was declared here Initialize it to an invalid value and add an assert that it's properly set later.
Unified · Split
| @@ -476,7 +476,7 @@ static void swap_channel_layouts_on_filter(AVFilterContext *filter) · 475 unmodified lines | ||
| 476 | 476 | |
| 477 | 477 | for (i = 0; i < filter->nb_outputs; i++) { |
| 478 | 478 | AVFilterLink *outlink = filter->outputs[i]; |
| 479 | − int best_idx, best_score = INT_MIN, best_count_diff = INT_MAX; | |
| 479 | + int best_idx = -1, best_score = INT_MIN, best_count_diff = INT_MAX; | |
| 480 | 480 | |
| 481 | 481 | if (outlink->type != AVMEDIA_TYPE_AUDIO || |
| 482 | 482 | outlink->in_channel_layouts->nb_channel_layouts < 2) |
| @@ -525,6 +525,7 @@ static void swap_channel_layouts_on_filter(AVFilterContext *filter) · 42 unmodified lines | ||
| 525 | 525 | best_count_diff = count_diff; |
| 526 | 526 | } |
| 527 | 527 | } |
| 528 | + av_assert0(best_idx >= 0); | |
| 528 | 529 | FFSWAP(uint64_t, outlink->in_channel_layouts->channel_layouts[0], |
| 529 | 530 | outlink->in_channel_layouts->channel_layouts[best_idx]); |
| 530 | 531 | } |