Opened 7 years ago
Closed 7 years ago
#6439 closed defect (invalid)
decode_simple_internal() checks the wrong AVPacket for side data
Reported by: | jrummell | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | unspecified | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
In tracking down a failing test case in Chromium, I've discovered an inconsistency in decode_simple_internal() in libavcodec/decode.c. If FF_API_MERGE_SD is defined, then av_packet_split_side_data() is called on |tmp|, which is a copy of |pkt|. However, later it calls:
side= av_packet_get_side_data(pkt, AV_PKT_DATA_SKIP_SAMPLES, &side_size);
If the side data was split, then |pkt| won't have the updated side data, and no record is found.
Changing "pkt" to "&tmp" fixes the issue for me, but I'm not sure it's the proper fix.
Note:
See TracTickets
for help on using tickets.
Please send your patch - made with
git format-patch
to the FFmpeg development mailing list, changes should not be discussed here.