Skip to content

Commit fdc7108

Browse files
committed
Attributes: replace custom void* union with C union
The current implementation uses a void* to store different types of attribute value integers and attempts to figure out proper offsets for storing smaller integers in that pointer. The required pointer aliasing is UB and causes issues with GCC 11. The new implementation replaces the self-built pointer-based union with a C union and selects the (pointer to the) right field based on the av_set_from value. This patch also fixes a bug where copied attributes always had the set_from field set to C pointer, which worked but is technically not correct. Signed-off-by: Joseph Schuchart <[email protected]>
1 parent 02d91b5 commit fdc7108

File tree

1 file changed

+74
-89
lines changed

1 file changed

+74
-89
lines changed

0 commit comments

Comments
 (0)