summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2022-02-25 14:08:52 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2022-03-08 13:08:52 +0000
commita2566096b98ebc28a335cf8911310c4a68b0a685 (patch)
treeae6413f4179694930cd04c240374cb754deca342
parente5c7cc61d3696830e380a457f5bebe38757b5e54 (diff)
downloadqtwebengine-chromium-a2566096b98ebc28a335cf8911310c4a68b0a685.tar.gz
Fix building with system ffmpeg
Work around av_stream_get_first_dts, and size_t* arguments, that appear to be specific to Chromium. Pick-to: 94-based Change-Id: I0acba00304552ef568e4d9c48b8dd2d8a128c963 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
-rw-r--r--chromium/media/filters/ffmpeg_demuxer.cc18
1 files changed, 14 insertions, 4 deletions
diff --git a/chromium/media/filters/ffmpeg_demuxer.cc b/chromium/media/filters/ffmpeg_demuxer.cc
index 8b96a7307bc..5939803c0ee 100644
--- a/chromium/media/filters/ffmpeg_demuxer.cc
+++ b/chromium/media/filters/ffmpeg_demuxer.cc
@@ -66,6 +66,11 @@ void SetAVStreamDiscard(AVStream* stream, AVDiscard discard) {
stream->discard = discard;
}
+#if BUILDFLAG(USE_SYSTEM_FFMPEG)
+auto av_stream_get_first_dts(AVStream* stream) {
+ return stream->first_dts;
+}
+#endif
} // namespace
ScopedAVPacket MakeScopedAVPacket() {
@@ -403,12 +408,17 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
scoped_refptr<DecoderBuffer> buffer;
+#if BUILDFLAG(USE_SYSTEM_FFMPEG)
+ typedef int side_data_arg;
+#else
+ typedef size_t side_data_arg;
+#endif
if (type() == DemuxerStream::TEXT) {
- size_t id_size = 0;
+ side_data_arg id_size = 0;
uint8_t* id_data = av_packet_get_side_data(
packet.get(), AV_PKT_DATA_WEBVTT_IDENTIFIER, &id_size);
- size_t settings_size = 0;
+ side_data_arg settings_size = 0;
uint8_t* settings_data = av_packet_get_side_data(
packet.get(), AV_PKT_DATA_WEBVTT_SETTINGS, &settings_size);
@@ -420,7 +430,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
buffer = DecoderBuffer::CopyFrom(packet->data, packet->size,
side_data.data(), side_data.size());
} else {
- size_t side_data_size = 0;
+ side_data_arg side_data_size = 0;
uint8_t* side_data = av_packet_get_side_data(
packet.get(), AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, &side_data_size);
@@ -481,7 +491,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
packet->size - data_offset);
}
- size_t skip_samples_size = 0;
+ side_data_arg skip_samples_size = 0;
const uint32_t* skip_samples_ptr =
reinterpret_cast<const uint32_t*>(av_packet_get_side_data(
packet.get(), AV_PKT_DATA_SKIP_SAMPLES, &skip_samples_size));