History

avformat/matroskadec: don't use sizeof(AVMasteringDisplayMetadata)

It's not part of the libavutil ABI.

James Almer committed 2 years ago

Commit 8a85d3f1 parent c3606ca1 file · +8 −8Browse files

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

Unified · Split

libavformat/matroskadec.c+8−8
@@ -2324,15 +2324,15 @@ static int mkv_parse_video_color(AVStream *st, const MatroskaTrack *track) { · 2323 unmodified lines
23242324 }
23252325
23262326 if (has_mastering_primaries || has_mastering_luminance) {
2327− AVMasteringDisplayMetadata *metadata;
2328− AVPacketSideData *sd = av_packet_side_data_new(&st->codecpar->coded_side_data,
2329− &st->codecpar->nb_coded_side_data,
2330− AV_PKT_DATA_MASTERING_DISPLAY_METADATA,
2331− sizeof(AVMasteringDisplayMetadata), 0);
2332− if (!sd)
2327+ size_t size = 0;
2328+ AVMasteringDisplayMetadata *metadata = av_mastering_display_metadata_alloc_size(&size);
2329+ if (!metadata)
2330+ return AVERROR(ENOMEM);
2331+ if (!av_packet_side_data_add(&st->codecpar->coded_side_data, &st->codecpar->nb_coded_side_data,
2332+ AV_PKT_DATA_MASTERING_DISPLAY_METADATA, metadata, size, 0)) {
2333+ av_freep(&metadata);
23332334 return AVERROR(ENOMEM);
2334− metadata = (AVMasteringDisplayMetadata*)sd->data;
2335− memset(metadata, 0, sizeof(AVMasteringDisplayMetadata));
2335+ }
23362336 if (has_mastering_primaries) {
23372337 metadata->display_primaries[0][0] = av_d2q(mastering_meta->r_x, INT_MAX);
23382338 metadata->display_primaries[0][1] = av_d2q(mastering_meta->r_y, 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