Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 672226 | Differences between
and this patch

Collapse All | Expand All

(-)a/chromium/media/ffmpeg/ffmpeg_common.cc (-6 / +6 lines)
Lines 30-39 Link Here
30
30
31
}  // namespace
31
}  // namespace
32
32
33
// Why FF_INPUT_BUFFER_PADDING_SIZE? FFmpeg assumes all input buffers are
33
// Why AV_INPUT_BUFFER_PADDING_SIZE? FFmpeg assumes all input buffers are
34
// padded. Check here to ensure FFmpeg only receives data padded to its
34
// padded. Check here to ensure FFmpeg only receives data padded to its
35
// specifications.
35
// specifications.
36
static_assert(DecoderBuffer::kPaddingSize >= FF_INPUT_BUFFER_PADDING_SIZE,
36
static_assert(DecoderBuffer::kPaddingSize >= AV_INPUT_BUFFER_PADDING_SIZE,
37
              "DecoderBuffer padding size does not fit ffmpeg requirement");
37
              "DecoderBuffer padding size does not fit ffmpeg requirement");
38
38
39
// Alignment requirement by FFmpeg for input and output buffers. This need to
39
// Alignment requirement by FFmpeg for input and output buffers. This need to
Lines 444-454 Link Here
444
  } else {
444
  } else {
445
    codec_context->extradata_size = config.extra_data().size();
445
    codec_context->extradata_size = config.extra_data().size();
446
    codec_context->extradata = reinterpret_cast<uint8_t*>(
446
    codec_context->extradata = reinterpret_cast<uint8_t*>(
447
        av_malloc(config.extra_data().size() + FF_INPUT_BUFFER_PADDING_SIZE));
447
        av_malloc(config.extra_data().size() + AV_INPUT_BUFFER_PADDING_SIZE));
448
    memcpy(codec_context->extradata, &config.extra_data()[0],
448
    memcpy(codec_context->extradata, &config.extra_data()[0],
449
           config.extra_data().size());
449
           config.extra_data().size());
450
    memset(codec_context->extradata + config.extra_data().size(), '\0',
450
    memset(codec_context->extradata + config.extra_data().size(), '\0',
451
           FF_INPUT_BUFFER_PADDING_SIZE);
451
           AV_INPUT_BUFFER_PADDING_SIZE);
452
  }
452
  }
453
}
453
}
454
454
Lines 585-595 Link Here
585
  } else {
585
  } else {
586
    codec_context->extradata_size = config.extra_data().size();
586
    codec_context->extradata_size = config.extra_data().size();
587
    codec_context->extradata = reinterpret_cast<uint8_t*>(
587
    codec_context->extradata = reinterpret_cast<uint8_t*>(
588
        av_malloc(config.extra_data().size() + FF_INPUT_BUFFER_PADDING_SIZE));
588
        av_malloc(config.extra_data().size() + AV_INPUT_BUFFER_PADDING_SIZE));
589
    memcpy(codec_context->extradata, &config.extra_data()[0],
589
    memcpy(codec_context->extradata, &config.extra_data()[0],
590
           config.extra_data().size());
590
           config.extra_data().size());
591
    memset(codec_context->extradata + config.extra_data().size(), '\0',
591
    memset(codec_context->extradata + config.extra_data().size(), '\0',
592
           FF_INPUT_BUFFER_PADDING_SIZE);
592
           AV_INPUT_BUFFER_PADDING_SIZE);
593
  }
593
  }
594
}
594
}
595
595

Return to bug 672226