Some frames may be buffered before a complex filtergraph can be configured. This change ensures the side data removal in the cases where autorotation is enabled also applies to them. Fixes ticket #11487
Unified · Split
| @@ -2041,6 +2041,10 @@ static int configure_filtergraph(FilterGraph *fg, FilterGraphThread *fgt) · 2040 unmodified lines | |||
| 2041 | if (ifp->type_src == AVMEDIA_TYPE_SUBTITLE) { | 2041 | if (ifp->type_src == AVMEDIA_TYPE_SUBTITLE) { |
| 2042 | sub2video_frame(&ifp->ifilter, tmp, !fgt->graph); | 2042 | sub2video_frame(&ifp->ifilter, tmp, !fgt->graph); |
| 2043 | } else { | 2043 | } else { |
| 2044 | if (ifp->type_src == AVMEDIA_TYPE_VIDEO) { | ||
| 2045 | if (ifp->displaymatrix_applied) | ||
| 2046 | av_frame_remove_side_data(tmp, AV_FRAME_DATA_DISPLAYMATRIX); | ||
| 2047 | } | ||
| 2044 | ret = av_buffersrc_add_frame(ifp->filter, tmp); | 2048 | ret = av_buffersrc_add_frame(ifp->filter, tmp); |
| 2045 | } | 2049 | } |
| 2046 | av_frame_free(&tmp); | 2050 | av_frame_free(&tmp); |