diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-02-25 14:08:52 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-03-08 13:08:52 +0000 |
commit | a2566096b98ebc28a335cf8911310c4a68b0a685 (patch) | |
tree | ae6413f4179694930cd04c240374cb754deca342 | |
parent | e5c7cc61d3696830e380a457f5bebe38757b5e54 (diff) | |
download | qtwebengine-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.cc | 18 |
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)); |