1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-21 10:55:51 +02:00

h264_metadata: Fix AUD writing

The aud structure exists on the stack, so the variable was previously
out-of-scope when the unit is written.
This commit is contained in:
Mark Thompson 2018-05-07 23:12:28 +01:00
parent 2b41213500
commit 9d375e114a

View File

@ -220,6 +220,7 @@ static int h264_metadata_filter(AVBSFContext *bsf, AVPacket *out)
AVPacket *in = NULL;
CodedBitstreamFragment *au = &ctx->access_unit;
int err, i, j, has_sps;
H264RawAUD aud;
uint8_t *displaymatrix_side_data = NULL;
size_t displaymatrix_side_data_size = 0;
@ -256,9 +257,6 @@ static int h264_metadata_filter(AVBSFContext *bsf, AVPacket *out)
0x3ff, // 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
};
int primary_pic_type_mask = 0xff;
H264RawAUD aud = {
.nal_unit_header.nal_unit_type = H264_NAL_AUD,
};
for (i = 0; i < au->nb_units; i++) {
if (au->units[i].type == H264_NAL_SLICE ||
@ -281,7 +279,10 @@ static int h264_metadata_filter(AVBSFContext *bsf, AVPacket *out)
goto fail;
}
aud.primary_pic_type = j;
aud = (H264RawAUD) {
.nal_unit_header.nal_unit_type = H264_NAL_AUD,
.primary_pic_type = j,
};
err = ff_cbs_insert_unit_content(ctx->cbc, au,
0, H264_NAL_AUD, &aud, NULL);