From a2566096b98ebc28a335cf8911310c4a68b0a685 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Fri, 25 Feb 2022 14:08:52 +0100 Subject: 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 --- chromium/media/filters/ffmpeg_demuxer.cc | 18 ++++++++++++++---- 1 file 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 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(av_packet_get_side_data( packet.get(), AV_PKT_DATA_SKIP_SAMPLES, &skip_samples_size)); -- cgit v1.2.1