History

avformat/flvdec: Fix use sizeof(AVMasteringDisplayMetadata)

sizeof AVMasteringDisplayMetadata isn't part of ABI.

Zhao Zhili committed 1 year ago

Commit f3429481 parent 7b816761 file · +13 −6Browse files

Showing the changes to libavformat (1 of 1 file). Show all

Unified · Split

libavformat/flvdec.c+13−6
@@ -1248,15 +1248,22 @@ static int flv_update_video_color_info(AVFormatContext *s, AVStream *st) · 1247 unmodified lines
12481248 }
12491249
12501250 if (has_mastering_primaries || has_mastering_luminance) {
1251− AVMasteringDisplayMetadata *metadata;
1252− AVPacketSideData *sd = av_packet_side_data_new(&st->codecpar->coded_side_data,
1251+ size_t size = 0;
1252+ AVMasteringDisplayMetadata *metadata = av_mastering_display_metadata_alloc_size(&size);
1253+ AVPacketSideData *sd;
1254+
1255+ if (!metadata)
1256+ return AVERROR(ENOMEM);
1257+
1258+ sd = av_packet_side_data_add(&st->codecpar->coded_side_data,
12531259 &st->codecpar->nb_coded_side_data,
12541260 AV_PKT_DATA_MASTERING_DISPLAY_METADATA,
1255− sizeof(AVMasteringDisplayMetadata), 0);
1256− if (!sd)
1261+ metadata, size, 0);
1262+ if (!sd) {
1263+ av_freep(&metadata);
12571264 return AVERROR(ENOMEM);
1258− metadata = (AVMasteringDisplayMetadata*)sd->data;
1259− memset(metadata, 0, sizeof(AVMasteringDisplayMetadata));
1265+ }
1266+
12601267 // hdrCll
12611268 if (has_mastering_luminance) {
12621269 metadata->max_luminance = av_d2q(mastering_meta->max_luminance, INT_MAX);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t