av_frame_side_data_get() has a const AVFrameSideData * const *sd parameter; so calling it with an AVFramesSideData **sd like AVCodecContext.decoded_side_data (or with a AVFramesSideData * const *sd) is safe, but the conversion is not performed automatically in C. All users of this function therefore resort to a cast. This commit changes this: av_frame_side_data_get() is renamed to av_frame_side_data_get_c(); furthermore, a static inline wrapper for it name av_frame_side_data_get() is added that accepts an AVFramesSideData * const * and converts this to const AVFramesSideData * const * in a Wcast-qual safe way. This also allows to remove the casts from the current users.
Showing the changes to doc/APIchanges (1 of 6 files). Show all
Unified · Split
| @@ -3,7 +3,10 @@ The last version increases of all libraries were on 2024-03-07 · 2 unmodified lines | |||
| 3 | API changes, most recent first: | 3 | API changes, most recent first: |
| 4 | 4 | ||
| 5 | 2024-03-22 - xxxxxxxxxx - lavu 59.4.100 - frame.h | 5 | 2024-03-22 - xxxxxxxxxx - lavu 59.4.100 - frame.h |
| 6 | Constified the first-level pointee of av_frame_side_data_get(). | 6 | Constified the first-level pointee of av_frame_side_data_get() |
| 7 | and renamed it to av_frame_side_data_get_c(). From now on, | ||
| 8 | av_frame_side_data_get() is a wrapper around av_frame_side_data_get_c() | ||
| 9 | that accepts AVFrameSideData * const *sd. | ||
| 7 | 10 | ||
| 8 | 2024-03-xx - xxxxxxxxxx - lavc 61.2.100 - avcodec.h | 11 | 2024-03-xx - xxxxxxxxxx - lavc 61.2.100 - avcodec.h |
| 9 | Add AVCodecContext.[nb_]decoded_side_data. | 12 | Add AVCodecContext.[nb_]decoded_side_data. |