From eed9f2a1ffa438e120890963ea21e21739f1f188 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Sun, 24 Sep 2017 19:10:15 +0200 Subject: [PATCH 01/43] Add new SoundSource for FFmpeg 3.1 (and beyond) --- SConstruct | 1 + build/features.py | 61 + src/sources/soundsourceffmpeg31.cpp | 1250 +++++++++++++++++ src/sources/soundsourceffmpeg31.h | 188 +++ src/sources/soundsourceopus.cpp | 16 +- src/sources/soundsourceopus.h | 11 - src/sources/soundsourceproxy.cpp | 7 + src/test/coverartutils_test.cpp | 6 +- ...t.m4a => cover-test-itunes-12.3.0-aac.m4a} | Bin .../cover-test-itunes-12.7.0-aac.m4a | Bin 0 -> 373709 bytes .../cover-test-itunes-12.7.0-alac.m4a | Bin 0 -> 986596 bytes src/test/id3-test-data/cover-test-vbr.mp3 | Bin 0 -> 122405 bytes src/test/soundproxy_test.cpp | 112 +- src/test/trackexport_test.cpp | 28 +- 14 files changed, 1566 insertions(+), 114 deletions(-) create mode 100644 src/sources/soundsourceffmpeg31.cpp create mode 100644 src/sources/soundsourceffmpeg31.h rename src/test/id3-test-data/{cover-test.m4a => cover-test-itunes-12.3.0-aac.m4a} (100%) create mode 100644 src/test/id3-test-data/cover-test-itunes-12.7.0-aac.m4a create mode 100644 src/test/id3-test-data/cover-test-itunes-12.7.0-alac.m4a create mode 100644 src/test/id3-test-data/cover-test-vbr.mp3 diff --git a/SConstruct b/SConstruct index 2379ca9790b..cd708e9e109 100644 --- a/SConstruct +++ b/SConstruct @@ -62,6 +62,7 @@ available_features = [features.Mad, features.PerfTools, features.AsmLib, features.FFMPEG, + features.FFMPEG31, # Experimental features features.OpenGLES, diff --git a/build/features.py b/build/features.py index b60b5ba06a4..1f7f221bcc6 100644 --- a/build/features.py +++ b/build/features.py @@ -918,6 +918,67 @@ def sources(self, build): 'src/encoder/encoderffmpegvorbis.cpp'] +class FFMPEG31(Feature): + def description(self): + return "FFmpeg 3.1 support" + + def enabled(self, build): + build.flags['ffmpeg31'] = util.get_flags(build.env, 'ffmpeg31', 0) + if int(build.flags['ffmpeg31']): + return True + return False + + def add_options(self, build, vars): + vars.Add('ffmpeg31', 'Set to 1 to enable FFmpeg 3.1 support \ + (supported FFmpeg >= 3.1)', 0) + + def configure(self, build, conf): + if not self.enabled(build): + return + + # FFmpeg is multimedia library that can be found http://ffmpeg.org/ + if build.platform_is_linux or build.platform_is_osx \ + or build.platform_is_bsd: + # Check for libavcodec, libavformat + if not conf.CheckForPKG('libavcodec', '57.48.0'): + raise Exception('Missing libavcodec or it\'s too old! It can' + 'be separated from main package so check your' + 'operating system packages.') + if not conf.CheckForPKG('libavformat', '53.21.0'): + raise Exception('Missing libavformat or it\'s too old!' + 'It can be separated from main package so' + 'check your operating system packages.') + if not conf.CheckForPKG('libswresample'): + raise Exception('Missing libswresample!' + 'It can be separated from main package so' + 'check your operating system packages.') + + # Needed to build new FFmpeg + build.env.Append(CCFLAGS='-D__STDC_CONSTANT_MACROS') + build.env.Append(CCFLAGS='-D__STDC_LIMIT_MACROS') + build.env.Append(CCFLAGS='-D__STDC_FORMAT_MACROS') + + # Grabs the libs and cflags for FFmpeg + build.env.ParseConfig('pkg-config libswresample --silence-errors \ + --cflags --libs') + build.env.ParseConfig('pkg-config libavcodec --silence-errors \ + --cflags --libs') + build.env.ParseConfig('pkg-config libavformat --silence-errors \ + --cflags --libs') + build.env.ParseConfig('pkg-config libavutil --silence-errors \ + --cflags --libs') + + build.env.Append(CPPDEFINES='__FFMPEG31__') + self.status = "Enabled" + + else: + raise Exception('Building with FFmpeg 3.1 is not supported' + 'for your platform') + + def sources(self, build): + return ['src/sources/soundsourceffmpeg31.cpp'] + + class Optimize(Feature): LEVEL_OFF = 'off' LEVEL_PORTABLE = 'portable' diff --git a/src/sources/soundsourceffmpeg31.cpp b/src/sources/soundsourceffmpeg31.cpp new file mode 100644 index 00000000000..c1e5dbfd1da --- /dev/null +++ b/src/sources/soundsourceffmpeg31.cpp @@ -0,0 +1,1250 @@ +#include "sources/soundsourceffmpeg31.h" + +#include "util/sample.h" +#include "util/logger.h" + +#include +#include + + +namespace mixxx { + +namespace { + +const AVSampleFormat kavSampleFormat = AV_SAMPLE_FMT_FLT; + +const int64_t kavDefaultStartTime = 0; + +// Use 0-based sample frame indexing +const SINT kMinFrameIndex = 0; + +const SINT kInvalidFrameIndex = std::numeric_limits::min(); + +const SINT kUnknownFrameIndex = std::numeric_limits::max(); + +const SINT kSamplesPerMP3Frame = 1152; + +// The minimum capacity for the internal sample buffer to +// store decoded data that has not been read/consumed yet. +const SINT kMinSampleBufferCapacity = 8192; + +const Logger kLogger("SoundSourceFFmpeg31"); + +std::once_flag initFFmpegLibFlag; + +// This function must be called once during startup. +void initFFmpegLib() { +#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 9, 100) + av_register_all(); +#endif + avcodec_register_all(); +} + +uint64_t fixChannelLayout(uint64_t channel_layout, int channels) { + if (channel_layout == 0) { + // Workaround: FFmpeg sometimes fails to determine the channel + // layout, e.g. for a mono WAV files with a single channel! + const auto fixed_channel_layout = + av_get_default_channel_layout(channels); + kLogger.info() + << "Unknown channel layout -> using default layout" + << fixed_channel_layout + << "for" + << channels + << "channels"; + return fixed_channel_layout; + } else { + return channel_layout; + } +} + +int64_t fixStartTime(int64_t start_time) { + if (start_time == AV_NOPTS_VALUE) { + const auto fixed_start_time = kavDefaultStartTime; + // This case is not unlikely, e.g. happens when decoding WAV files. + /* + kLogger.trace() + << "Unknown start time -> using default value" + << fixed_start_time; + */ + return fixed_start_time; + } else { + return start_time; + } +} + +inline +uint64_t getStreamChannelLayout(const AVStream& avStream) { + return fixChannelLayout(avStream.codecpar->channel_layout, avStream.codecpar->channels); +} + +inline +int64_t getStreamStartTime(const AVStream& avStream) { + return fixStartTime(avStream.start_time); +} + +int64_t getStreamDuration(const AVStream& avStream) { + DEBUG_ASSERT(avStream.duration >= 0); + const auto start_time = getStreamStartTime(avStream); + if ((start_time > 0) && (avStream.codecpar->codec_id == AV_CODEC_ID_AAC)) { + // NOTE(uklotzde): iTunes 12.3.0 (and maybe other versions) sets the + // start_time to 2112 (= seek_preroll). The specified duration of the + // stream does not take this into account, see the test file cover-test.m4a + // for an example. As a workaround the value in duration must be interpreted + // as the end time instead and the actual duration is 2112 samples short!! + // This workaround is effective for all AAC files with a start time > 0, + // because we are not able to distinguish them properly. The only drawback + // is that some samples at the end might be cut off. + // Discussion: http://ffmpeg.org/pipermail/libav-user/2017-October/010623.html + const auto duration_offset = math_min(start_time, avStream.duration); + const auto fixed_duration = avStream.duration - duration_offset; + kLogger.info() + << "Workaround for bug in iTunes 12.3.0 (and maybe other versions):" + << "Reducing stream duration from" + << avStream.duration + << "to" + << fixed_duration; + return fixed_duration; + } else { + return avStream.duration; + } +} + +inline +SINT convertStreamTimeToFrameIndex(const AVStream& avStream, int64_t ts) { + return kMinFrameIndex + + av_rescale_q( + ts - getStreamStartTime(avStream), + avStream.time_base, + (AVRational) {1, avStream.codecpar->sample_rate}); +} + +inline +int64_t convertFrameIndexToStreamTime(const AVStream& avStream, SINT frameIndex) { + return getStreamStartTime(avStream) + + av_rescale_q( + frameIndex - kMinFrameIndex, + (AVRational) {1, avStream.codecpar->sample_rate}, + avStream.time_base); +} + +IndexRange getStreamFrameIndexRange(const AVStream& avStream) { + const auto start_time = + getStreamStartTime(avStream); + const auto end_time = + start_time + getStreamDuration(avStream); + DEBUG_ASSERT(start_time <= end_time); + return IndexRange::between( + convertStreamTimeToFrameIndex(avStream, start_time), + convertStreamTimeToFrameIndex(avStream, end_time)); +} + +SINT getStreamSeekPrerollFrameCount(const AVStream& avStream) { + // Stream might not provide an appropriate value that is + // sufficient for sample accurate decoding + const SINT defaultSeekPrerollFrameCount = + avStream.codecpar->seek_preroll; + DEBUG_ASSERT(defaultSeekPrerollFrameCount >= 0); + switch (avStream.codecpar->codec_id) { + case AV_CODEC_ID_MP3: + case AV_CODEC_ID_MP3ON4: + { + // In the worst case up to 29 MP3 frames need to be prerolled + // for accurate seeking: + // http://www.mars.org/mailman/public/mad-dev/2002-May/000634.html + // But that would require to (re-)decode many frames after each seek + // operation, which increases the chance that dropouts may occur. + // As a compromise we will preroll only 9 instead of 29 frames. + // Those 9 frames should at least drain the bit reservoir. + DEBUG_ASSERT(avStream.codecpar->channels <= 2); + const SINT mp3SeekPrerollFrameCount = + 9 * (kSamplesPerMP3Frame / avStream.codecpar->channels); + return math_max(mp3SeekPrerollFrameCount, defaultSeekPrerollFrameCount); + } + case AV_CODEC_ID_AAC: + case AV_CODEC_ID_AAC_LATM: + { + // "AAC Audio - Encoder Delay and Synchronization: The 2112 Sample Assumption" + // https://developer.apple.com/library/ios/technotes/tn2258/_index.html + // "It must also be assumed that without an explicit value, the playback + // system will trim 2112 samples from the AAC decoder output when starting + // playback from any point in the bistream." + const SINT aacSeekPrerollFrameCount = 2112; + return math_max(aacSeekPrerollFrameCount, defaultSeekPrerollFrameCount); + } + default: + return defaultSeekPrerollFrameCount; + } +} + +QString formatErrorMessage(int errnum) { + char errbuf[256]; + if (av_strerror(errnum, errbuf, sizeof(errbuf) / sizeof(errbuf[0]) == 0)) { + return QString("%1 (%2)").arg(errbuf, errnum); + } else { + return QString("No description for error code (%1) found").arg(errnum); + } +} + +inline +void avTrace(const char* preamble, const AVStream& avStream) { + if (kLogger.traceEnabled()) { + kLogger.trace() << preamble + << "{ index" << avStream.index + << "| id" << avStream.id + << "| codec_type" << avStream.codecpar->codec_type + << "| codec_id" << avStream.codecpar->codec_id + << "| channels" << avStream.codecpar->channels + << "| channel_layout" << avStream.codecpar->channel_layout + << "| channel_layout (fixed)" << getStreamChannelLayout(avStream) + << "| format" << avStream.codecpar->format + << "| sample_rate" << avStream.codecpar->sample_rate + << "| bit_rate" << avStream.codecpar->bit_rate + << "| frame_size" << avStream.codecpar->frame_size + << "| initial_padding" << avStream.codecpar->initial_padding + << "| trailing_padding" << avStream.codecpar->trailing_padding + << "| seek_preroll" << avStream.codecpar->seek_preroll + << "| start_time" << avStream.start_time + << "| start_time (fixed)" << getStreamStartTime(avStream) + << "| duration" << avStream.duration + << "| duration (fixed)" << getStreamDuration(avStream) + << "| nb_frames" << avStream.nb_frames + << "| time_base" << avStream.time_base.num << '/' << avStream.time_base.den + << '}'; + } +} + +inline +void avTrace(const char* preamble, const AVPacket& avPacket) { + if (kLogger.traceEnabled()) { + kLogger.trace() << preamble + << "{ stream_index" << avPacket.stream_index + << "| pos" << avPacket.pos + << "| size" << avPacket.size + << "| dst" << avPacket.dts + << "| pts" << avPacket.pts + << "| duration" << avPacket.duration + << '}'; + } +} + +inline +void avTrace(const char* preamble, const AVFrame& avFrame) { + if (kLogger.traceEnabled()) { + kLogger.trace() << preamble + << "{ channels" << avFrame.channels + << "| channel_layout" << avFrame.channel_layout + << "| format" << avFrame.format + << "| sample_rate" << avFrame.sample_rate + << "| pkt_dts" << avFrame.pkt_dts + << "| pkt_duration" << avFrame.pkt_duration + << "| pts" << avFrame.pts + << "| nb_samples" << avFrame.nb_samples + << '}'; + } +} + +AVFormatContext* openInputFile( + const QString& fileName) { + // Will be allocated implicitly when opening the input file + AVFormatContext* pavInputFormatContext = nullptr; + + // Open input file and allocate/initialize AVFormatContext + const int avformat_open_input_result = + avformat_open_input( + &pavInputFormatContext, fileName.toLocal8Bit().constData(), nullptr, nullptr); + if (avformat_open_input_result != 0) { + DEBUG_ASSERT(avformat_open_input_result < 0); + kLogger.warning() + << "avformat_open_input() failed:" + << formatErrorMessage(avformat_open_input_result).toLocal8Bit().constData(); + DEBUG_ASSERT(pavInputFormatContext == nullptr); + } + return pavInputFormatContext; +} + +bool openDecodingContext( + AVCodecContext* pavCodecContext) { + DEBUG_ASSERT(pavCodecContext != nullptr); + + const int avcodec_open2_result = avcodec_open2(pavCodecContext, pavCodecContext->codec, nullptr); + if (avcodec_open2_result != 0) { + DEBUG_ASSERT(avcodec_open2_result < 0); + kLogger.warning() + << "avcodec_open2() failed:" + << formatErrorMessage(avcodec_open2_result).toLocal8Bit().constData(); + return false; + } + return true; +} + +} // anonymous namespace + +void SoundSourceFFmpeg31::InputAVFormatContextPtr::take( + AVFormatContext** ppavInputFormatContext) { + DEBUG_ASSERT(ppavInputFormatContext != nullptr); + if (m_pavInputFormatContext != *ppavInputFormatContext) { + close(); + m_pavInputFormatContext = *ppavInputFormatContext; + *ppavInputFormatContext = nullptr; + } +} + +void SoundSourceFFmpeg31::InputAVFormatContextPtr::close() { + if (m_pavInputFormatContext != nullptr) { + avformat_close_input(&m_pavInputFormatContext); + DEBUG_ASSERT(m_pavInputFormatContext == nullptr); + } +} + +//static +SoundSourceFFmpeg31::AVCodecContextPtr +SoundSourceFFmpeg31::AVCodecContextPtr::alloc( + const AVCodec* codec) { + AVCodecContextPtr context(avcodec_alloc_context3(codec)); + if (!context) { + kLogger.warning() + << "avcodec_alloc_context3() failed for codec" + << codec->name; + } + return context; +} + +void SoundSourceFFmpeg31::AVCodecContextPtr::take(AVCodecContext** ppavCodecContext) { + DEBUG_ASSERT(ppavCodecContext != nullptr); + if (m_pavCodecContext != *ppavCodecContext) { + close(); + m_pavCodecContext = *ppavCodecContext; + *ppavCodecContext = nullptr; + } +} + +void SoundSourceFFmpeg31::AVCodecContextPtr::close() { + if (m_pavCodecContext != nullptr) { + avcodec_free_context(&m_pavCodecContext); + m_pavCodecContext = nullptr; + } +} + +void SoundSourceFFmpeg31::SwrContextPtr::take( + SwrContext** ppSwrContext) { + DEBUG_ASSERT(m_pSwrContext != nullptr); + if (m_pSwrContext != *ppSwrContext) { + close(); + m_pSwrContext = *ppSwrContext; + *ppSwrContext = nullptr; + } +} + +void SoundSourceFFmpeg31::SwrContextPtr::close() { + if (m_pSwrContext != nullptr) { + swr_free(&m_pSwrContext); + DEBUG_ASSERT(m_pSwrContext == nullptr); + } +} + +SoundSourceProviderFFmpeg31::SoundSourceProviderFFmpeg31() { + std::call_once(initFFmpegLibFlag, initFFmpegLib); +} + +QStringList SoundSourceProviderFFmpeg31::getSupportedFileExtensions() const { + QStringList list; + AVInputFormat *pavInputFormat = nullptr; + + // Collect all supported formats (whitelist) + while ((pavInputFormat = av_iformat_next(pavInputFormat))) { + if (pavInputFormat->flags | AVFMT_SEEK_TO_PTS) { + /////////////////////////////////////////////////////////// + // Whitelist of tested codecs (including variants) + /////////////////////////////////////////////////////////// + if (!strcmp(pavInputFormat->name, "aac")) { + list.append("aac"); + continue; + } else if (!strcmp(pavInputFormat->name, "aiff")) { + list.append("aif"); + list.append("aiff"); + continue; + } else if (!strcmp(pavInputFormat->name, "mp3")) { + list.append("mp3"); + continue; + } else if (!strcmp(pavInputFormat->name, "mp4")) { + list.append("mp4"); + continue; + } else if (!strcmp(pavInputFormat->name, "m4v")) { + list.append("m4v"); + continue; + } else if (!strcmp(pavInputFormat->name, "mov,mp4,m4a,3gp,3g2,mj2")) { + list.append("mov"); + list.append("mp4"); + list.append("m4a"); + list.append("3gp"); + list.append("3g2"); + list.append("mj2"); + continue; + } else if (!strcmp(pavInputFormat->name, "wav")) { + list.append("wav"); + continue; + } else if (!strcmp(pavInputFormat->name, "wv")) { + list.append("wv"); + continue; + /////////////////////////////////////////////////////////// + // Codecs with failing tests + /////////////////////////////////////////////////////////// + /* + } else if (!strcmp(pavInputFormat->name, "flac")) { + // FFmpeg failure causes test failure: + // [flac @ 0x2ef2060] read_timestamp() failed in the middle + // SoundSourceFFmpeg31 - av_seek_frame() failed: Operation not permitted + list.append("flac"); + continue; + } else if (!strcmp(pavInputFormat->name, "ogg")) { + // Test failures that might be caused by FFmpeg bug: + // https://trac.ffmpeg.org/ticket/3825 + list.append("ogg"); + continue; + */ + /////////////////////////////////////////////////////////// + // Untested codecs + /////////////////////////////////////////////////////////// + /* + } else if (!strcmp(pavInputFormat->name, "ac3")) { + list.append("ac3"); + continue; + } else if (!strcmp(pavInputFormat->name, "caf")) { + list.append("caf"); + continue; + } else if (!strcmp(pavInputFormat->name, "mpc")) { + list.append("mpc"); + continue; + } else if (!strcmp(pavInputFormat->name, "mpeg")) { + list.append("mpeg"); + continue; + } else if (!strcmp(pavInputFormat->name, "opus") || + !strcmp(pavInputFormat->name, "libopus")) { + list.append("opus"); + continue; + } else if (!strcmp(pavInputFormat->name, "tak")) { + list.append("tak"); + continue; + } else if (!strcmp(pavInputFormat->name, "tta")) { + list.append("tta"); + continue; + } else if (!strcmp(pavInputFormat->name, "wma") || + !strcmp(pavInputFormat->name, "xwma")) { + list.append("wma"); + continue; + */ + } + } + kLogger.info() + << "Disabling untested input format:" + << pavInputFormat->name; + continue; + } + + return list; +} + +SoundSourceFFmpeg31::SoundSourceFFmpeg31(const QUrl& url) + : SoundSource(url), + m_pavStream(nullptr), + m_pavDecodedFrame(nullptr), + m_pavResampledFrame(nullptr), + m_sampleBuffer(kMinSampleBufferCapacity), + m_seekPrerollFrameCount(0), + m_curFrameIndex(kInvalidFrameIndex) { +} + +SoundSourceFFmpeg31::~SoundSourceFFmpeg31() { + close(); +} + +SoundSource::OpenResult SoundSourceFFmpeg31::tryOpen( + OpenMode /*mode*/, + const OpenParams& params) { + // Open input + { + AVFormatContext* pavInputFormatContext = + openInputFile(getLocalFileName()); + if (pavInputFormatContext == nullptr) { + kLogger.warning() + << "Failed to open input file" + << getLocalFileName(); + return OpenResult::Failed; + } + m_pavInputFormatContext.take(&pavInputFormatContext); + } + + // Retrieve stream information + const int avformat_find_stream_info_result = + avformat_find_stream_info(m_pavInputFormatContext, nullptr); + if (avformat_find_stream_info_result != 0) { + DEBUG_ASSERT(avformat_find_stream_info_result < 0); + kLogger.warning() + << "avformat_find_stream_info() failed:" + << formatErrorMessage(avformat_find_stream_info_result).toLocal8Bit().constData(); + return OpenResult::Failed; + } + + // Find the best stream + AVCodec* pDecoder = nullptr; + const int av_find_best_stream_result = av_find_best_stream( + m_pavInputFormatContext, + AVMEDIA_TYPE_AUDIO, + /*wanted_stream_nb*/ -1, + /*related_stream*/ -1, + &pDecoder, + /*flags*/ 0); + if (av_find_best_stream_result < 0) { + switch (av_find_best_stream_result) { + case AVERROR_STREAM_NOT_FOUND: + kLogger.warning() + << "av_find_best_stream() failed to find an audio stream"; + break; + case AVERROR_DECODER_NOT_FOUND: + kLogger.warning() + << "av_find_best_stream() failed to find a decoder for any audio stream"; + break; + default: + kLogger.warning() + << "av_find_best_stream() failed:" + << formatErrorMessage(av_find_best_stream_result).toLocal8Bit().constData(); + } + return SoundSource::OpenResult::Aborted; + } + DEBUG_ASSERT(pDecoder); + + // Select audio stream for decoding + AVStream* pavStream = m_pavInputFormatContext->streams[av_find_best_stream_result]; + DEBUG_ASSERT(pavStream != nullptr); + DEBUG_ASSERT(pavStream->index == av_find_best_stream_result); + + // Allocate decoding context + AVCodecContextPtr pavCodecContext = AVCodecContextPtr::alloc(pDecoder); + if (!pavCodecContext) { + return SoundSource::OpenResult::Aborted; + } + + // Configure decoding context + const int avcodec_parameters_to_context_result = + avcodec_parameters_to_context(pavCodecContext, pavStream->codecpar); + if (avcodec_parameters_to_context_result != 0) { + DEBUG_ASSERT(avcodec_parameters_to_context_result < 0); + kLogger.warning() + << "avcodec_parameters_to_context() failed:" + << formatErrorMessage(avcodec_parameters_to_context_result).toLocal8Bit().constData(); + return SoundSource::OpenResult::Aborted; + } + + // Align the time base of the context with that of the selected stream + av_codec_set_pkt_timebase(pavCodecContext, pavStream->time_base); + + // Request output format + pavCodecContext->request_sample_fmt = kavSampleFormat; + if (params.channelCount().valid()) { + pavCodecContext->request_channel_layout = av_get_default_channel_layout(params.channelCount()); + } + + // Open decoding context + if (!openDecodingContext(pavCodecContext)) { + // early exit on any error + return SoundSource::OpenResult::Failed; + } + + // Initialize members + m_pavCodecContext = std::move(pavCodecContext); + m_pavStream = pavStream; + + avTrace("Opened stream for decoding", *m_pavStream); + + const auto streamChannelCount = + ChannelCount(m_pavStream->codecpar->channels); + m_avStreamChannelLayout = + getStreamChannelLayout(*m_pavStream); + const auto avStreamSampleFormat = + m_pavCodecContext->sample_fmt; + const auto sampleRate = + SampleRate(m_pavStream->codecpar->sample_rate); + const auto streamBitrate = + Bitrate(m_pavStream->codecpar->bit_rate / 1000); // kbps + const auto frameIndexRange = + getStreamFrameIndexRange(*m_pavStream); + + DEBUG_ASSERT(!m_pavDecodedFrame); + m_pavDecodedFrame = av_frame_alloc(); + + // Init resampling + const auto resampledChannelCount = + // NOTE(uklotzde, 2017-09-26): Resampling to a different number of + // channels like upsampling a mono to stereo signal breaks various + // tests in the EngineBufferE2ETest suite!! SoundSource decoding tests + // are unaffected, because there we always compare two signals produced + // by the same decoder instead of a decoded with a reference signal. As + // a workaround we decode the stream's channels as is and let Mixxx decide + // how to handle this later. + /*config.channelCount().valid() ? config.channelCount() :*/ streamChannelCount; + m_avResampledChannelLayout = + av_get_default_channel_layout(resampledChannelCount); + const auto avResampledSampleFormat = + kavSampleFormat; + // NOTE(uklotzde): We prefer not to change adjust sample rate here, because + // all the frame calculations while decoding use the frame information + // from the underlying stream! We only need resampling for up-/downsampling + // the channels and to transform the decoded audio data into the sample + // format that is used by Mixxx. + if ((resampledChannelCount != streamChannelCount) || + (m_avResampledChannelLayout != m_avStreamChannelLayout) || + (avResampledSampleFormat != avStreamSampleFormat)) { + /* + kLogger.trace() + << "Decoded stream needs to be resampled" + << ": channel count =" << resampledChannelCount + << "| channel layout =" << m_avResampledChannelLayout + << "| sample format =" << av_get_sample_fmt_name(avResampledSampleFormat); + */ + m_pSwrContext = SwrContextPtr(swr_alloc_set_opts( + nullptr, + m_avResampledChannelLayout, + avResampledSampleFormat, + sampleRate, + m_avStreamChannelLayout, + avStreamSampleFormat, + sampleRate, + 0, + nullptr)); + if (!m_pSwrContext) { + kLogger.warning() + << "Failed to allocate resampling context"; + return OpenResult::Failed; + } + const auto swr_init_result = + swr_init(m_pSwrContext); + if (swr_init_result < 0) { + kLogger.warning() + << "swr_init() failed:" + << formatErrorMessage(swr_init_result).toLocal8Bit().constData(); + return OpenResult::Failed; + } + DEBUG_ASSERT(!m_pavResampledFrame); + m_pavResampledFrame = av_frame_alloc(); + } + + if (!setChannelCount(resampledChannelCount)) { + kLogger.warning() + << "Failed to initialize number of channels" + << resampledChannelCount; + return OpenResult::Aborted; + } + + if (!setSampleRate(sampleRate)) { + kLogger.warning() + << "Failed to initialize sampling rate" + << sampleRate; + return OpenResult::Aborted; + } + + if (streamBitrate.valid() && !initBitrateOnce(streamBitrate)) { + kLogger.warning() + << "Failed to initialize bitrate" + << streamBitrate; + return OpenResult::Failed; + } + + if (!initFrameIndexRangeOnce(frameIndexRange)) { + kLogger.warning() + << "Failed to initialize frame index range" + << frameIndexRange; + return OpenResult::Failed; + } + + // A stream packet may produce multiple stream frames when decoded. Buffering + // more than a few codec frames with samples in advance should be unlikely. + const SINT codecSampleBufferCapacity = 4 * m_pavStream->codecpar->frame_size; + if (m_sampleBuffer.capacity() < codecSampleBufferCapacity) { + m_sampleBuffer.adjustCapacity(codecSampleBufferCapacity); + } + + m_seekPrerollFrameCount = getStreamSeekPrerollFrameCount(*m_pavStream); + //kLogger.trace() << "Seek preroll frame count:" << m_seekPrerollFrameCount; + + m_curFrameIndex = kMinFrameIndex; + + return OpenResult::Succeeded; +} + +void SoundSourceFFmpeg31::close() { + av_frame_free(&m_pavResampledFrame); + DEBUG_ASSERT(!m_pavResampledFrame); + av_frame_free(&m_pavDecodedFrame); + DEBUG_ASSERT(!m_pavDecodedFrame); + m_pSwrContext.close(); + m_pavCodecContext.close(); + m_pavInputFormatContext.close(); +} + +namespace { + SINT readNextPacket( + AVFormatContext* pavFormatContext, + AVStream* pavStream, + AVPacket* pavPacket, + SINT flushFrameIndex) { + while (true) { + const auto av_read_frame_result = + av_read_frame( + pavFormatContext, + pavPacket); + if (av_read_frame_result < 0) { + if (av_read_frame_result == AVERROR_EOF) { + // Enter drain mode: Flush the decoder with a final empty packet + kLogger.debug() + << "EOF: Entering drain mode"; + pavPacket->stream_index = pavStream->index; + pavPacket->data = nullptr; + pavPacket->size = 0; + return flushFrameIndex; + } else { + kLogger.warning() + << "av_read_frame() failed:" + << formatErrorMessage(av_read_frame_result).toLocal8Bit().constData(); + return kInvalidFrameIndex; + } + } + //avTrace("Packet read from stream", *pavPacket); + DEBUG_ASSERT(pavPacket->data); + DEBUG_ASSERT(pavPacket->size > 0); + if (pavPacket->stream_index == pavStream->index) { + // Found a packet for the stream + break; + } else { + av_packet_unref(pavPacket); + } + } + DEBUG_ASSERT(pavPacket->stream_index == pavStream->index); + return (pavPacket->pts != AV_NOPTS_VALUE) + ? convertStreamTimeToFrameIndex(*pavStream, pavPacket->pts) + : kUnknownFrameIndex; + } +} + +ReadableSampleFrames SoundSourceFFmpeg31::readSampleFramesClamped( + WritableSampleFrames writableSampleFrames) { + CSAMPLE* pOutputSampleBuffer = writableSampleFrames.writableData(); + auto writableRange = + writableSampleFrames.frameIndexRange(); + + // Consume all buffered sample data before decoding any new data + if (!m_sampleBuffer.empty()) { + DEBUG_ASSERT(m_curFrameIndex != kInvalidFrameIndex); + DEBUG_ASSERT(frameIndexRange().containsIndex(m_curFrameIndex)); + const auto bufferedRange = + IndexRange::forward( + m_curFrameIndex, + samples2frames(m_sampleBuffer.readableLength())); + const auto consumableRange = + intersect(bufferedRange, writableRange); + DEBUG_ASSERT(consumableRange.length() <= writableRange.length()); + if (!consumableRange.empty() && + (consumableRange.start() == writableRange.start())) { + // Drop and skip preceding buffered samples + DEBUG_ASSERT(m_curFrameIndex <= writableRange.start()); + const auto skippableRange = + IndexRange::between( + m_curFrameIndex, + writableRange.start()); + m_sampleBuffer.shrinkForReading( + frames2samples(skippableRange.length())); + m_curFrameIndex += skippableRange.length(); + // Consume buffered samples + DEBUG_ASSERT(m_curFrameIndex == writableRange.start()); + const SampleBuffer::ReadableSlice consumableSlice = + m_sampleBuffer.shrinkForReading( + frames2samples(consumableRange.length())); + DEBUG_ASSERT(consumableSlice.length() == + frames2samples(consumableRange.length())); + //kLogger.trace() << "Consuming buffered samples" << consumableRange; + if (pOutputSampleBuffer) { + SampleUtil::copy( + pOutputSampleBuffer, + consumableSlice.data(), + consumableSlice.length()); + pOutputSampleBuffer += consumableSlice.length(); + } + writableRange.shrinkFront(consumableRange.length()); + m_curFrameIndex += consumableRange.length(); + // Keep remaining buffered samples + DEBUG_ASSERT(writableRange.empty() || m_sampleBuffer.empty()); + } else { + // Discard all buffered sample data + m_sampleBuffer.clear(); + m_curFrameIndex += bufferedRange.length(); + } + } + + if (m_curFrameIndex != writableRange.start()) { + // Need to seek before reading + DEBUG_ASSERT(m_sampleBuffer.empty()); + auto seekFrameIndex = + math_max(kMinFrameIndex, writableRange.start() - m_seekPrerollFrameCount); + // Seek to codec frame boundaries if the frame size is fixed and known + if (m_pavStream->codecpar->frame_size > 0) { + seekFrameIndex -= (seekFrameIndex - kMinFrameIndex) % m_pavCodecContext->frame_size; + } + DEBUG_ASSERT(seekFrameIndex >= kMinFrameIndex); + DEBUG_ASSERT(seekFrameIndex <= writableRange.start()); + if ((m_curFrameIndex == kInvalidFrameIndex) || + (m_curFrameIndex > writableRange.start()) || + (m_curFrameIndex < seekFrameIndex)) { + // Flush internal decoder state + avcodec_flush_buffers(m_pavCodecContext); + // Invalidate current position + m_curFrameIndex = kInvalidFrameIndex; + // Seek to new position + const int64_t seekTimestamp = + convertFrameIndexToStreamTime(*m_pavStream, seekFrameIndex); + int av_seek_frame_result = av_seek_frame( + m_pavInputFormatContext, + m_pavStream->index, + seekTimestamp, + AVSEEK_FLAG_BACKWARD); + if (av_seek_frame_result < 0) { + kLogger.warning() + << "av_seek_frame() failed:" + << formatErrorMessage(av_seek_frame_result).toLocal8Bit().constData(); + m_curFrameIndex = kInvalidFrameIndex; + return ReadableSampleFrames(); + } + // Current position is unknown until reading from the stream + m_curFrameIndex = kUnknownFrameIndex; + } + } + DEBUG_ASSERT(m_curFrameIndex != kInvalidFrameIndex); + + AVPacket avPacket; + av_init_packet(&avPacket); + avPacket.data = nullptr; + avPacket.size = 0; + AVPacket* pavNextPacket = nullptr; + auto readFrameIndex = m_curFrameIndex; + while ((pavNextPacket || !writableRange.empty()) && + (m_curFrameIndex != kInvalidFrameIndex)) { + // Read next packet from stream + if (!pavNextPacket) { + const SINT packetFrameIndex = + readNextPacket( + m_pavInputFormatContext, + m_pavStream, + &avPacket, + m_curFrameIndex); + if (packetFrameIndex == kInvalidFrameIndex) { + // Invalidate current position and abort reading + m_curFrameIndex = kInvalidFrameIndex; + break; + } + pavNextPacket = &avPacket; + } + DEBUG_ASSERT(pavNextPacket); + + // Consume raw packet data + //avTrace("Sending packet to decoder", *pavNextPacket); + const auto avcodec_send_packet_result = + avcodec_send_packet(m_pavCodecContext, pavNextPacket); + if (avcodec_send_packet_result == 0) { + // Packet has been consumed completely + //kLogger.trace() << "Packet has been consumed by decoder"; + // Release ownership on packet + av_packet_unref(pavNextPacket); + pavNextPacket = nullptr; + } else { + // Packet has not been consumed or only partially + if (avcodec_send_packet_result == AVERROR(EAGAIN)) { + // Keep and resend this packet to the decoder during the next round + //kLogger.trace() << "Packet needs to be sent again to decoder"; + } else { + kLogger.warning() + << "avcodec_send_packet() failed:" + << formatErrorMessage(avcodec_send_packet_result).toLocal8Bit().constData(); + // Release ownership on packet + av_packet_unref(pavNextPacket); + pavNextPacket = nullptr; + // Invalidate current position and abort reading + m_curFrameIndex = kInvalidFrameIndex; + break; + } + } + + int avcodec_receive_frame_result; + do { + /* + kLogger.trace() + << "m_curFrameIndex" << m_curFrameIndex + << "readFrameIndex" << readFrameIndex + << "writableRange" << writableRange + << "m_sampleBuffer.readableLength()" << m_sampleBuffer.readableLength(); + */ + + DEBUG_ASSERT(writableRange.empty() || m_sampleBuffer.empty()); + + SINT missingFrameCount = 0; + SINT decodedFrameCount = 0; + SINT paddingFrameCount = 0; + const CSAMPLE* pDecodedSampleData = nullptr; + + // Decode next frame + IndexRange frameRange; + avcodec_receive_frame_result = avcodec_receive_frame( + m_pavCodecContext, + m_pavDecodedFrame); + if (avcodec_receive_frame_result == 0) { + //avTrace("Received decoded frame", *m_pavDecodedFrame); + DEBUG_ASSERT(m_pavDecodedFrame->pts != AV_NOPTS_VALUE); + decodedFrameCount = m_pavDecodedFrame->nb_samples; + DEBUG_ASSERT(decodedFrameCount > 0); + frameRange = IndexRange::forward( + convertStreamTimeToFrameIndex(*m_pavStream, m_pavDecodedFrame->pts), + decodedFrameCount); + if (readFrameIndex == kUnknownFrameIndex) { + readFrameIndex = frameRange.start(); + } + } else if (avcodec_receive_frame_result == AVERROR(EAGAIN)) { + //kLogger.trace() << "No more frames available until decoder is fed with more packets from stream"; + DEBUG_ASSERT(!pavNextPacket); + break; + } else if (avcodec_receive_frame_result == AVERROR_EOF) { + DEBUG_ASSERT(!pavNextPacket); + if (!writableRange.empty()) { + DEBUG_ASSERT(readFrameIndex < writableRange.end()); + DEBUG_ASSERT(m_sampleBuffer.empty()); + kLogger.debug() + << "Stream ends at sample frame" + << readFrameIndex + << "instead of" + << frameIndexRange().end() + << "-> padding with silence"; + const auto clearSampleCount = + frames2samples(writableRange.length()); + if (pOutputSampleBuffer) { + SampleUtil::clear( + pOutputSampleBuffer, + clearSampleCount); + pOutputSampleBuffer += clearSampleCount; + } + writableRange.shrinkFront(writableRange.length()); + } + // Invalidate current position and abort reading + m_curFrameIndex = kInvalidFrameIndex; + break; + } else { + kLogger.warning() + << "avcodec_receive_frame() failed:" + << formatErrorMessage(avcodec_receive_frame_result).toLocal8Bit().constData(); + // Invalidate current position and abort reading + m_curFrameIndex = kInvalidFrameIndex; + break; + } + + /* + kLogger.trace() + << "After receiving decoded frame:" + << "m_curFrameIndex" << m_curFrameIndex + << "readFrameIndex" << readFrameIndex + << "frameRange" << frameRange + << "writableRange" << writableRange + << "missingFrameCount" << missingFrameCount + << "decodedFrameCount" << decodedFrameCount + << "paddingFrameCount" << paddingFrameCount; + */ + DEBUG_ASSERT(readFrameIndex != kInvalidFrameIndex); + DEBUG_ASSERT(readFrameIndex != kUnknownFrameIndex); + + if (frameRange.start() < readFrameIndex) { + // The next frame starts BEFORE the current position + const auto overlapRange = + IndexRange::between( + frameRange.start(), + readFrameIndex); + kLogger.warning() + << "Overlapping sample frames in the stream:" + << overlapRange; + const auto consumedRange = + IndexRange::between( + writableSampleFrames.frameIndexRange().start(), + // We might still be decoding samples in preroll mode, i.e. + // readFrameIndex < writableSampleFrames.frameIndexRange().start() + math_max(readFrameIndex, writableSampleFrames.frameIndexRange().start())); + auto rewindRange = + intersect(overlapRange, consumedRange); + if (!rewindRange.empty()) { + DEBUG_ASSERT(rewindRange.end() == readFrameIndex); + kLogger.warning() + << "Rewinding current position:" + << readFrameIndex + << "->" + << rewindRange.start(); + // Rewind internally buffered samples first... + const auto rewindSampleLength = + m_sampleBuffer.shrinkAfterWriting( + frames2samples(rewindRange.length())); + rewindRange.shrinkBack( + samples2frames(rewindSampleLength)); + // ...then rewind remaining samples from the output buffer + if (pOutputSampleBuffer) { + pOutputSampleBuffer -= frames2samples(rewindRange.length()); + } + writableRange = IndexRange::between(rewindRange.start(), writableRange.end()); + } + // Adjust read position + readFrameIndex = frameRange.start(); + } else if (frameRange.start() > readFrameIndex) { + // The next frame starts AFTER the current position + missingFrameCount = frameRange.start() - readFrameIndex; + } + + /* + kLogger.trace() + << "Before resampling:" + << "m_curFrameIndex" << m_curFrameIndex + << "readFrameIndex" << readFrameIndex + << "frameRange" << frameRange + << "writableRange" << writableRange + << "missingFrameCount" << missingFrameCount + << "decodedFrameCount" << decodedFrameCount + << "paddingFrameCount" << paddingFrameCount; + */ + DEBUG_ASSERT(readFrameIndex <= frameRange.start()); + // NOTE: Decoding might start at a negative position for the first + // frame of the file! In this case readFrameIndex < frameIndexRange().start(), + // i.e. the decoded frame starts outside of the track's valid range! + // Consequently isValidFrameIndex(readFrameIndex) might return false. + // This is expected behavior and will be compensated during 'preskip' + // (see below). + + if (m_pSwrContext && (frameRange.end() > writableRange.start())) { + // Resample decoded frame + if (m_pSwrContext) { + // Decoded frame must be resampled before reading + m_pavResampledFrame->channel_layout = m_avResampledChannelLayout; + m_pavResampledFrame->sample_rate = sampleRate(); + m_pavResampledFrame->format = kavSampleFormat; + if (m_pavDecodedFrame->channel_layout == 0) { + // Sometimes the channel layout is undefined. + // See also: fixChannelLayout() + m_pavDecodedFrame->channel_layout = m_avStreamChannelLayout; + } + //avTrace("Resampling decoded frame", *m_pavDecodedFrame); + const auto swr_convert_frame_result = + swr_convert_frame( + m_pSwrContext, + m_pavResampledFrame, + m_pavDecodedFrame); + if (swr_convert_frame_result != 0) { + kLogger.warning() + << "swr_convert_frame() failed:" + << formatErrorMessage(swr_convert_frame_result).toLocal8Bit().constData(); + // Abort reading + av_frame_unref(m_pavDecodedFrame); + m_curFrameIndex = kInvalidFrameIndex; + break; + } + //avTrace("Received resampled frame", *m_pavResampledFrame); + DEBUG_ASSERT(m_pavDecodedFrame->pts = m_pavResampledFrame->pts); + DEBUG_ASSERT(m_pavDecodedFrame->nb_samples = m_pavResampledFrame->nb_samples); + pDecodedSampleData = reinterpret_cast( + m_pavResampledFrame->extended_data[0]); + } else { + pDecodedSampleData = reinterpret_cast( + m_pavDecodedFrame->extended_data[0]); + } + } + + // readFrameIndex + // | + // v |<- frameRange ->| + // | missingFrameCount | decodedFrameCount | paddingFrameCount | + + VERIFY_OR_DEBUG_ASSERT(readFrameIndex <= writableRange.start()) { + kLogger.critical() + << "Invalid decoding position" + << ": expected frame index =" << writableRange.start() + << ", actual frame index =" << readFrameIndex; + m_curFrameIndex = kInvalidFrameIndex; + break; + } + const auto preskipMissingFrameCount = + math_min(missingFrameCount, writableRange.start() - readFrameIndex); + missingFrameCount -= preskipMissingFrameCount; + readFrameIndex += preskipMissingFrameCount; + const auto preskipDecodedFrameCount = + math_min(decodedFrameCount, writableRange.start() - readFrameIndex); + pDecodedSampleData += frames2samples(preskipDecodedFrameCount); + decodedFrameCount -= preskipDecodedFrameCount; + readFrameIndex += preskipDecodedFrameCount; + const auto preskipPaddingFrameCount = + math_min(paddingFrameCount, writableRange.start() - readFrameIndex); + paddingFrameCount -= preskipPaddingFrameCount; + readFrameIndex += preskipPaddingFrameCount; + m_curFrameIndex = readFrameIndex; + + /* + kLogger.trace() + << "Before writing:" + << "m_curFrameIndex" << m_curFrameIndex + << "readFrameIndex" << readFrameIndex + << "frameRange" << frameRange + << "writableRange" << writableRange + << "missingFrameCount" << missingFrameCount + << "decodedFrameCount" << decodedFrameCount + << "paddingFrameCount" << paddingFrameCount; + */ + + if (readFrameIndex == writableRange.start()) { + const auto writeMissingFrameCount = + math_min(missingFrameCount, writableRange.length()); + if (writeMissingFrameCount > 0) { + const auto clearSampleCount = + frames2samples(writeMissingFrameCount); + if (pOutputSampleBuffer) { + SampleUtil::clear( + pOutputSampleBuffer, + clearSampleCount); + pOutputSampleBuffer += clearSampleCount; + } + missingFrameCount -= writeMissingFrameCount; + writableRange.shrinkFront(writeMissingFrameCount); + readFrameIndex += writeMissingFrameCount; + } + DEBUG_ASSERT((missingFrameCount == 0) || writableRange.empty()); + const auto writeDecodedFrameCount = + math_min(decodedFrameCount, writableRange.length()); + if (writeDecodedFrameCount > 0) { + const auto copySampleCount = + frames2samples(writeDecodedFrameCount); + if (pOutputSampleBuffer) { + SampleUtil::copy( + pOutputSampleBuffer, + pDecodedSampleData, + copySampleCount); + pOutputSampleBuffer += copySampleCount; + } + pDecodedSampleData += copySampleCount; + decodedFrameCount -= writeDecodedFrameCount; + writableRange.shrinkFront(writeDecodedFrameCount); + readFrameIndex += writeDecodedFrameCount; + } + DEBUG_ASSERT((decodedFrameCount == 0) || writableRange.empty()); + const auto writePaddingFrameCount = + math_min(paddingFrameCount, writableRange.length()); + if (writePaddingFrameCount > 0) { + const auto clearSampleCount = + frames2samples(writePaddingFrameCount); + if (pOutputSampleBuffer) { + SampleUtil::clear( + pOutputSampleBuffer, + clearSampleCount); + pOutputSampleBuffer += clearSampleCount; + } + paddingFrameCount -= writePaddingFrameCount; + writableRange.shrinkFront(writePaddingFrameCount); + readFrameIndex += writePaddingFrameCount; + } + DEBUG_ASSERT((paddingFrameCount == 0) || writableRange.empty()); + DEBUG_ASSERT(readFrameIndex == writableRange.start()); + m_curFrameIndex = readFrameIndex; + } + + /* + kLogger.trace() + << "Before buffering:" + << "m_curFrameIndex" << m_curFrameIndex + << "readFrameIndex" << readFrameIndex + << "frameRange" << frameRange + << "writableRange" << writableRange + << "missingFrameCount" << missingFrameCount + << "decodedFrameCount" << decodedFrameCount + << "paddingFrameCount" << paddingFrameCount; + */ + + if (readFrameIndex >= writableRange.start()) { + // Buffer remaining unread sample data from the decoded/resampled frame + const auto sampleBufferWriteLength = + frames2samples(missingFrameCount + decodedFrameCount + paddingFrameCount); + if (m_sampleBuffer.writableLength() < sampleBufferWriteLength) { + const auto sampleBufferCapacity = + m_sampleBuffer.readableLength() + + sampleBufferWriteLength; + kLogger.warning() + << "Adjusting capacity of internal sample buffer by reallocation:" + << m_sampleBuffer.capacity() + << "->" + << sampleBufferCapacity; + m_sampleBuffer.adjustCapacity(sampleBufferCapacity); + } + DEBUG_ASSERT(m_sampleBuffer.writableLength() >= sampleBufferWriteLength); + if (missingFrameCount > 0) { + DEBUG_ASSERT(writableRange.empty()); + const auto clearSampleCount = + frames2samples(missingFrameCount); + const SampleBuffer::WritableSlice writableSlice( + m_sampleBuffer.growForWriting(clearSampleCount)); + DEBUG_ASSERT(writableSlice.length() == clearSampleCount); + SampleUtil::clear( + writableSlice.data(), + clearSampleCount); + readFrameIndex += missingFrameCount; + } + if (decodedFrameCount > 0) { + DEBUG_ASSERT(writableRange.empty()); + const auto copySampleCount = + frames2samples(decodedFrameCount); + const SampleBuffer::WritableSlice writableSlice( + m_sampleBuffer.growForWriting(copySampleCount)); + DEBUG_ASSERT(writableSlice.length() == copySampleCount); + SampleUtil::copy( + writableSlice.data(), + pDecodedSampleData, + copySampleCount); + readFrameIndex += decodedFrameCount; + } + if (paddingFrameCount > 0) { + DEBUG_ASSERT(writableRange.empty()); + const auto clearSampleCount = frames2samples(paddingFrameCount); + const SampleBuffer::WritableSlice writableSlice( + m_sampleBuffer.growForWriting(clearSampleCount)); + DEBUG_ASSERT(writableSlice.length() == clearSampleCount); + SampleUtil::clear( + writableSlice.data(), + clearSampleCount); + readFrameIndex += paddingFrameCount; + } + } + + // Housekeeping before next decoding iteration + av_frame_unref(m_pavDecodedFrame); + av_frame_unref(m_pavResampledFrame); + } while ((avcodec_receive_frame_result == 0) && (m_curFrameIndex != kInvalidFrameIndex)); + } + DEBUG_ASSERT(!pavNextPacket); + + const auto readableRange = + IndexRange::between( + writableSampleFrames.frameIndexRange().start(), + writableRange.start()); + return ReadableSampleFrames( + readableRange, + SampleBuffer::ReadableSlice( + writableSampleFrames.writableData(), + frames2samples(readableRange.length()))); +} + +QString SoundSourceProviderFFmpeg31::getName() const { + return "FFmpeg31"; +} + +SoundSourceProviderPriority SoundSourceProviderFFmpeg31::getPriorityHint( + const QString& /*supportedFileExtension*/) const { + // Decoding through FFmpeg should be available on many platforms and + // will be(-come) the best tested variant. Prefer it even over custom + // decoders that are registered with default priority. + return SoundSourceProviderPriority::HIGHER; +} + +} // namespace mixxx diff --git a/src/sources/soundsourceffmpeg31.h b/src/sources/soundsourceffmpeg31.h new file mode 100644 index 00000000000..e1810772cd1 --- /dev/null +++ b/src/sources/soundsourceffmpeg31.h @@ -0,0 +1,188 @@ +#ifndef MIXXX_SoundSourceFFmpeg31_H +#define MIXXX_SoundSourceFFmpeg31_H + + +extern "C" { + +#include +#include +#include + +} // extern "C" + +#include "sources/soundsourceprovider.h" + +#include "util/readaheadsamplebuffer.h" + +namespace mixxx { + +class SoundSourceFFmpeg31 : public SoundSource { + public: + explicit SoundSourceFFmpeg31(const QUrl& url); + ~SoundSourceFFmpeg31() override; + + void close() override; + + protected: + ReadableSampleFrames readSampleFramesClamped( + WritableSampleFrames sampleFrames) override; + + private: + OpenResult tryOpen( + OpenMode mode, + const OpenParams& params) override; + + // Takes ownership of an input format context and ensures that + // the corresponding AVFormatContext is closed, either explicitly + // or implicitly by the destructor. The wrapper can only be + // moved, copying is disabled. + class InputAVFormatContextPtr final { + public: + explicit InputAVFormatContextPtr(AVFormatContext* pavInputFormatContext = nullptr) + : m_pavInputFormatContext(pavInputFormatContext) { + } + InputAVFormatContextPtr(const InputAVFormatContextPtr&) = delete; + InputAVFormatContextPtr(InputAVFormatContextPtr&& that) + : m_pavInputFormatContext(that.m_pavInputFormatContext) { + that.m_pavInputFormatContext = nullptr; + } + ~InputAVFormatContextPtr() { + close(); + } + + void take(AVFormatContext** ppavInputFormatContext); + + void close(); + + friend void swap(InputAVFormatContextPtr& lhs, InputAVFormatContextPtr& rhs) { + std::swap(lhs.m_pavInputFormatContext, rhs.m_pavInputFormatContext); + } + + InputAVFormatContextPtr& operator=(const InputAVFormatContextPtr&) = delete; + InputAVFormatContextPtr& operator=(InputAVFormatContextPtr&& that) { + swap(*this, that); + return *this; + } + + AVFormatContext* operator->() { return m_pavInputFormatContext; } + operator AVFormatContext*() { return m_pavInputFormatContext; } + + private: + AVFormatContext* m_pavInputFormatContext; + }; + InputAVFormatContextPtr m_pavInputFormatContext; + + + AVStream* m_pavStream; + + // Takes ownership of an opened (audio) codec context and ensures that + // the corresponding AVCodecContext is closed, either explicitly or + // implicitly by the destructor. The wrapper can only be moved, + // copying is disabled. + class AVCodecContextPtr final { + public: + static AVCodecContextPtr alloc(const AVCodec* codec); + + explicit AVCodecContextPtr(AVCodecContext* pavCodecContext = nullptr) + : m_pavCodecContext(pavCodecContext) { + } + AVCodecContextPtr(const AVCodecContextPtr&) = delete; + AVCodecContextPtr(AVCodecContextPtr&& that) + : m_pavCodecContext(that.m_pavCodecContext) { + that.m_pavCodecContext = nullptr; + } + ~AVCodecContextPtr() { + close(); + } + + void take(AVCodecContext** ppavCodecContext); + void close(); + + friend void swap(AVCodecContextPtr& lhs, AVCodecContextPtr& rhs) { + std::swap(lhs.m_pavCodecContext, rhs.m_pavCodecContext); + } + + AVCodecContextPtr& operator=(const AVCodecContextPtr&) = delete; + AVCodecContextPtr& operator=(AVCodecContextPtr&& that) { + swap(*this, that); + return *this; + } + + AVCodecContext* operator->() { return m_pavCodecContext; } + operator AVCodecContext*() { return m_pavCodecContext; } + + private: + AVCodecContext* m_pavCodecContext; + }; + AVCodecContextPtr m_pavCodecContext; + + // Resampler + class SwrContextPtr final { + public: + explicit SwrContextPtr(SwrContext* m_pSwrContext = nullptr) + : m_pSwrContext(m_pSwrContext) { + } + SwrContextPtr(const SwrContextPtr&) = delete; + SwrContextPtr(SwrContextPtr&& that) + : m_pSwrContext(that.m_pSwrContext) { + that.m_pSwrContext = nullptr; + } + ~SwrContextPtr() { + close(); + } + + void take(SwrContext** ppSwrContext); + + void close(); + + friend void swap(SwrContextPtr& lhs, SwrContextPtr& rhs) { + std::swap(lhs.m_pSwrContext, rhs.m_pSwrContext); + } + + SwrContextPtr& operator=(const SwrContextPtr&) = delete; + SwrContextPtr& operator=(SwrContextPtr&& that) { + swap(*this, that); + return *this; + } + + SwrContext* operator->() { return m_pSwrContext; } + operator SwrContext*() { return m_pSwrContext; } + + private: + SwrContext* m_pSwrContext; + }; + SwrContextPtr m_pSwrContext; + + uint64_t m_avStreamChannelLayout; + uint64_t m_avResampledChannelLayout; + + AVFrame* m_pavDecodedFrame; + AVFrame* m_pavResampledFrame; + + ReadAheadSampleBuffer m_sampleBuffer; + + SINT m_seekPrerollFrameCount; + + SINT m_curFrameIndex; +}; + +class SoundSourceProviderFFmpeg31: public SoundSourceProvider { + public: + SoundSourceProviderFFmpeg31(); + + QString getName() const override; + + SoundSourceProviderPriority getPriorityHint( + const QString& supportedFileExtension) const override; + + QStringList getSupportedFileExtensions() const override; + + SoundSourcePointer newSoundSource(const QUrl& url) override { + return newSoundSourceFromUrl(url); + } +}; + +} // namespace mixxx + + +#endif // MIXXX_SoundSourceFFmpeg31_H diff --git a/src/sources/soundsourceopus.cpp b/src/sources/soundsourceopus.cpp index 4e153c82065..2e3bf276a02 100644 --- a/src/sources/soundsourceopus.cpp +++ b/src/sources/soundsourceopus.cpp @@ -4,10 +4,6 @@ namespace mixxx { -// Depends on kNumberOfPrefetchFrames (see below) -//static -const CSAMPLE SoundSourceOpus::kMaxDecodingError = 0.01f; - namespace { const Logger kLogger("SoundSourceOpus"); @@ -20,7 +16,17 @@ constexpr AudioSignal::SampleRate kSampleRate = AudioSignal::SampleRate(48000); // - Frame sizes from 2.5 ms to 60 ms // => Up to 48000 kHz * 0.06 s = 2880 sample frames per data frame // Prefetching 2 * 2880 sample frames while seeking limits the decoding -// errors to kMaxDecodingError (see definition below) during our tests. +// errors to kMaxDecodingError during our tests. +// +// According to the API documentation of op_pcm_seek(): +// "...decoding after seeking may not return exactly the same +// values as would be obtained by decoding the stream straight +// through. However, such differences are expected to be smaller +// than the loss introduced by Opus's lossy compression." +// This implementation internally uses prefetching to compensate +// those differences, although not completely. The following +// constant indicates the maximum expected difference for +// testing purposes. constexpr SINT kNumberOfPrefetchFrames = 2 * 2880; // Parameter for op_channel_count() diff --git a/src/sources/soundsourceopus.h b/src/sources/soundsourceopus.h index 12014160472..426b2c10de2 100644 --- a/src/sources/soundsourceopus.h +++ b/src/sources/soundsourceopus.h @@ -11,17 +11,6 @@ namespace mixxx { class SoundSourceOpus final : public SoundSource { public: - // According to the API documentation of op_pcm_seek(): - // "...decoding after seeking may not return exactly the same - // values as would be obtained by decoding the stream straight - // through. However, such differences are expected to be smaller - // than the loss introduced by Opus's lossy compression." - // This implementation internally uses prefetching to compensate - // those differences, although not completely. The following - // constant indicates the maximum expected difference for - // testing purposes. - static const CSAMPLE kMaxDecodingError; - explicit SoundSourceOpus(const QUrl& url); ~SoundSourceOpus() override; diff --git a/src/sources/soundsourceproxy.cpp b/src/sources/soundsourceproxy.cpp index b2991818449..8defe790ad0 100644 --- a/src/sources/soundsourceproxy.cpp +++ b/src/sources/soundsourceproxy.cpp @@ -21,6 +21,9 @@ #ifdef __FFMPEGFILE__ #include "sources/soundsourceffmpeg.h" #endif +#ifdef __FFMPEG31__ +#include "sources/soundsourceffmpeg31.h" +#endif #ifdef __MODPLUG__ #include "sources/soundsourcemodplug.h" #endif @@ -86,6 +89,10 @@ void SoundSourceProxy::registerSoundSourceProviders() { s_soundSourceProviders.registerProvider( std::make_shared()); #endif +#ifdef __FFMPEG31__ + s_soundSourceProviders.registerProvider( + std::make_shared()); +#endif #ifdef __SNDFILE__ // libsndfile is another fallback s_soundSourceProviders.registerProvider( diff --git a/src/test/coverartutils_test.cpp b/src/test/coverartutils_test.cpp index 38c441d1a5c..040ab9d3419 100644 --- a/src/test/coverartutils_test.cpp +++ b/src/test/coverartutils_test.cpp @@ -71,7 +71,11 @@ TEST_F(CoverArtUtilTest, extractEmbeddedCover) { if (isSupportedFileExtension("m4a")) { extractEmbeddedCover( - kTestDir.absoluteFilePath("cover-test.m4a"), pToken, referencePNGImage); + kTestDir.absoluteFilePath("cover-test-itunes-12.3.0-aac.m4a"), pToken, referencePNGImage); + extractEmbeddedCover( + kTestDir.absoluteFilePath("cover-test-itunes-12.7.0-aac.m4a"), pToken, referencePNGImage); + extractEmbeddedCover( + kTestDir.absoluteFilePath("cover-test-itunes-12.7.0-alac.m4a"), pToken, referencePNGImage); } if (isSupportedFileExtension("mp3")) { diff --git a/src/test/id3-test-data/cover-test.m4a b/src/test/id3-test-data/cover-test-itunes-12.3.0-aac.m4a similarity index 100% rename from src/test/id3-test-data/cover-test.m4a rename to src/test/id3-test-data/cover-test-itunes-12.3.0-aac.m4a diff --git a/src/test/id3-test-data/cover-test-itunes-12.7.0-aac.m4a b/src/test/id3-test-data/cover-test-itunes-12.7.0-aac.m4a new file mode 100644 index 0000000000000000000000000000000000000000..4247e76e5f4e3b1bb2c4145a0f632c075dcb7e99 GIT binary patch literal 373709 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

f0hL29CfyQA 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

Q&i@As$Ibs;!zYm#;F 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⪻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 `?lW{vrBa;jI+FliuTKl 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 z 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�^Bc@e=IVOEWIDd}Ni7dxpmsBPo}+;r%+A(biNa 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
I{U$UDEgQ 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 uPHe4nD;G64=t zF1BN3#ey`CpnFqf@>cSQ<%oLf*Twu_7h1&u4U${~q=-zgqo(LPLZn@8*h%YSaUzG>Tg*E+pud zXr`_eM>eM46>=*nBr2+>De7lYIIQH$@?5}}s03k1$&FOC2ADQC;!NqCt|9MpqT?q{ zuhrX}G!2x=M3T8=j>}}&-kCc|!oOtsCZ1-hgIp9dX{=X6`L_L;xD!O;gB#VgIosW* z)|+o9#vLi7tf=wO%q7cydFt6Tr{juL%IO4%waE{7u z7ZI}0L8g^zsbM4Vi>tHo=jyI&0x*qlwBvSCK3uNe&SP&DcrFX9L_+i@o%oSxZWikN zUH=@I4jJWeqaEVox998l;F_z9u=<6;XDH+1hOzb=Otw>&_@iqo8#9YqHrJGVhVZNG zwW8W=1VD<2tCG=5yoJ?Y0E5t&4A3MIYPx%WXWzjtieZ-0;!wk+&8|(HS}eAVm12uE zRi@Lv*qxkjmx?`U*B4eE*^H24Eikea26OdU$ZT@Od+|g>&ZO4;iQq2WUtRuTayFxB zin3KaS&+>0MaWO zh7@h#pEf*M@kv{9FE$pK5PIaa`IpX}4!vDG|1Op^(}@)XP`ToR@*fj(CnT4|4Rl9# zFo|AUJ+*fWJ|foIPBA2tN3>N7J^ak@li!!Aq4FLzHg)PAi!(`?JoESP+`EYbMUWUo z3ellnPG7bOC#c%Z!b6CnZ1_{A+^EKFyMj5Rsg*AiS&bMoh;kD>TKPSGoCA;sQJ|`; zG*;)HYE!Wof}9*uDKHf3$uFBXlKqLE%#EeEh9R)yp6)uWZvy!Ze2&8TmpkLrK75rM zh&Y?g)%0A9iYXLTRO$znecOHXClY&hROYajWQ(>; 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 GSNuPp@c?)L literal 0 HcmV?d00001 diff --git a/src/test/soundproxy_test.cpp b/src/test/soundproxy_test.cpp index 84702a10b0d..211e23c5e2d 100644 --- a/src/test/soundproxy_test.cpp +++ b/src/test/soundproxy_test.cpp @@ -35,6 +35,8 @@ const SINT kBufferSizes[] = { const SINT kMaxReadFrameCount = kBufferSizes[sizeof(kBufferSizes) / sizeof(kBufferSizes[0]) - 1]; +const CSAMPLE kMaxDecodingError = 0.01f; + } // anonymous namespace class SoundSourceProxyTest: public MixxxTest { @@ -44,8 +46,13 @@ class SoundSourceProxyTest: public MixxxTest { availableFileNameSuffixes << ".aiff" << ".flac" - << ".m4a" + << "-itunes-12.3.0-aac.m4a" + << "-itunes-12.7.0-aac.m4a" +#if defined(__FFMPEG31__) || defined(__COREAUDIO__) + << "-itunes-12.7.0-alac.m4a" +#endif << "-png.mp3" + << "-vbr.mp3" << ".ogg" << ".opus" << ".wav" @@ -109,24 +116,11 @@ class SoundSourceProxyTest: public MixxxTest { const CSAMPLE* expected, const CSAMPLE* actual, const char* errorMessage) { - for (SINT i = 0; i < size; ++i) { - EXPECT_EQ(expected[i], actual[i]) << errorMessage; - } - } - -#ifdef __OPUS__ - // Known issue: Decoding with libopus is not sample accurate - static void expectDecodedSamplesEqualOpus( - SINT size, - const CSAMPLE* expected, - const CSAMPLE* actual, - const char* errorMessage) { for (SINT i = 0; i < size; ++i) { EXPECT_NEAR(expected[i], actual[i], - mixxx::SoundSourceOpus::kMaxDecodingError) << errorMessage; + kMaxDecodingError) << errorMessage; } } -#endif // __OPUS__ mixxx::IndexRange skipSampleFrames( mixxx::AudioSourcePointer pAudioSource, @@ -283,23 +277,11 @@ TEST_F(SoundSourceProxyTest, seekForwardBackward) { // Both buffers should be equal ASSERT_EQ(contSampleFrames.frameIndexRange(), seekSampleFrames.frameIndexRange()); -#ifdef __OPUS__ - if (filePath.endsWith(".opus")) { - expectDecodedSamplesEqualOpus( - sampleCount, - &contReadData[0], - &seekReadData[0], - "Decoding mismatch after seeking forward"); - } else { -#endif // __OPUS__ - expectDecodedSamplesEqual( - sampleCount, - &contReadData[0], - &seekReadData[0], - "Decoding mismatch after seeking forward"); -#ifdef __OPUS__ - } -#endif // __OPUS__ + expectDecodedSamplesEqual( + sampleCount, + &contReadData[0], + &seekReadData[0], + "Decoding mismatch after seeking forward"); // Seek backwards to beginning of chunk and read again seekSampleFrames = @@ -310,23 +292,11 @@ TEST_F(SoundSourceProxyTest, seekForwardBackward) { // Both buffers should again be equal ASSERT_EQ(contSampleFrames.frameIndexRange(), seekSampleFrames.frameIndexRange()); -#ifdef __OPUS__ - if (filePath.endsWith(".opus")) { - expectDecodedSamplesEqualOpus( - sampleCount, - &contReadData[0], - &seekReadData[0], - "Decoding mismatch after seeking backward"); - } else { -#endif // __OPUS__ - expectDecodedSamplesEqual( - sampleCount, - &contReadData[0], - &seekReadData[0], - "Decoding mismatch after seeking backward"); -#ifdef __OPUS__ - } -#endif // __OPUS__ + expectDecodedSamplesEqual( + sampleCount, + &contReadData[0], + &seekReadData[0], + "Decoding mismatch after seeking backward"); } } } @@ -421,23 +391,11 @@ TEST_F(SoundSourceProxyTest, skipAndRead) { // Both buffers should be equal ASSERT_EQ(contSampleFrames.frameIndexRange(), skippedSampleFrames.frameIndexRange()); - #ifdef __OPUS__ - if (filePath.endsWith(".opus")) { - expectDecodedSamplesEqualOpus( - sampleCount, - &contReadData[0], - &skipReadData[0], - "Decoding mismatch after skipping"); - } else { - #endif // __OPUS__ - expectDecodedSamplesEqual( - sampleCount, - &contReadData[0], - &skipReadData[0], - "Decoding mismatch after skipping"); - #ifdef __OPUS__ - } - #endif // __OPUS__ + expectDecodedSamplesEqual( + sampleCount, + &contReadData[0], + &skipReadData[0], + "Decoding mismatch after skipping"); minFrameIndex = contFrameIndex; } @@ -546,23 +504,11 @@ TEST_F(SoundSourceProxyTest, seekBoundaries) { const SINT sampleCount = pSeekReadSource->frames2samples(seekSampleFrames.frameLength()); - #ifdef __OPUS__ - if (filePath.endsWith(".opus")) { - expectDecodedSamplesEqualOpus( - sampleCount, - &contReadData[0], - &seekReadData[0], - "Decoding mismatch after seeking"); - } else { - #endif // __OPUS__ - expectDecodedSamplesEqual( - sampleCount, - &contReadData[0], - &seekReadData[0], - "Decoding mismatch after seeking"); - #ifdef __OPUS__ - } - #endif // __OPUS__ + expectDecodedSamplesEqual( + sampleCount, + &contReadData[0], + &seekReadData[0], + "Decoding mismatch after seeking"); } } } diff --git a/src/test/trackexport_test.cpp b/src/test/trackexport_test.cpp index 7877315fb6c..e7eee6d26ce 100644 --- a/src/test/trackexport_test.cpp +++ b/src/test/trackexport_test.cpp @@ -40,7 +40,7 @@ TEST_F(TrackExporterTest, SimpleListExport) { TrackPointer track1(Track::newTemporary(fileinfo1)); QFileInfo fileinfo2(m_testDataDir.filePath("cover-test.flac")); TrackPointer track2(Track::newTemporary(fileinfo2)); - QFileInfo fileinfo3(m_testDataDir.filePath("cover-test.m4a")); + QFileInfo fileinfo3(m_testDataDir.filePath("cover-test-itunes-12.3.0-aac.m4a")); TrackPointer track3(Track::newTemporary(fileinfo3)); // An initializer list would be prettier here, but it doesn't compile @@ -61,7 +61,7 @@ TEST_F(TrackExporterTest, SimpleListExport) { // The destination folder should have all the files. EXPECT_TRUE(QFileInfo(m_exportDir.filePath("cover-test.ogg")).exists()); EXPECT_TRUE(QFileInfo(m_exportDir.filePath("cover-test.flac")).exists()); - EXPECT_TRUE(QFileInfo(m_exportDir.filePath("cover-test.m4a")).exists()); + EXPECT_TRUE(QFileInfo(m_exportDir.filePath("cover-test-itunes-12.3.0-aac.m4a")).exists()); } TEST_F(TrackExporterTest, OverwriteSkip) { @@ -70,7 +70,7 @@ TEST_F(TrackExporterTest, OverwriteSkip) { QFileInfo fileinfo1(m_testDataDir.filePath("cover-test.ogg")); const qint64 fileSize1 = fileinfo1.size(); TrackPointer track1(Track::newTemporary(fileinfo1)); - QFileInfo fileinfo2(m_testDataDir.filePath("cover-test.m4a")); + QFileInfo fileinfo2(m_testDataDir.filePath("cover-test-itunes-12.3.0-aac.m4a")); TrackPointer track2(Track::newTemporary(fileinfo2)); // Create empty versions at the destination so we can see if we actually @@ -78,7 +78,7 @@ TEST_F(TrackExporterTest, OverwriteSkip) { QFile file1(m_exportDir.filePath("cover-test.ogg")); ASSERT_TRUE(file1.open(QIODevice::WriteOnly)); file1.close(); - QFile file2(m_exportDir.filePath("cover-test.m4a")); + QFile file2(m_exportDir.filePath("cover-test-itunes-12.3.0-aac.m4a")); ASSERT_TRUE(file2.open(QIODevice::WriteOnly)); file2.close(); @@ -105,7 +105,7 @@ TEST_F(TrackExporterTest, OverwriteSkip) { EXPECT_TRUE(newfile1.exists()); EXPECT_EQ(fileSize1, newfile1.size()); - QFileInfo newfile2(m_exportDir.filePath("cover-test.m4a")); + QFileInfo newfile2(m_exportDir.filePath("cover-test-itunes-12.3.0-aac.m4a")); EXPECT_TRUE(newfile2.exists()); EXPECT_EQ(0, newfile2.size()); } @@ -115,7 +115,7 @@ TEST_F(TrackExporterTest, OverwriteAll) { QFileInfo fileinfo1(m_testDataDir.filePath("cover-test.ogg")); const qint64 fileSize1 = fileinfo1.size(); TrackPointer track1(Track::newTemporary(fileinfo1)); - QFileInfo fileinfo2(m_testDataDir.filePath("cover-test.m4a")); + QFileInfo fileinfo2(m_testDataDir.filePath("cover-test-itunes-12.3.0-aac.m4a")); const qint64 fileSize2 = fileinfo2.size(); TrackPointer track2(Track::newTemporary(fileinfo2)); @@ -124,7 +124,7 @@ TEST_F(TrackExporterTest, OverwriteAll) { QFile file1(m_exportDir.filePath("cover-test.ogg")); ASSERT_TRUE(file1.open(QIODevice::WriteOnly)); file1.close(); - QFile file2(m_exportDir.filePath("cover-test.m4a")); + QFile file2(m_exportDir.filePath("cover-test-itunes-12.3.0-aac.m4a")); ASSERT_TRUE(file2.open(QIODevice::WriteOnly)); file2.close(); @@ -148,7 +148,7 @@ TEST_F(TrackExporterTest, OverwriteAll) { EXPECT_TRUE(newfile1.exists()); EXPECT_EQ(fileSize1, newfile1.size()); - QFileInfo newfile2(m_exportDir.filePath("cover-test.m4a")); + QFileInfo newfile2(m_exportDir.filePath("cover-test-itunes-12.3.0-aac.m4a")); EXPECT_TRUE(newfile2.exists()); EXPECT_EQ(fileSize2, newfile2.size()); } @@ -157,7 +157,7 @@ TEST_F(TrackExporterTest, SkipAll) { // Export a tracklist with two existing tracks -- skip both. QFileInfo fileinfo1(m_testDataDir.filePath("cover-test.ogg")); TrackPointer track1(Track::newTemporary(fileinfo1)); - QFileInfo fileinfo2(m_testDataDir.filePath("cover-test.m4a")); + QFileInfo fileinfo2(m_testDataDir.filePath("cover-test-itunes-12.3.0-aac.m4a")); TrackPointer track2(Track::newTemporary(fileinfo2)); // Create empty versions at the destination so we can see if we actually @@ -165,7 +165,7 @@ TEST_F(TrackExporterTest, SkipAll) { QFile file1(m_exportDir.filePath("cover-test.ogg")); ASSERT_TRUE(file1.open(QIODevice::WriteOnly)); file1.close(); - QFile file2(m_exportDir.filePath("cover-test.m4a")); + QFile file2(m_exportDir.filePath("cover-test-itunes-12.3.0-aac.m4a")); ASSERT_TRUE(file2.open(QIODevice::WriteOnly)); file2.close(); @@ -189,7 +189,7 @@ TEST_F(TrackExporterTest, SkipAll) { EXPECT_TRUE(newfile1.exists()); EXPECT_EQ(0, newfile1.size()); - QFileInfo newfile2(m_exportDir.filePath("cover-test.m4a")); + QFileInfo newfile2(m_exportDir.filePath("cover-test-itunes-12.3.0-aac.m4a")); EXPECT_TRUE(newfile2.exists()); EXPECT_EQ(0, newfile2.size()); } @@ -199,12 +199,12 @@ TEST_F(TrackExporterTest, Cancel) { // anything. QFileInfo fileinfo1(m_testDataDir.filePath("cover-test.ogg")); TrackPointer track1(Track::newTemporary(fileinfo1)); - QFileInfo fileinfo2(m_testDataDir.filePath("cover-test.m4a")); + QFileInfo fileinfo2(m_testDataDir.filePath("cover-test-itunes-12.3.0-aac.m4a")); TrackPointer track2(Track::newTemporary(fileinfo2)); // Create empty version at the destination so we can see if we actually // canceled. - QFile file2(m_exportDir.filePath("cover-test.m4a")); + QFile file2(m_exportDir.filePath("cover-test-itunes-12.3.0-aac.m4a")); ASSERT_TRUE(file2.open(QIODevice::WriteOnly)); file2.close(); @@ -228,7 +228,7 @@ TEST_F(TrackExporterTest, Cancel) { QFileInfo newfile1(m_exportDir.filePath("cover-test.ogg")); EXPECT_FALSE(newfile1.exists()); - QFileInfo newfile2(m_exportDir.filePath("cover-test.m4a")); + QFileInfo newfile2(m_exportDir.filePath("cover-test-itunes-12.3.0-aac.m4a")); EXPECT_TRUE(newfile2.exists()); EXPECT_EQ(0, newfile2.size()); } From c511ed22bc9166fffad5c2326260fc17f90deb6f Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Wed, 2 May 2018 08:30:56 +0200 Subject: [PATCH 02/43] Exclude deprecated init function --- src/sources/soundsourceffmpeg.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/sources/soundsourceffmpeg.cpp b/src/sources/soundsourceffmpeg.cpp index d1525dcd01c..d4d8fa92ce2 100644 --- a/src/sources/soundsourceffmpeg.cpp +++ b/src/sources/soundsourceffmpeg.cpp @@ -25,7 +25,9 @@ std::once_flag initFFmpegLibFlag; // This function must be called once during startup. void initFFmpegLib() { +#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 9, 100) av_register_all(); +#endif avcodec_register_all(); } From 37f3a0a90cbee5cf2a297beed909e9e6efcb6ec7 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Wed, 19 Sep 2018 02:08:21 +0200 Subject: [PATCH 03/43] Fix deprecation warnings --- src/sources/soundsourceffmpeg31.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/sources/soundsourceffmpeg31.cpp b/src/sources/soundsourceffmpeg31.cpp index c1e5dbfd1da..7534cfd494a 100644 --- a/src/sources/soundsourceffmpeg31.cpp +++ b/src/sources/soundsourceffmpeg31.cpp @@ -32,12 +32,17 @@ const Logger kLogger("SoundSourceFFmpeg31"); std::once_flag initFFmpegLibFlag; +// FFmpeg API Changes: +// https://github.com/FFmpeg/FFmpeg/blob/master/doc/APIchanges + // This function must be called once during startup. void initFFmpegLib() { #if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 9, 100) av_register_all(); #endif +#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 10, 100) avcodec_register_all(); +#endif } uint64_t fixChannelLayout(uint64_t channel_layout, int channels) { @@ -214,6 +219,7 @@ void avTrace(const char* preamble, const AVStream& avStream) { } } +/* inline void avTrace(const char* preamble, const AVPacket& avPacket) { if (kLogger.traceEnabled()) { @@ -243,6 +249,7 @@ void avTrace(const char* preamble, const AVFrame& avFrame) { << '}'; } } +*/ AVFormatContext* openInputFile( const QString& fileName) { @@ -349,10 +356,16 @@ SoundSourceProviderFFmpeg31::SoundSourceProviderFFmpeg31() { QStringList SoundSourceProviderFFmpeg31::getSupportedFileExtensions() const { QStringList list; - AVInputFormat *pavInputFormat = nullptr; // Collect all supported formats (whitelist) +#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 9, 100) + AVInputFormat* pavInputFormat = nullptr; while ((pavInputFormat = av_iformat_next(pavInputFormat))) { +#else + const AVInputFormat* pavInputFormat = nullptr; + void* iInputFormat = 0; + while ((pavInputFormat = av_demuxer_iterate(&iInputFormat))) { +#endif if (pavInputFormat->flags | AVFMT_SEEK_TO_PTS) { /////////////////////////////////////////////////////////// // Whitelist of tested codecs (including variants) @@ -536,8 +549,10 @@ SoundSource::OpenResult SoundSourceFFmpeg31::tryOpen( return SoundSource::OpenResult::Aborted; } +#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 18, 100) // Align the time base of the context with that of the selected stream av_codec_set_pkt_timebase(pavCodecContext, pavStream->time_base); +#endif // Request output format pavCodecContext->request_sample_fmt = kavSampleFormat; From fe20da51cee1bc735b5a4df799987a39d6326eb9 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Tue, 2 Oct 2018 00:14:55 +0200 Subject: [PATCH 04/43] Fix conversion between decoded stream time and frame index --- src/sources/soundsourceffmpeg31.cpp | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/src/sources/soundsourceffmpeg31.cpp b/src/sources/soundsourceffmpeg31.cpp index 7534cfd494a..c350dbd0d3a 100644 --- a/src/sources/soundsourceffmpeg31.cpp +++ b/src/sources/soundsourceffmpeg31.cpp @@ -116,32 +116,31 @@ int64_t getStreamDuration(const AVStream& avStream) { } inline -SINT convertStreamTimeToFrameIndex(const AVStream& avStream, int64_t ts) { +SINT convertStreamTimeToFrameIndex(const AVStream& avStream, int64_t pts) { + // NOTE(uklotzde): A value getStreamStartTime(avStream) > 0 must not + // be substracted from pts! Decoding will always start at pts = 0 and + // samples until the start_time are silently ignored. return kMinFrameIndex + av_rescale_q( - ts - getStreamStartTime(avStream), + pts, avStream.time_base, (AVRational) {1, avStream.codecpar->sample_rate}); } inline int64_t convertFrameIndexToStreamTime(const AVStream& avStream, SINT frameIndex) { - return getStreamStartTime(avStream) + - av_rescale_q( - frameIndex - kMinFrameIndex, - (AVRational) {1, avStream.codecpar->sample_rate}, - avStream.time_base); + // See also: convertStreamTimeToFrameIndex(), e.g. pts = 0 at + // frameIndex = kMinFrameIndex! + return av_rescale_q( + frameIndex - kMinFrameIndex, + (AVRational) {1, avStream.codecpar->sample_rate}, + avStream.time_base); } IndexRange getStreamFrameIndexRange(const AVStream& avStream) { - const auto start_time = - getStreamStartTime(avStream); - const auto end_time = - start_time + getStreamDuration(avStream); - DEBUG_ASSERT(start_time <= end_time); - return IndexRange::between( - convertStreamTimeToFrameIndex(avStream, start_time), - convertStreamTimeToFrameIndex(avStream, end_time)); + return IndexRange::forward( + kMinFrameIndex, + convertStreamTimeToFrameIndex(avStream, getStreamDuration(avStream))); } SINT getStreamSeekPrerollFrameCount(const AVStream& avStream) { From 85e424a5eb4f400de613f4115f8e7753960744cc Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Tue, 2 Oct 2018 00:16:02 +0200 Subject: [PATCH 05/43] Fix pointer initialization before reading decoded sample data --- src/sources/soundsourceffmpeg31.cpp | 66 ++++++++++++++--------------- 1 file changed, 32 insertions(+), 34 deletions(-) diff --git a/src/sources/soundsourceffmpeg31.cpp b/src/sources/soundsourceffmpeg31.cpp index c350dbd0d3a..1d5d905b9e8 100644 --- a/src/sources/soundsourceffmpeg31.cpp +++ b/src/sources/soundsourceffmpeg31.cpp @@ -1033,41 +1033,38 @@ ReadableSampleFrames SoundSourceFFmpeg31::readSampleFramesClamped( // (see below). if (m_pSwrContext && (frameRange.end() > writableRange.start())) { - // Resample decoded frame - if (m_pSwrContext) { - // Decoded frame must be resampled before reading - m_pavResampledFrame->channel_layout = m_avResampledChannelLayout; - m_pavResampledFrame->sample_rate = sampleRate(); - m_pavResampledFrame->format = kavSampleFormat; - if (m_pavDecodedFrame->channel_layout == 0) { - // Sometimes the channel layout is undefined. - // See also: fixChannelLayout() - m_pavDecodedFrame->channel_layout = m_avStreamChannelLayout; - } - //avTrace("Resampling decoded frame", *m_pavDecodedFrame); - const auto swr_convert_frame_result = - swr_convert_frame( - m_pSwrContext, - m_pavResampledFrame, - m_pavDecodedFrame); - if (swr_convert_frame_result != 0) { - kLogger.warning() - << "swr_convert_frame() failed:" - << formatErrorMessage(swr_convert_frame_result).toLocal8Bit().constData(); - // Abort reading - av_frame_unref(m_pavDecodedFrame); - m_curFrameIndex = kInvalidFrameIndex; - break; - } - //avTrace("Received resampled frame", *m_pavResampledFrame); - DEBUG_ASSERT(m_pavDecodedFrame->pts = m_pavResampledFrame->pts); - DEBUG_ASSERT(m_pavDecodedFrame->nb_samples = m_pavResampledFrame->nb_samples); - pDecodedSampleData = reinterpret_cast( - m_pavResampledFrame->extended_data[0]); - } else { - pDecodedSampleData = reinterpret_cast( - m_pavDecodedFrame->extended_data[0]); + // Decoded frame must be resampled before reading + m_pavResampledFrame->channel_layout = m_avResampledChannelLayout; + m_pavResampledFrame->sample_rate = sampleRate(); + m_pavResampledFrame->format = kavSampleFormat; + if (m_pavDecodedFrame->channel_layout == 0) { + // Sometimes the channel layout is undefined. + // See also: fixChannelLayout() + m_pavDecodedFrame->channel_layout = m_avStreamChannelLayout; } + //avTrace("Resampling decoded frame", *m_pavDecodedFrame); + const auto swr_convert_frame_result = + swr_convert_frame( + m_pSwrContext, + m_pavResampledFrame, + m_pavDecodedFrame); + if (swr_convert_frame_result != 0) { + kLogger.warning() + << "swr_convert_frame() failed:" + << formatErrorMessage(swr_convert_frame_result).toLocal8Bit().constData(); + // Abort reading + av_frame_unref(m_pavDecodedFrame); + m_curFrameIndex = kInvalidFrameIndex; + break; + } + //avTrace("Received resampled frame", *m_pavResampledFrame); + DEBUG_ASSERT(m_pavDecodedFrame->pts = m_pavResampledFrame->pts); + DEBUG_ASSERT(m_pavDecodedFrame->nb_samples = m_pavResampledFrame->nb_samples); + pDecodedSampleData = reinterpret_cast( + m_pavResampledFrame->extended_data[0]); + } else { + pDecodedSampleData = reinterpret_cast( + m_pavDecodedFrame->extended_data[0]); } // readFrameIndex @@ -1083,6 +1080,7 @@ ReadableSampleFrames SoundSourceFFmpeg31::readSampleFramesClamped( m_curFrameIndex = kInvalidFrameIndex; break; } + DEBUG_ASSERT(pDecodedSampleData); const auto preskipMissingFrameCount = math_min(missingFrameCount, writableRange.start() - readFrameIndex); missingFrameCount -= preskipMissingFrameCount; From a7e58f50c0f5b4b740e2215b9a23f36b5258fa49 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Tue, 2 Oct 2018 00:35:26 +0200 Subject: [PATCH 06/43] Adjust priority of FFmpeg SoundSource --- src/sources/soundsourceffmpeg31.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/sources/soundsourceffmpeg31.cpp b/src/sources/soundsourceffmpeg31.cpp index 1d5d905b9e8..e91ca9b729a 100644 --- a/src/sources/soundsourceffmpeg31.cpp +++ b/src/sources/soundsourceffmpeg31.cpp @@ -1253,10 +1253,10 @@ QString SoundSourceProviderFFmpeg31::getName() const { SoundSourceProviderPriority SoundSourceProviderFFmpeg31::getPriorityHint( const QString& /*supportedFileExtension*/) const { - // Decoding through FFmpeg should be available on many platforms and - // will be(-come) the best tested variant. Prefer it even over custom - // decoders that are registered with default priority. - return SoundSourceProviderPriority::HIGHER; + // TODO: Increase priority to HIGHER if FFmpeg should be used as the + // default decoder instead of other SoundSources. Currently it is + // only used as a fallback. + return SoundSourceProviderPriority::LOWER; } } // namespace mixxx From f21fe32ff344794c18a6d4ff17aa247b9b568226 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Fri, 8 Feb 2019 12:37:45 +0100 Subject: [PATCH 07/43] Fix decoding for FFmpeg 4.x --- src/sources/soundsourceffmpeg31.cpp | 30 +++-------------------------- 1 file changed, 3 insertions(+), 27 deletions(-) diff --git a/src/sources/soundsourceffmpeg31.cpp b/src/sources/soundsourceffmpeg31.cpp index e91ca9b729a..c988b8668e8 100644 --- a/src/sources/soundsourceffmpeg31.cpp +++ b/src/sources/soundsourceffmpeg31.cpp @@ -88,41 +88,17 @@ int64_t getStreamStartTime(const AVStream& avStream) { return fixStartTime(avStream.start_time); } +inline int64_t getStreamDuration(const AVStream& avStream) { DEBUG_ASSERT(avStream.duration >= 0); - const auto start_time = getStreamStartTime(avStream); - if ((start_time > 0) && (avStream.codecpar->codec_id == AV_CODEC_ID_AAC)) { - // NOTE(uklotzde): iTunes 12.3.0 (and maybe other versions) sets the - // start_time to 2112 (= seek_preroll). The specified duration of the - // stream does not take this into account, see the test file cover-test.m4a - // for an example. As a workaround the value in duration must be interpreted - // as the end time instead and the actual duration is 2112 samples short!! - // This workaround is effective for all AAC files with a start time > 0, - // because we are not able to distinguish them properly. The only drawback - // is that some samples at the end might be cut off. - // Discussion: http://ffmpeg.org/pipermail/libav-user/2017-October/010623.html - const auto duration_offset = math_min(start_time, avStream.duration); - const auto fixed_duration = avStream.duration - duration_offset; - kLogger.info() - << "Workaround for bug in iTunes 12.3.0 (and maybe other versions):" - << "Reducing stream duration from" - << avStream.duration - << "to" - << fixed_duration; - return fixed_duration; - } else { - return avStream.duration; - } + return avStream.duration; } inline SINT convertStreamTimeToFrameIndex(const AVStream& avStream, int64_t pts) { - // NOTE(uklotzde): A value getStreamStartTime(avStream) > 0 must not - // be substracted from pts! Decoding will always start at pts = 0 and - // samples until the start_time are silently ignored. return kMinFrameIndex + av_rescale_q( - pts, + pts - getStreamStartTime(avStream), avStream.time_base, (AVRational) {1, avStream.codecpar->sample_rate}); } From adb6c4975b733a4efba44de0dd1041bd0741623c Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Fri, 8 Feb 2019 12:54:13 +0100 Subject: [PATCH 08/43] Increase required FFmpeg version from 3.1 to 4.0 --- SConstruct | 2 +- build/features.py | 27 ++++++------ ...rceffmpeg31.cpp => soundsourceffmpeg4.cpp} | 42 +++++++++---------- ...dsourceffmpeg31.h => soundsourceffmpeg4.h} | 18 ++++---- src/sources/soundsourceproxy.cpp | 8 ++-- src/test/soundproxy_test.cpp | 6 ++- 6 files changed, 53 insertions(+), 50 deletions(-) rename src/sources/{soundsourceffmpeg31.cpp => soundsourceffmpeg4.cpp} (97%) rename src/sources/{soundsourceffmpeg31.h => soundsourceffmpeg4.h} (92%) diff --git a/SConstruct b/SConstruct index 62500c8ac61..0e6a54dd4b5 100644 --- a/SConstruct +++ b/SConstruct @@ -61,9 +61,9 @@ available_features = [features.Mad, features.PerfTools, features.AsmLib, features.FFMPEG, - features.FFMPEG31, # Experimental features + features.FFMPEG4, features.OpenGLES, features.QtKeychain ] diff --git a/build/features.py b/build/features.py index 0c62ecadbf6..4dc53b2c467 100644 --- a/build/features.py +++ b/build/features.py @@ -860,19 +860,18 @@ def sources(self, build): 'src/encoder/encoderffmpegvorbis.cpp'] -class FFMPEG31(Feature): +class FFMPEG4(Feature): def description(self): - return "FFmpeg 3.1 support" + return "FFmpeg 4.x support" def enabled(self, build): - build.flags['ffmpeg31'] = util.get_flags(build.env, 'ffmpeg31', 0) - if int(build.flags['ffmpeg31']): + build.flags['ffmpeg4'] = util.get_flags(build.env, 'ffmpeg4', 0) + if int(build.flags['ffmpeg4']): return True return False def add_options(self, build, vars): - vars.Add('ffmpeg31', 'Set to 1 to enable FFmpeg 3.1 support \ - (supported FFmpeg >= 3.1)', 0) + vars.Add('ffmpeg4', 'Set to 1 to enable FFmpeg 4.x support', 0) def configure(self, build, conf): if not self.enabled(build): @@ -882,16 +881,16 @@ def configure(self, build, conf): if build.platform_is_linux or build.platform_is_osx \ or build.platform_is_bsd: # Check for libavcodec, libavformat - if not conf.CheckForPKG('libavcodec', '57.48.0'): + if not conf.CheckForPKG('libavcodec', '58'): raise Exception('Missing libavcodec or it\'s too old! It can' 'be separated from main package so check your' 'operating system packages.') - if not conf.CheckForPKG('libavformat', '53.21.0'): - raise Exception('Missing libavformat or it\'s too old!' + if not conf.CheckForPKG('libavformat', '58'): + raise Exception('Missing libavformat or it\'s too old!' 'It can be separated from main package so' 'check your operating system packages.') - if not conf.CheckForPKG('libswresample'): - raise Exception('Missing libswresample!' + if not conf.CheckForPKG('libswresample', '3.1'): + raise Exception('Missing libswresample or it\'s too old!' 'It can be separated from main package so' 'check your operating system packages.') @@ -910,15 +909,15 @@ def configure(self, build, conf): build.env.ParseConfig('pkg-config libavutil --silence-errors \ --cflags --libs') - build.env.Append(CPPDEFINES='__FFMPEG31__') + build.env.Append(CPPDEFINES='__FFMPEG4__') self.status = "Enabled" else: - raise Exception('Building with FFmpeg 3.1 is not supported' + raise Exception('Building with FFmpeg 4.x is not supported' 'for your platform') def sources(self, build): - return ['src/sources/soundsourceffmpeg31.cpp'] + return ['src/sources/soundsourceffmpeg4.cpp'] class Optimize(Feature): diff --git a/src/sources/soundsourceffmpeg31.cpp b/src/sources/soundsourceffmpeg4.cpp similarity index 97% rename from src/sources/soundsourceffmpeg31.cpp rename to src/sources/soundsourceffmpeg4.cpp index c988b8668e8..d0772a12f6d 100644 --- a/src/sources/soundsourceffmpeg31.cpp +++ b/src/sources/soundsourceffmpeg4.cpp @@ -1,4 +1,4 @@ -#include "sources/soundsourceffmpeg31.h" +#include "sources/soundsourceffmpeg4.h" #include "util/sample.h" #include "util/logger.h" @@ -28,7 +28,7 @@ const SINT kSamplesPerMP3Frame = 1152; // store decoded data that has not been read/consumed yet. const SINT kMinSampleBufferCapacity = 8192; -const Logger kLogger("SoundSourceFFmpeg31"); +const Logger kLogger("SoundSourceFFmpeg4"); std::once_flag initFFmpegLibFlag; @@ -262,7 +262,7 @@ bool openDecodingContext( } // anonymous namespace -void SoundSourceFFmpeg31::InputAVFormatContextPtr::take( +void SoundSourceFFmpeg4::InputAVFormatContextPtr::take( AVFormatContext** ppavInputFormatContext) { DEBUG_ASSERT(ppavInputFormatContext != nullptr); if (m_pavInputFormatContext != *ppavInputFormatContext) { @@ -272,7 +272,7 @@ void SoundSourceFFmpeg31::InputAVFormatContextPtr::take( } } -void SoundSourceFFmpeg31::InputAVFormatContextPtr::close() { +void SoundSourceFFmpeg4::InputAVFormatContextPtr::close() { if (m_pavInputFormatContext != nullptr) { avformat_close_input(&m_pavInputFormatContext); DEBUG_ASSERT(m_pavInputFormatContext == nullptr); @@ -280,8 +280,8 @@ void SoundSourceFFmpeg31::InputAVFormatContextPtr::close() { } //static -SoundSourceFFmpeg31::AVCodecContextPtr -SoundSourceFFmpeg31::AVCodecContextPtr::alloc( +SoundSourceFFmpeg4::AVCodecContextPtr +SoundSourceFFmpeg4::AVCodecContextPtr::alloc( const AVCodec* codec) { AVCodecContextPtr context(avcodec_alloc_context3(codec)); if (!context) { @@ -292,7 +292,7 @@ SoundSourceFFmpeg31::AVCodecContextPtr::alloc( return context; } -void SoundSourceFFmpeg31::AVCodecContextPtr::take(AVCodecContext** ppavCodecContext) { +void SoundSourceFFmpeg4::AVCodecContextPtr::take(AVCodecContext** ppavCodecContext) { DEBUG_ASSERT(ppavCodecContext != nullptr); if (m_pavCodecContext != *ppavCodecContext) { close(); @@ -301,14 +301,14 @@ void SoundSourceFFmpeg31::AVCodecContextPtr::take(AVCodecContext** ppavCodecCont } } -void SoundSourceFFmpeg31::AVCodecContextPtr::close() { +void SoundSourceFFmpeg4::AVCodecContextPtr::close() { if (m_pavCodecContext != nullptr) { avcodec_free_context(&m_pavCodecContext); m_pavCodecContext = nullptr; } } -void SoundSourceFFmpeg31::SwrContextPtr::take( +void SoundSourceFFmpeg4::SwrContextPtr::take( SwrContext** ppSwrContext) { DEBUG_ASSERT(m_pSwrContext != nullptr); if (m_pSwrContext != *ppSwrContext) { @@ -318,18 +318,18 @@ void SoundSourceFFmpeg31::SwrContextPtr::take( } } -void SoundSourceFFmpeg31::SwrContextPtr::close() { +void SoundSourceFFmpeg4::SwrContextPtr::close() { if (m_pSwrContext != nullptr) { swr_free(&m_pSwrContext); DEBUG_ASSERT(m_pSwrContext == nullptr); } } -SoundSourceProviderFFmpeg31::SoundSourceProviderFFmpeg31() { +SoundSourceProviderFFmpeg4::SoundSourceProviderFFmpeg4() { std::call_once(initFFmpegLibFlag, initFFmpegLib); } -QStringList SoundSourceProviderFFmpeg31::getSupportedFileExtensions() const { +QStringList SoundSourceProviderFFmpeg4::getSupportedFileExtensions() const { QStringList list; // Collect all supported formats (whitelist) @@ -382,7 +382,7 @@ QStringList SoundSourceProviderFFmpeg31::getSupportedFileExtensions() const { } else if (!strcmp(pavInputFormat->name, "flac")) { // FFmpeg failure causes test failure: // [flac @ 0x2ef2060] read_timestamp() failed in the middle - // SoundSourceFFmpeg31 - av_seek_frame() failed: Operation not permitted + // SoundSourceFFmpeg4 - av_seek_frame() failed: Operation not permitted list.append("flac"); continue; } else if (!strcmp(pavInputFormat->name, "ogg")) { @@ -433,7 +433,7 @@ QStringList SoundSourceProviderFFmpeg31::getSupportedFileExtensions() const { return list; } -SoundSourceFFmpeg31::SoundSourceFFmpeg31(const QUrl& url) +SoundSourceFFmpeg4::SoundSourceFFmpeg4(const QUrl& url) : SoundSource(url), m_pavStream(nullptr), m_pavDecodedFrame(nullptr), @@ -443,11 +443,11 @@ SoundSourceFFmpeg31::SoundSourceFFmpeg31(const QUrl& url) m_curFrameIndex(kInvalidFrameIndex) { } -SoundSourceFFmpeg31::~SoundSourceFFmpeg31() { +SoundSourceFFmpeg4::~SoundSourceFFmpeg4() { close(); } -SoundSource::OpenResult SoundSourceFFmpeg31::tryOpen( +SoundSource::OpenResult SoundSourceFFmpeg4::tryOpen( OpenMode /*mode*/, const OpenParams& params) { // Open input @@ -662,7 +662,7 @@ SoundSource::OpenResult SoundSourceFFmpeg31::tryOpen( return OpenResult::Succeeded; } -void SoundSourceFFmpeg31::close() { +void SoundSourceFFmpeg4::close() { av_frame_free(&m_pavResampledFrame); DEBUG_ASSERT(!m_pavResampledFrame); av_frame_free(&m_pavDecodedFrame); @@ -716,7 +716,7 @@ namespace { } } -ReadableSampleFrames SoundSourceFFmpeg31::readSampleFramesClamped( +ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( WritableSampleFrames writableSampleFrames) { CSAMPLE* pOutputSampleBuffer = writableSampleFrames.writableData(); auto writableRange = @@ -1223,11 +1223,11 @@ ReadableSampleFrames SoundSourceFFmpeg31::readSampleFramesClamped( frames2samples(readableRange.length()))); } -QString SoundSourceProviderFFmpeg31::getName() const { - return "FFmpeg31"; +QString SoundSourceProviderFFmpeg4::getName() const { + return "FFmpeg4"; } -SoundSourceProviderPriority SoundSourceProviderFFmpeg31::getPriorityHint( +SoundSourceProviderPriority SoundSourceProviderFFmpeg4::getPriorityHint( const QString& /*supportedFileExtension*/) const { // TODO: Increase priority to HIGHER if FFmpeg should be used as the // default decoder instead of other SoundSources. Currently it is diff --git a/src/sources/soundsourceffmpeg31.h b/src/sources/soundsourceffmpeg4.h similarity index 92% rename from src/sources/soundsourceffmpeg31.h rename to src/sources/soundsourceffmpeg4.h index e1810772cd1..ef94abb0a18 100644 --- a/src/sources/soundsourceffmpeg31.h +++ b/src/sources/soundsourceffmpeg4.h @@ -1,5 +1,5 @@ -#ifndef MIXXX_SoundSourceFFmpeg31_H -#define MIXXX_SoundSourceFFmpeg31_H +#ifndef MIXXX_SoundSourceFFmpeg4_H +#define MIXXX_SoundSourceFFmpeg4_H extern "C" { @@ -16,10 +16,10 @@ extern "C" { namespace mixxx { -class SoundSourceFFmpeg31 : public SoundSource { +class SoundSourceFFmpeg4 : public SoundSource { public: - explicit SoundSourceFFmpeg31(const QUrl& url); - ~SoundSourceFFmpeg31() override; + explicit SoundSourceFFmpeg4(const QUrl& url); + ~SoundSourceFFmpeg4() override; void close() override; @@ -166,9 +166,9 @@ class SoundSourceFFmpeg31 : public SoundSource { SINT m_curFrameIndex; }; -class SoundSourceProviderFFmpeg31: public SoundSourceProvider { +class SoundSourceProviderFFmpeg4: public SoundSourceProvider { public: - SoundSourceProviderFFmpeg31(); + SoundSourceProviderFFmpeg4(); QString getName() const override; @@ -178,11 +178,11 @@ class SoundSourceProviderFFmpeg31: public SoundSourceProvider { QStringList getSupportedFileExtensions() const override; SoundSourcePointer newSoundSource(const QUrl& url) override { - return newSoundSourceFromUrl(url); + return newSoundSourceFromUrl(url); } }; } // namespace mixxx -#endif // MIXXX_SoundSourceFFmpeg31_H +#endif // MIXXX_SoundSourceFFmpeg4_H diff --git a/src/sources/soundsourceproxy.cpp b/src/sources/soundsourceproxy.cpp index 8defe790ad0..35b45df5771 100644 --- a/src/sources/soundsourceproxy.cpp +++ b/src/sources/soundsourceproxy.cpp @@ -21,8 +21,8 @@ #ifdef __FFMPEGFILE__ #include "sources/soundsourceffmpeg.h" #endif -#ifdef __FFMPEG31__ -#include "sources/soundsourceffmpeg31.h" +#ifdef __FFMPEG4__ +#include "sources/soundsourceffmpeg4.h" #endif #ifdef __MODPLUG__ #include "sources/soundsourcemodplug.h" @@ -89,9 +89,9 @@ void SoundSourceProxy::registerSoundSourceProviders() { s_soundSourceProviders.registerProvider( std::make_shared()); #endif -#ifdef __FFMPEG31__ +#ifdef __FFMPEG4__ s_soundSourceProviders.registerProvider( - std::make_shared()); + std::make_shared()); #endif #ifdef __SNDFILE__ // libsndfile is another fallback diff --git a/src/test/soundproxy_test.cpp b/src/test/soundproxy_test.cpp index 211e23c5e2d..b2b4f1ecc51 100644 --- a/src/test/soundproxy_test.cpp +++ b/src/test/soundproxy_test.cpp @@ -46,9 +46,13 @@ class SoundSourceProxyTest: public MixxxTest { availableFileNameSuffixes << ".aiff" << ".flac" + // Files encoded with iTunes 12.3.0 caused issues when + // decoding with FFMpeg 3.x, because their start_time + // was not correctly handled. The actual FFmpeg version + // that fixed this bug is unknown. << "-itunes-12.3.0-aac.m4a" << "-itunes-12.7.0-aac.m4a" -#if defined(__FFMPEG31__) || defined(__COREAUDIO__) +#if defined(__FFMPEG4__) || defined(__COREAUDIO__) << "-itunes-12.7.0-alac.m4a" #endif << "-png.mp3" From 808be94336e85e50511ce4846c9aa4419d4dc7da Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Fri, 8 Feb 2019 13:46:57 +0100 Subject: [PATCH 09/43] Enable SoundSourceFFmpeg4 in AppVeyor CI build --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index b6d09873616..e359a1c30ee 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -53,7 +53,7 @@ for: - sudo apt-get -y install gdb libavformat-dev libchromaprint-dev libfaad-dev libflac-dev libid3tag0-dev libmad0-dev libmodplug-dev libmp3lame-dev libmp4v2-dev libopus-dev libopusfile-dev libportmidi-dev libprotobuf-dev libqt5opengl5-dev libqt5sql5-sqlite libqt5svg5-dev librubberband-dev libshout3-dev libsndfile1-dev libsqlite3-dev libtag1-dev libupower-glib-dev libusb-1.0-0-dev libwavpack-dev portaudio19-dev protobuf-compiler qt5-default qtscript5-dev libqt5x11extras5-dev scons qtkeychain-dev liblilv-dev libsoundtouch-dev build_script: - - scons -j4 test=1 mad=1 faad=1 ffmpeg=1 opus=1 modplug=1 wv=1 hss1394=0 virtualize=0 debug_assertions_fatal=1 verbose=0 localecompare=1 + - scons -j4 test=1 mad=1 faad=1 ffmpeg=1 ffmpeg4=1 opus=1 modplug=1 wv=1 hss1394=0 virtualize=0 debug_assertions_fatal=1 verbose=0 localecompare=1 test_script: - xvfb-run -- ./mixxx-test --gtest_output=xml:test_results.xml From 913ff3e6270653679072684eccd31f34f9ff2af2 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Fri, 8 Feb 2019 14:55:25 +0100 Subject: [PATCH 10/43] Prevent reallocation of sample buffer while decoding --- src/sources/soundsourceffmpeg4.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/sources/soundsourceffmpeg4.cpp b/src/sources/soundsourceffmpeg4.cpp index d0772a12f6d..c55185ff8fe 100644 --- a/src/sources/soundsourceffmpeg4.cpp +++ b/src/sources/soundsourceffmpeg4.cpp @@ -26,7 +26,9 @@ const SINT kSamplesPerMP3Frame = 1152; // The minimum capacity for the internal sample buffer to // store decoded data that has not been read/consumed yet. -const SINT kMinSampleBufferCapacity = 8192; +// NOTE(2019-02-08, uklotzde): A capacity of 64 kB seem to +// be sufficient for most use cases when using FFmpeg 4.0.x. +const SINT kMinSampleBufferCapacity = 65536; const Logger kLogger("SoundSourceFFmpeg4"); From 265bafdec2d90e32293e410cc8a0dfa717cc8753 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Fri, 8 Feb 2019 15:17:55 +0100 Subject: [PATCH 11/43] Suppress warning while decoding the first unreadable samples --- src/sources/soundsourceffmpeg4.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/sources/soundsourceffmpeg4.cpp b/src/sources/soundsourceffmpeg4.cpp index c55185ff8fe..87e1298bfb5 100644 --- a/src/sources/soundsourceffmpeg4.cpp +++ b/src/sources/soundsourceffmpeg4.cpp @@ -58,7 +58,7 @@ uint64_t fixChannelLayout(uint64_t channel_layout, int channels) { << fixed_channel_layout << "for" << channels - << "channels"; + << "channel(s)"; return fixed_channel_layout; } else { return channel_layout; @@ -954,9 +954,17 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( IndexRange::between( frameRange.start(), readFrameIndex); - kLogger.warning() - << "Overlapping sample frames in the stream:" - << overlapRange; + // NOTE(2019-02-08, uklotzde): Overlapping frames at the + // beginning of an audio stream before the first readable + // sample frame at kMinFrameIndex are expected. For example + // this happens when decoding 320kbps MP3 files where + // decoding starts at position -1105 and the first 1105 + // decoded samples need to be skipped. + if (readFrameIndex > kMinFrameIndex) { + kLogger.warning() + << "Overlapping sample frames in the stream:" + << overlapRange; + } const auto consumedRange = IndexRange::between( writableSampleFrames.frameIndexRange().start(), From af7f52034e98d1bfa8ced0c524a694ad3265f1cf Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Sat, 9 Feb 2019 11:07:20 +0100 Subject: [PATCH 12/43] Delete unused code and consolidate stream time calculation - No padding range after the decoded frame needs to be handled! - Calculate start/end time of stream from start_time and duration - Replace const with constexpr --- src/sources/soundsourceffmpeg4.cpp | 240 +++++++++++++---------------- 1 file changed, 105 insertions(+), 135 deletions(-) diff --git a/src/sources/soundsourceffmpeg4.cpp b/src/sources/soundsourceffmpeg4.cpp index 87e1298bfb5..a98ef2a7bae 100644 --- a/src/sources/soundsourceffmpeg4.cpp +++ b/src/sources/soundsourceffmpeg4.cpp @@ -11,24 +11,26 @@ namespace mixxx { namespace { -const AVSampleFormat kavSampleFormat = AV_SAMPLE_FMT_FLT; +constexpr AVSampleFormat kavSampleFormat = AV_SAMPLE_FMT_FLT; -const int64_t kavDefaultStartTime = 0; +constexpr uint64_t kavChannelLayoutUndefined = 0; + +constexpr int64_t kavMinStartTime = 0; // Use 0-based sample frame indexing -const SINT kMinFrameIndex = 0; +constexpr SINT kMinFrameIndex = 0; -const SINT kInvalidFrameIndex = std::numeric_limits::min(); +constexpr SINT kFrameIndexInvalid = std::numeric_limits::min(); -const SINT kUnknownFrameIndex = std::numeric_limits::max(); +constexpr SINT kFrameIndexUnknown = std::numeric_limits::max(); -const SINT kSamplesPerMP3Frame = 1152; +constexpr SINT kSamplesPerMP3Frame = 1152; // The minimum capacity for the internal sample buffer to // store decoded data that has not been read/consumed yet. // NOTE(2019-02-08, uklotzde): A capacity of 64 kB seem to // be sufficient for most use cases when using FFmpeg 4.0.x. -const SINT kMinSampleBufferCapacity = 65536; +constexpr SINT kMinSampleBufferCapacity = 65536; const Logger kLogger("SoundSourceFFmpeg4"); @@ -47,53 +49,59 @@ void initFFmpegLib() { #endif } -uint64_t fixChannelLayout(uint64_t channel_layout, int channels) { - if (channel_layout == 0) { +inline +uint64_t getStreamChannelLayout(const AVStream& avStream) { + auto channel_layout = avStream.codecpar->channel_layout; + if (channel_layout == kavChannelLayoutUndefined) { // Workaround: FFmpeg sometimes fails to determine the channel // layout, e.g. for a mono WAV files with a single channel! - const auto fixed_channel_layout = - av_get_default_channel_layout(channels); + channel_layout = av_get_default_channel_layout(avStream.codecpar->channels); kLogger.info() << "Unknown channel layout -> using default layout" - << fixed_channel_layout + << channel_layout << "for" - << channels + << avStream.codecpar->channels << "channel(s)"; - return fixed_channel_layout; - } else { - return channel_layout; } + return channel_layout; } -int64_t fixStartTime(int64_t start_time) { +inline +int64_t getStreamStartTime(const AVStream& avStream) { + auto start_time = avStream.start_time; if (start_time == AV_NOPTS_VALUE) { - const auto fixed_start_time = kavDefaultStartTime; // This case is not unlikely, e.g. happens when decoding WAV files. /* kLogger.trace() << "Unknown start time -> using default value" - << fixed_start_time; + << kavMinStartTime; */ - return fixed_start_time; - } else { - return start_time; + start_time = kavMinStartTime; } + VERIFY_OR_DEBUG_ASSERT(start_time >= kavMinStartTime) { + kLogger.warning() + << "Adjusting start time:" + << start_time + << "->" + << kavMinStartTime; + return kavMinStartTime; + } + return start_time; } inline -uint64_t getStreamChannelLayout(const AVStream& avStream) { - return fixChannelLayout(avStream.codecpar->channel_layout, avStream.codecpar->channels); -} - -inline -int64_t getStreamStartTime(const AVStream& avStream) { - return fixStartTime(avStream.start_time); -} - -inline -int64_t getStreamDuration(const AVStream& avStream) { - DEBUG_ASSERT(avStream.duration >= 0); - return avStream.duration; +int64_t getStreamEndTime(const AVStream& avStream) { + auto start_time = avStream.start_time; + if (start_time == AV_NOPTS_VALUE) { + // This case is not unlikely, e.g. happens when decoding WAV files. + /* + kLogger.trace() + << "Unknown start time -> using default value" + << kavMinStartTime; + */ + start_time = kavMinStartTime; + } + return start_time + avStream.duration; } inline @@ -117,8 +125,8 @@ int64_t convertFrameIndexToStreamTime(const AVStream& avStream, SINT frameIndex) IndexRange getStreamFrameIndexRange(const AVStream& avStream) { return IndexRange::forward( - kMinFrameIndex, - convertStreamTimeToFrameIndex(avStream, getStreamDuration(avStream))); + convertStreamTimeToFrameIndex(avStream, getStreamStartTime(avStream)), + convertStreamTimeToFrameIndex(avStream, getStreamEndTime(avStream))); } SINT getStreamSeekPrerollFrameCount(const AVStream& avStream) { @@ -187,9 +195,7 @@ void avTrace(const char* preamble, const AVStream& avStream) { << "| trailing_padding" << avStream.codecpar->trailing_padding << "| seek_preroll" << avStream.codecpar->seek_preroll << "| start_time" << avStream.start_time - << "| start_time (fixed)" << getStreamStartTime(avStream) << "| duration" << avStream.duration - << "| duration (fixed)" << getStreamDuration(avStream) << "| nb_frames" << avStream.nb_frames << "| time_base" << avStream.time_base.num << '/' << avStream.time_base.den << '}'; @@ -442,7 +448,7 @@ SoundSourceFFmpeg4::SoundSourceFFmpeg4(const QUrl& url) m_pavResampledFrame(nullptr), m_sampleBuffer(kMinSampleBufferCapacity), m_seekPrerollFrameCount(0), - m_curFrameIndex(kInvalidFrameIndex) { + m_curFrameIndex(kFrameIndexInvalid) { } SoundSourceFFmpeg4::~SoundSourceFFmpeg4() { @@ -698,7 +704,7 @@ namespace { kLogger.warning() << "av_read_frame() failed:" << formatErrorMessage(av_read_frame_result).toLocal8Bit().constData(); - return kInvalidFrameIndex; + return kFrameIndexInvalid; } } //avTrace("Packet read from stream", *pavPacket); @@ -714,7 +720,7 @@ namespace { DEBUG_ASSERT(pavPacket->stream_index == pavStream->index); return (pavPacket->pts != AV_NOPTS_VALUE) ? convertStreamTimeToFrameIndex(*pavStream, pavPacket->pts) - : kUnknownFrameIndex; + : kFrameIndexUnknown; } } @@ -726,7 +732,7 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( // Consume all buffered sample data before decoding any new data if (!m_sampleBuffer.empty()) { - DEBUG_ASSERT(m_curFrameIndex != kInvalidFrameIndex); + DEBUG_ASSERT(m_curFrameIndex != kFrameIndexInvalid); DEBUG_ASSERT(frameIndexRange().containsIndex(m_curFrameIndex)); const auto bufferedRange = IndexRange::forward( @@ -783,13 +789,13 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( } DEBUG_ASSERT(seekFrameIndex >= kMinFrameIndex); DEBUG_ASSERT(seekFrameIndex <= writableRange.start()); - if ((m_curFrameIndex == kInvalidFrameIndex) || + if ((m_curFrameIndex == kFrameIndexInvalid) || (m_curFrameIndex > writableRange.start()) || (m_curFrameIndex < seekFrameIndex)) { // Flush internal decoder state avcodec_flush_buffers(m_pavCodecContext); // Invalidate current position - m_curFrameIndex = kInvalidFrameIndex; + m_curFrameIndex = kFrameIndexInvalid; // Seek to new position const int64_t seekTimestamp = convertFrameIndexToStreamTime(*m_pavStream, seekFrameIndex); @@ -802,14 +808,14 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( kLogger.warning() << "av_seek_frame() failed:" << formatErrorMessage(av_seek_frame_result).toLocal8Bit().constData(); - m_curFrameIndex = kInvalidFrameIndex; + m_curFrameIndex = kFrameIndexInvalid; return ReadableSampleFrames(); } // Current position is unknown until reading from the stream - m_curFrameIndex = kUnknownFrameIndex; + m_curFrameIndex = kFrameIndexUnknown; } } - DEBUG_ASSERT(m_curFrameIndex != kInvalidFrameIndex); + DEBUG_ASSERT(m_curFrameIndex != kFrameIndexInvalid); AVPacket avPacket; av_init_packet(&avPacket); @@ -818,7 +824,7 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( AVPacket* pavNextPacket = nullptr; auto readFrameIndex = m_curFrameIndex; while ((pavNextPacket || !writableRange.empty()) && - (m_curFrameIndex != kInvalidFrameIndex)) { + (m_curFrameIndex != kFrameIndexInvalid)) { // Read next packet from stream if (!pavNextPacket) { const SINT packetFrameIndex = @@ -827,9 +833,9 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( m_pavStream, &avPacket, m_curFrameIndex); - if (packetFrameIndex == kInvalidFrameIndex) { + if (packetFrameIndex == kFrameIndexInvalid) { // Invalidate current position and abort reading - m_curFrameIndex = kInvalidFrameIndex; + m_curFrameIndex = kFrameIndexInvalid; break; } pavNextPacket = &avPacket; @@ -859,7 +865,7 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( av_packet_unref(pavNextPacket); pavNextPacket = nullptr; // Invalidate current position and abort reading - m_curFrameIndex = kInvalidFrameIndex; + m_curFrameIndex = kFrameIndexInvalid; break; } } @@ -877,25 +883,23 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( DEBUG_ASSERT(writableRange.empty() || m_sampleBuffer.empty()); SINT missingFrameCount = 0; - SINT decodedFrameCount = 0; - SINT paddingFrameCount = 0; const CSAMPLE* pDecodedSampleData = nullptr; // Decode next frame - IndexRange frameRange; + IndexRange decodedFrameRange; avcodec_receive_frame_result = avcodec_receive_frame( m_pavCodecContext, m_pavDecodedFrame); if (avcodec_receive_frame_result == 0) { //avTrace("Received decoded frame", *m_pavDecodedFrame); DEBUG_ASSERT(m_pavDecodedFrame->pts != AV_NOPTS_VALUE); - decodedFrameCount = m_pavDecodedFrame->nb_samples; + const auto decodedFrameCount = m_pavDecodedFrame->nb_samples; DEBUG_ASSERT(decodedFrameCount > 0); - frameRange = IndexRange::forward( + decodedFrameRange = IndexRange::forward( convertStreamTimeToFrameIndex(*m_pavStream, m_pavDecodedFrame->pts), decodedFrameCount); - if (readFrameIndex == kUnknownFrameIndex) { - readFrameIndex = frameRange.start(); + if (readFrameIndex == kFrameIndexUnknown) { + readFrameIndex = decodedFrameRange.start(); } } else if (avcodec_receive_frame_result == AVERROR(EAGAIN)) { //kLogger.trace() << "No more frames available until decoder is fed with more packets from stream"; @@ -923,14 +927,14 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( writableRange.shrinkFront(writableRange.length()); } // Invalidate current position and abort reading - m_curFrameIndex = kInvalidFrameIndex; + m_curFrameIndex = kFrameIndexInvalid; break; } else { kLogger.warning() << "avcodec_receive_frame() failed:" << formatErrorMessage(avcodec_receive_frame_result).toLocal8Bit().constData(); // Invalidate current position and abort reading - m_curFrameIndex = kInvalidFrameIndex; + m_curFrameIndex = kFrameIndexInvalid; break; } @@ -939,20 +943,18 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( << "After receiving decoded frame:" << "m_curFrameIndex" << m_curFrameIndex << "readFrameIndex" << readFrameIndex - << "frameRange" << frameRange + << "decodedFrameRange" << decodedFrameRange << "writableRange" << writableRange - << "missingFrameCount" << missingFrameCount - << "decodedFrameCount" << decodedFrameCount - << "paddingFrameCount" << paddingFrameCount; + << "missingFrameCount" << missingFrameCount; */ - DEBUG_ASSERT(readFrameIndex != kInvalidFrameIndex); - DEBUG_ASSERT(readFrameIndex != kUnknownFrameIndex); + DEBUG_ASSERT(readFrameIndex != kFrameIndexInvalid); + DEBUG_ASSERT(readFrameIndex != kFrameIndexUnknown); - if (frameRange.start() < readFrameIndex) { + if (decodedFrameRange.start() < readFrameIndex) { // The next frame starts BEFORE the current position const auto overlapRange = IndexRange::between( - frameRange.start(), + decodedFrameRange.start(), readFrameIndex); // NOTE(2019-02-08, uklotzde): Overlapping frames at the // beginning of an audio stream before the first readable @@ -993,10 +995,11 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( writableRange = IndexRange::between(rewindRange.start(), writableRange.end()); } // Adjust read position - readFrameIndex = frameRange.start(); - } else if (frameRange.start() > readFrameIndex) { - // The next frame starts AFTER the current position - missingFrameCount = frameRange.start() - readFrameIndex; + readFrameIndex = decodedFrameRange.start(); + } else if (decodedFrameRange.start() > readFrameIndex) { + // The next frame starts AFTER the current position, i.e. + // some frames before decodedFrameRange.start() are missing. + missingFrameCount = decodedFrameRange.start() - readFrameIndex; } /* @@ -1004,28 +1007,25 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( << "Before resampling:" << "m_curFrameIndex" << m_curFrameIndex << "readFrameIndex" << readFrameIndex - << "frameRange" << frameRange + << "decodedFrameRange" << decodedFrameRange << "writableRange" << writableRange - << "missingFrameCount" << missingFrameCount - << "decodedFrameCount" << decodedFrameCount - << "paddingFrameCount" << paddingFrameCount; + << "missingFrameCount" << missingFrameCount; */ - DEBUG_ASSERT(readFrameIndex <= frameRange.start()); + DEBUG_ASSERT(readFrameIndex <= decodedFrameRange.start()); // NOTE: Decoding might start at a negative position for the first - // frame of the file! In this case readFrameIndex < frameIndexRange().start(), + // frame of the file! In this case readFrameIndex < decodedFrameRange().start(), // i.e. the decoded frame starts outside of the track's valid range! // Consequently isValidFrameIndex(readFrameIndex) might return false. // This is expected behavior and will be compensated during 'preskip' // (see below). - if (m_pSwrContext && (frameRange.end() > writableRange.start())) { + if (m_pSwrContext) { // Decoded frame must be resampled before reading m_pavResampledFrame->channel_layout = m_avResampledChannelLayout; m_pavResampledFrame->sample_rate = sampleRate(); m_pavResampledFrame->format = kavSampleFormat; - if (m_pavDecodedFrame->channel_layout == 0) { + if (m_pavDecodedFrame->channel_layout == kavChannelLayoutUndefined) { // Sometimes the channel layout is undefined. - // See also: fixChannelLayout() m_pavDecodedFrame->channel_layout = m_avStreamChannelLayout; } //avTrace("Resampling decoded frame", *m_pavDecodedFrame); @@ -1040,7 +1040,7 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( << formatErrorMessage(swr_convert_frame_result).toLocal8Bit().constData(); // Abort reading av_frame_unref(m_pavDecodedFrame); - m_curFrameIndex = kInvalidFrameIndex; + m_curFrameIndex = kFrameIndexInvalid; break; } //avTrace("Received resampled frame", *m_pavResampledFrame); @@ -1055,8 +1055,8 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( // readFrameIndex // | - // v |<- frameRange ->| - // | missingFrameCount | decodedFrameCount | paddingFrameCount | + // v + // | missingFrameCount |<- decodedFrameRange ->| VERIFY_OR_DEBUG_ASSERT(readFrameIndex <= writableRange.start()) { kLogger.critical() @@ -1066,20 +1066,18 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( m_curFrameIndex = kInvalidFrameIndex; break; } + // Skip all missing/decoded ranges that do not overlap + // with writableRange, i.e. that precede writableRange. DEBUG_ASSERT(pDecodedSampleData); const auto preskipMissingFrameCount = math_min(missingFrameCount, writableRange.start() - readFrameIndex); missingFrameCount -= preskipMissingFrameCount; readFrameIndex += preskipMissingFrameCount; const auto preskipDecodedFrameCount = - math_min(decodedFrameCount, writableRange.start() - readFrameIndex); + math_min(decodedFrameRange.length(), writableRange.start() - readFrameIndex); pDecodedSampleData += frames2samples(preskipDecodedFrameCount); - decodedFrameCount -= preskipDecodedFrameCount; + decodedFrameRange.shrinkFront(preskipDecodedFrameCount); readFrameIndex += preskipDecodedFrameCount; - const auto preskipPaddingFrameCount = - math_min(paddingFrameCount, writableRange.start() - readFrameIndex); - paddingFrameCount -= preskipPaddingFrameCount; - readFrameIndex += preskipPaddingFrameCount; m_curFrameIndex = readFrameIndex; /* @@ -1087,13 +1085,13 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( << "Before writing:" << "m_curFrameIndex" << m_curFrameIndex << "readFrameIndex" << readFrameIndex - << "frameRange" << frameRange + << "decodedFrameRange" << decodedFrameRange << "writableRange" << writableRange - << "missingFrameCount" << missingFrameCount - << "decodedFrameCount" << decodedFrameCount - << "paddingFrameCount" << paddingFrameCount; + << "missingFrameCount" << missingFrameCount; */ + // Consume all sample data from missing/decoded ranges + // that overlap with writableRange. if (readFrameIndex == writableRange.start()) { const auto writeMissingFrameCount = math_min(missingFrameCount, writableRange.length()); @@ -1112,7 +1110,7 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( } DEBUG_ASSERT((missingFrameCount == 0) || writableRange.empty()); const auto writeDecodedFrameCount = - math_min(decodedFrameCount, writableRange.length()); + math_min(decodedFrameRange.length(), writableRange.length()); if (writeDecodedFrameCount > 0) { const auto copySampleCount = frames2samples(writeDecodedFrameCount); @@ -1124,27 +1122,11 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( pOutputSampleBuffer += copySampleCount; } pDecodedSampleData += copySampleCount; - decodedFrameCount -= writeDecodedFrameCount; + decodedFrameRange.shrinkFront(writeDecodedFrameCount); writableRange.shrinkFront(writeDecodedFrameCount); readFrameIndex += writeDecodedFrameCount; } - DEBUG_ASSERT((decodedFrameCount == 0) || writableRange.empty()); - const auto writePaddingFrameCount = - math_min(paddingFrameCount, writableRange.length()); - if (writePaddingFrameCount > 0) { - const auto clearSampleCount = - frames2samples(writePaddingFrameCount); - if (pOutputSampleBuffer) { - SampleUtil::clear( - pOutputSampleBuffer, - clearSampleCount); - pOutputSampleBuffer += clearSampleCount; - } - paddingFrameCount -= writePaddingFrameCount; - writableRange.shrinkFront(writePaddingFrameCount); - readFrameIndex += writePaddingFrameCount; - } - DEBUG_ASSERT((paddingFrameCount == 0) || writableRange.empty()); + DEBUG_ASSERT(decodedFrameRange.empty() || writableRange.empty()); DEBUG_ASSERT(readFrameIndex == writableRange.start()); m_curFrameIndex = readFrameIndex; } @@ -1154,17 +1136,16 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( << "Before buffering:" << "m_curFrameIndex" << m_curFrameIndex << "readFrameIndex" << readFrameIndex - << "frameRange" << frameRange + << "decodedFrameRange" << decodedFrameRange << "writableRange" << writableRange - << "missingFrameCount" << missingFrameCount - << "decodedFrameCount" << decodedFrameCount - << "paddingFrameCount" << paddingFrameCount; + << "missingFrameCount" << missingFrameCount; */ + // Buffer remaining unread sample data from + // missing/decoded ranges if (readFrameIndex >= writableRange.start()) { - // Buffer remaining unread sample data from the decoded/resampled frame const auto sampleBufferWriteLength = - frames2samples(missingFrameCount + decodedFrameCount + paddingFrameCount); + frames2samples(missingFrameCount + decodedFrameRange.length()); if (m_sampleBuffer.writableLength() < sampleBufferWriteLength) { const auto sampleBufferCapacity = m_sampleBuffer.readableLength() + @@ -1189,10 +1170,10 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( clearSampleCount); readFrameIndex += missingFrameCount; } - if (decodedFrameCount > 0) { + if (!decodedFrameRange.empty()) { DEBUG_ASSERT(writableRange.empty()); const auto copySampleCount = - frames2samples(decodedFrameCount); + frames2samples(decodedFrameRange.length()); const SampleBuffer::WritableSlice writableSlice( m_sampleBuffer.growForWriting(copySampleCount)); DEBUG_ASSERT(writableSlice.length() == copySampleCount); @@ -1200,25 +1181,14 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( writableSlice.data(), pDecodedSampleData, copySampleCount); - readFrameIndex += decodedFrameCount; - } - if (paddingFrameCount > 0) { - DEBUG_ASSERT(writableRange.empty()); - const auto clearSampleCount = frames2samples(paddingFrameCount); - const SampleBuffer::WritableSlice writableSlice( - m_sampleBuffer.growForWriting(clearSampleCount)); - DEBUG_ASSERT(writableSlice.length() == clearSampleCount); - SampleUtil::clear( - writableSlice.data(), - clearSampleCount); - readFrameIndex += paddingFrameCount; + readFrameIndex += decodedFrameRange.length(); } } // Housekeeping before next decoding iteration av_frame_unref(m_pavDecodedFrame); av_frame_unref(m_pavResampledFrame); - } while ((avcodec_receive_frame_result == 0) && (m_curFrameIndex != kInvalidFrameIndex)); + } while ((avcodec_receive_frame_result == 0) && (m_curFrameIndex != kFrameIndexInvalid)); } DEBUG_ASSERT(!pavNextPacket); From e683d4ef29681f6c8bee94259b40434acbb47530 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Sat, 9 Feb 2019 11:09:09 +0100 Subject: [PATCH 13/43] Enable Opus decoding --- src/sources/soundsourceffmpeg4.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/sources/soundsourceffmpeg4.cpp b/src/sources/soundsourceffmpeg4.cpp index a98ef2a7bae..b2860a2567b 100644 --- a/src/sources/soundsourceffmpeg4.cpp +++ b/src/sources/soundsourceffmpeg4.cpp @@ -377,6 +377,10 @@ QStringList SoundSourceProviderFFmpeg4::getSupportedFileExtensions() const { list.append("3g2"); list.append("mj2"); continue; + } else if (!strcmp(pavInputFormat->name, "opus") || + !strcmp(pavInputFormat->name, "libopus")) { + list.append("opus"); + continue; } else if (!strcmp(pavInputFormat->name, "wav")) { list.append("wav"); continue; @@ -415,10 +419,6 @@ QStringList SoundSourceProviderFFmpeg4::getSupportedFileExtensions() const { } else if (!strcmp(pavInputFormat->name, "mpeg")) { list.append("mpeg"); continue; - } else if (!strcmp(pavInputFormat->name, "opus") || - !strcmp(pavInputFormat->name, "libopus")) { - list.append("opus"); - continue; } else if (!strcmp(pavInputFormat->name, "tak")) { list.append("tak"); continue; From 644b0e83a95965a2810cae76edfe280cb6edce3b Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Sat, 9 Feb 2019 11:09:32 +0100 Subject: [PATCH 14/43] Handle a possible error when decoding --- src/sources/soundsourceffmpeg4.cpp | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/src/sources/soundsourceffmpeg4.cpp b/src/sources/soundsourceffmpeg4.cpp index b2860a2567b..cdbdc9a2def 100644 --- a/src/sources/soundsourceffmpeg4.cpp +++ b/src/sources/soundsourceffmpeg4.cpp @@ -1059,13 +1059,28 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( // | missingFrameCount |<- decodedFrameRange ->| VERIFY_OR_DEBUG_ASSERT(readFrameIndex <= writableRange.start()) { - kLogger.critical() - << "Invalid decoding position" - << ": expected frame index =" << writableRange.start() - << ", actual frame index =" << readFrameIndex; - m_curFrameIndex = kInvalidFrameIndex; - break; + // The decoder has skipped some sample data that needs to + // be filled with silence to continue decoding! + // NOTE(2019-02-09, uklotzde): This should never happen, but + // we are seeing this error when decoding our .ogg test file! + const auto missingRange = IndexRange::between(writableRange.start(), readFrameIndex); + kLogger.warning() + << "Missing sample data" + << missingRange; + const auto clearRange = intersect(missingRange, writableRange); + if (clearRange.length() > 0) { + const auto clearSampleCount = + frames2samples(clearRange.length()); + if (pOutputSampleBuffer) { + SampleUtil::clear( + pOutputSampleBuffer, + clearSampleCount); + pOutputSampleBuffer += clearSampleCount; + } + writableRange.shrinkFront(clearRange.length()); + } } + // Skip all missing/decoded ranges that do not overlap // with writableRange, i.e. that precede writableRange. DEBUG_ASSERT(pDecodedSampleData); From 2322ab839d7f823aad67907388afe6454a819938 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Sat, 9 Feb 2019 12:43:24 +0100 Subject: [PATCH 15/43] Unconditionally buffer unread decoded sample data --- src/sources/soundsourceffmpeg4.cpp | 82 ++++++++++++++---------------- 1 file changed, 39 insertions(+), 43 deletions(-) diff --git a/src/sources/soundsourceffmpeg4.cpp b/src/sources/soundsourceffmpeg4.cpp index cdbdc9a2def..58e1579d650 100644 --- a/src/sources/soundsourceffmpeg4.cpp +++ b/src/sources/soundsourceffmpeg4.cpp @@ -1081,7 +1081,7 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( } } - // Skip all missing/decoded ranges that do not overlap + // Skip all missing and decoded ranges that do not overlap // with writableRange, i.e. that precede writableRange. DEBUG_ASSERT(pDecodedSampleData); const auto preskipMissingFrameCount = @@ -1105,7 +1105,7 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( << "missingFrameCount" << missingFrameCount; */ - // Consume all sample data from missing/decoded ranges + // Consume all sample data from missing and decoded ranges // that overlap with writableRange. if (readFrameIndex == writableRange.start()) { const auto writeMissingFrameCount = @@ -1157,47 +1157,43 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( */ // Buffer remaining unread sample data from - // missing/decoded ranges - if (readFrameIndex >= writableRange.start()) { - const auto sampleBufferWriteLength = - frames2samples(missingFrameCount + decodedFrameRange.length()); - if (m_sampleBuffer.writableLength() < sampleBufferWriteLength) { - const auto sampleBufferCapacity = - m_sampleBuffer.readableLength() + - sampleBufferWriteLength; - kLogger.warning() - << "Adjusting capacity of internal sample buffer by reallocation:" - << m_sampleBuffer.capacity() - << "->" - << sampleBufferCapacity; - m_sampleBuffer.adjustCapacity(sampleBufferCapacity); - } - DEBUG_ASSERT(m_sampleBuffer.writableLength() >= sampleBufferWriteLength); - if (missingFrameCount > 0) { - DEBUG_ASSERT(writableRange.empty()); - const auto clearSampleCount = - frames2samples(missingFrameCount); - const SampleBuffer::WritableSlice writableSlice( - m_sampleBuffer.growForWriting(clearSampleCount)); - DEBUG_ASSERT(writableSlice.length() == clearSampleCount); - SampleUtil::clear( - writableSlice.data(), - clearSampleCount); - readFrameIndex += missingFrameCount; - } - if (!decodedFrameRange.empty()) { - DEBUG_ASSERT(writableRange.empty()); - const auto copySampleCount = - frames2samples(decodedFrameRange.length()); - const SampleBuffer::WritableSlice writableSlice( - m_sampleBuffer.growForWriting(copySampleCount)); - DEBUG_ASSERT(writableSlice.length() == copySampleCount); - SampleUtil::copy( - writableSlice.data(), - pDecodedSampleData, - copySampleCount); - readFrameIndex += decodedFrameRange.length(); - } + // missing and decoded ranges + const auto sampleBufferWriteLength = + frames2samples(missingFrameCount + decodedFrameRange.length()); + if (m_sampleBuffer.writableLength() < sampleBufferWriteLength) { + const auto sampleBufferCapacity = + m_sampleBuffer.readableLength() + + sampleBufferWriteLength; + kLogger.warning() + << "Adjusting capacity of internal sample buffer by reallocation:" + << m_sampleBuffer.capacity() + << "->" + << sampleBufferCapacity; + m_sampleBuffer.adjustCapacity(sampleBufferCapacity); + } + DEBUG_ASSERT(m_sampleBuffer.writableLength() >= sampleBufferWriteLength); + if (missingFrameCount > 0) { + const auto clearSampleCount = + frames2samples(missingFrameCount); + const SampleBuffer::WritableSlice writableSlice( + m_sampleBuffer.growForWriting(clearSampleCount)); + DEBUG_ASSERT(writableSlice.length() == clearSampleCount); + SampleUtil::clear( + writableSlice.data(), + clearSampleCount); + readFrameIndex += missingFrameCount; + } + if (!decodedFrameRange.empty()) { + const auto copySampleCount = + frames2samples(decodedFrameRange.length()); + const SampleBuffer::WritableSlice writableSlice( + m_sampleBuffer.growForWriting(copySampleCount)); + DEBUG_ASSERT(writableSlice.length() == copySampleCount); + SampleUtil::copy( + writableSlice.data(), + pDecodedSampleData, + copySampleCount); + readFrameIndex += decodedFrameRange.length(); } // Housekeeping before next decoding iteration From 5562c6cd5109226f6ae0c82cbc6466867f75aa67 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Sat, 9 Mar 2019 11:22:23 +0100 Subject: [PATCH 16/43] Disable FFmpeg 4.x for Ubuntu 18.04 --- appveyor.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index e359a1c30ee..59192c6ff21 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -53,7 +53,8 @@ for: - sudo apt-get -y install gdb libavformat-dev libchromaprint-dev libfaad-dev libflac-dev libid3tag0-dev libmad0-dev libmodplug-dev libmp3lame-dev libmp4v2-dev libopus-dev libopusfile-dev libportmidi-dev libprotobuf-dev libqt5opengl5-dev libqt5sql5-sqlite libqt5svg5-dev librubberband-dev libshout3-dev libsndfile1-dev libsqlite3-dev libtag1-dev libupower-glib-dev libusb-1.0-0-dev libwavpack-dev portaudio19-dev protobuf-compiler qt5-default qtscript5-dev libqt5x11extras5-dev scons qtkeychain-dev liblilv-dev libsoundtouch-dev build_script: - - scons -j4 test=1 mad=1 faad=1 ffmpeg=1 ffmpeg4=1 opus=1 modplug=1 wv=1 hss1394=0 virtualize=0 debug_assertions_fatal=1 verbose=0 localecompare=1 + # ffmpeg4=1 is not supported by Ubuntu 18.04 (FFmpeg 3.4.x) + - scons -j4 test=1 mad=1 faad=1 ffmpeg=1 opus=1 modplug=1 wv=1 hss1394=0 virtualize=0 debug_assertions_fatal=1 verbose=0 localecompare=1 test_script: - xvfb-run -- ./mixxx-test --gtest_output=xml:test_results.xml From 1a1a8a6e1d71f93e1794430ae791e51089a22a59 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Sat, 9 Mar 2019 11:47:07 +0100 Subject: [PATCH 17/43] Reformat code --- src/sources/soundsourceffmpeg4.cpp | 178 ++++++++++++++--------------- src/sources/soundsourceffmpeg4.h | 58 +++++----- 2 files changed, 116 insertions(+), 120 deletions(-) diff --git a/src/sources/soundsourceffmpeg4.cpp b/src/sources/soundsourceffmpeg4.cpp index 58e1579d650..5dc29e49583 100644 --- a/src/sources/soundsourceffmpeg4.cpp +++ b/src/sources/soundsourceffmpeg4.cpp @@ -1,12 +1,11 @@ #include "sources/soundsourceffmpeg4.h" -#include "util/sample.h" #include "util/logger.h" +#include "util/sample.h" #include #include - namespace mixxx { namespace { @@ -49,8 +48,7 @@ void initFFmpegLib() { #endif } -inline -uint64_t getStreamChannelLayout(const AVStream& avStream) { +inline uint64_t getStreamChannelLayout(const AVStream& avStream) { auto channel_layout = avStream.codecpar->channel_layout; if (channel_layout == kavChannelLayoutUndefined) { // Workaround: FFmpeg sometimes fails to determine the channel @@ -66,8 +64,7 @@ uint64_t getStreamChannelLayout(const AVStream& avStream) { return channel_layout; } -inline -int64_t getStreamStartTime(const AVStream& avStream) { +inline int64_t getStreamStartTime(const AVStream& avStream) { auto start_time = avStream.start_time; if (start_time == AV_NOPTS_VALUE) { // This case is not unlikely, e.g. happens when decoding WAV files. @@ -89,8 +86,7 @@ int64_t getStreamStartTime(const AVStream& avStream) { return start_time; } -inline -int64_t getStreamEndTime(const AVStream& avStream) { +inline int64_t getStreamEndTime(const AVStream& avStream) { auto start_time = avStream.start_time; if (start_time == AV_NOPTS_VALUE) { // This case is not unlikely, e.g. happens when decoding WAV files. @@ -104,23 +100,21 @@ int64_t getStreamEndTime(const AVStream& avStream) { return start_time + avStream.duration; } -inline -SINT convertStreamTimeToFrameIndex(const AVStream& avStream, int64_t pts) { +inline SINT convertStreamTimeToFrameIndex(const AVStream& avStream, int64_t pts) { return kMinFrameIndex + - av_rescale_q( - pts - getStreamStartTime(avStream), - avStream.time_base, - (AVRational) {1, avStream.codecpar->sample_rate}); + av_rescale_q( + pts - getStreamStartTime(avStream), + avStream.time_base, + (AVRational){1, avStream.codecpar->sample_rate}); } -inline -int64_t convertFrameIndexToStreamTime(const AVStream& avStream, SINT frameIndex) { +inline int64_t convertFrameIndexToStreamTime(const AVStream& avStream, SINT frameIndex) { // See also: convertStreamTimeToFrameIndex(), e.g. pts = 0 at // frameIndex = kMinFrameIndex! return av_rescale_q( - frameIndex - kMinFrameIndex, - (AVRational) {1, avStream.codecpar->sample_rate}, - avStream.time_base); + frameIndex - kMinFrameIndex, + (AVRational){1, avStream.codecpar->sample_rate}, + avStream.time_base); } IndexRange getStreamFrameIndexRange(const AVStream& avStream) { @@ -137,8 +131,7 @@ SINT getStreamSeekPrerollFrameCount(const AVStream& avStream) { DEBUG_ASSERT(defaultSeekPrerollFrameCount >= 0); switch (avStream.codecpar->codec_id) { case AV_CODEC_ID_MP3: - case AV_CODEC_ID_MP3ON4: - { + case AV_CODEC_ID_MP3ON4: { // In the worst case up to 29 MP3 frames need to be prerolled // for accurate seeking: // http://www.mars.org/mailman/public/mad-dev/2002-May/000634.html @@ -152,8 +145,7 @@ SINT getStreamSeekPrerollFrameCount(const AVStream& avStream) { return math_max(mp3SeekPrerollFrameCount, defaultSeekPrerollFrameCount); } case AV_CODEC_ID_AAC: - case AV_CODEC_ID_AAC_LATM: - { + case AV_CODEC_ID_AAC_LATM: { // "AAC Audio - Encoder Delay and Synchronization: The 2112 Sample Assumption" // https://developer.apple.com/library/ios/technotes/tn2258/_index.html // "It must also be assumed that without an explicit value, the playback @@ -176,10 +168,10 @@ QString formatErrorMessage(int errnum) { } } -inline -void avTrace(const char* preamble, const AVStream& avStream) { +inline void avTrace(const char* preamble, const AVStream& avStream) { if (kLogger.traceEnabled()) { - kLogger.trace() << preamble + kLogger.trace() + << preamble << "{ index" << avStream.index << "| id" << avStream.id << "| codec_type" << avStream.codecpar->codec_type @@ -377,8 +369,7 @@ QStringList SoundSourceProviderFFmpeg4::getSupportedFileExtensions() const { list.append("3g2"); list.append("mj2"); continue; - } else if (!strcmp(pavInputFormat->name, "opus") || - !strcmp(pavInputFormat->name, "libopus")) { + } else if (!strcmp(pavInputFormat->name, "opus") || !strcmp(pavInputFormat->name, "libopus")) { list.append("opus"); continue; } else if (!strcmp(pavInputFormat->name, "wav")) { @@ -387,10 +378,10 @@ QStringList SoundSourceProviderFFmpeg4::getSupportedFileExtensions() const { } else if (!strcmp(pavInputFormat->name, "wv")) { list.append("wv"); continue; - /////////////////////////////////////////////////////////// - // Codecs with failing tests - /////////////////////////////////////////////////////////// - /* + /////////////////////////////////////////////////////////// + // Codecs with failing tests + /////////////////////////////////////////////////////////// + /* } else if (!strcmp(pavInputFormat->name, "flac")) { // FFmpeg failure causes test failure: // [flac @ 0x2ef2060] read_timestamp() failed in the middle @@ -403,10 +394,10 @@ QStringList SoundSourceProviderFFmpeg4::getSupportedFileExtensions() const { list.append("ogg"); continue; */ - /////////////////////////////////////////////////////////// - // Untested codecs - /////////////////////////////////////////////////////////// - /* + /////////////////////////////////////////////////////////// + // Untested codecs + /////////////////////////////////////////////////////////// + /* } else if (!strcmp(pavInputFormat->name, "ac3")) { list.append("ac3"); continue; @@ -442,13 +433,13 @@ QStringList SoundSourceProviderFFmpeg4::getSupportedFileExtensions() const { } SoundSourceFFmpeg4::SoundSourceFFmpeg4(const QUrl& url) - : SoundSource(url), - m_pavStream(nullptr), - m_pavDecodedFrame(nullptr), - m_pavResampledFrame(nullptr), - m_sampleBuffer(kMinSampleBufferCapacity), - m_seekPrerollFrameCount(0), - m_curFrameIndex(kFrameIndexInvalid) { + : SoundSource(url), + m_pavStream(nullptr), + m_pavDecodedFrame(nullptr), + m_pavResampledFrame(nullptr), + m_sampleBuffer(kMinSampleBufferCapacity), + m_seekPrerollFrameCount(0), + m_curFrameIndex(kFrameIndexInvalid) { } SoundSourceFFmpeg4::~SoundSourceFFmpeg4() { @@ -523,7 +514,7 @@ SoundSource::OpenResult SoundSourceFFmpeg4::tryOpen( // Configure decoding context const int avcodec_parameters_to_context_result = - avcodec_parameters_to_context(pavCodecContext, pavStream->codecpar); + avcodec_parameters_to_context(pavCodecContext, pavStream->codecpar); if (avcodec_parameters_to_context_result != 0) { DEBUG_ASSERT(avcodec_parameters_to_context_result < 0); kLogger.warning() @@ -591,8 +582,8 @@ SoundSource::OpenResult SoundSourceFFmpeg4::tryOpen( // the channels and to transform the decoded audio data into the sample // format that is used by Mixxx. if ((resampledChannelCount != streamChannelCount) || - (m_avResampledChannelLayout != m_avStreamChannelLayout) || - (avResampledSampleFormat != avStreamSampleFormat)) { + (m_avResampledChannelLayout != m_avStreamChannelLayout) || + (avResampledSampleFormat != avStreamSampleFormat)) { /* kLogger.trace() << "Decoded stream needs to be resampled" @@ -681,48 +672,48 @@ void SoundSourceFFmpeg4::close() { } namespace { - SINT readNextPacket( - AVFormatContext* pavFormatContext, - AVStream* pavStream, - AVPacket* pavPacket, - SINT flushFrameIndex) { - while (true) { - const auto av_read_frame_result = - av_read_frame( - pavFormatContext, - pavPacket); - if (av_read_frame_result < 0) { - if (av_read_frame_result == AVERROR_EOF) { - // Enter drain mode: Flush the decoder with a final empty packet - kLogger.debug() - << "EOF: Entering drain mode"; - pavPacket->stream_index = pavStream->index; - pavPacket->data = nullptr; - pavPacket->size = 0; - return flushFrameIndex; - } else { - kLogger.warning() - << "av_read_frame() failed:" - << formatErrorMessage(av_read_frame_result).toLocal8Bit().constData(); - return kFrameIndexInvalid; - } - } - //avTrace("Packet read from stream", *pavPacket); - DEBUG_ASSERT(pavPacket->data); - DEBUG_ASSERT(pavPacket->size > 0); - if (pavPacket->stream_index == pavStream->index) { - // Found a packet for the stream - break; +SINT readNextPacket( + AVFormatContext* pavFormatContext, + AVStream* pavStream, + AVPacket* pavPacket, + SINT flushFrameIndex) { + while (true) { + const auto av_read_frame_result = + av_read_frame( + pavFormatContext, + pavPacket); + if (av_read_frame_result < 0) { + if (av_read_frame_result == AVERROR_EOF) { + // Enter drain mode: Flush the decoder with a final empty packet + kLogger.debug() + << "EOF: Entering drain mode"; + pavPacket->stream_index = pavStream->index; + pavPacket->data = nullptr; + pavPacket->size = 0; + return flushFrameIndex; } else { - av_packet_unref(pavPacket); + kLogger.warning() + << "av_read_frame() failed:" + << formatErrorMessage(av_read_frame_result).toLocal8Bit().constData(); + return kFrameIndexInvalid; } } - DEBUG_ASSERT(pavPacket->stream_index == pavStream->index); - return (pavPacket->pts != AV_NOPTS_VALUE) - ? convertStreamTimeToFrameIndex(*pavStream, pavPacket->pts) - : kFrameIndexUnknown; + //avTrace("Packet read from stream", *pavPacket); + DEBUG_ASSERT(pavPacket->data); + DEBUG_ASSERT(pavPacket->size > 0); + if (pavPacket->stream_index == pavStream->index) { + // Found a packet for the stream + break; + } else { + av_packet_unref(pavPacket); + } } + DEBUG_ASSERT(pavPacket->stream_index == pavStream->index); + return (pavPacket->pts != AV_NOPTS_VALUE) + ? convertStreamTimeToFrameIndex(*pavStream, pavPacket->pts) + : kFrameIndexUnknown; } +} // namespace ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( WritableSampleFrames writableSampleFrames) { @@ -742,7 +733,7 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( intersect(bufferedRange, writableRange); DEBUG_ASSERT(consumableRange.length() <= writableRange.length()); if (!consumableRange.empty() && - (consumableRange.start() == writableRange.start())) { + (consumableRange.start() == writableRange.start())) { // Drop and skip preceding buffered samples DEBUG_ASSERT(m_curFrameIndex <= writableRange.start()); const auto skippableRange = @@ -757,8 +748,7 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( const SampleBuffer::ReadableSlice consumableSlice = m_sampleBuffer.shrinkForReading( frames2samples(consumableRange.length())); - DEBUG_ASSERT(consumableSlice.length() == - frames2samples(consumableRange.length())); + DEBUG_ASSERT(consumableSlice.length() == frames2samples(consumableRange.length())); //kLogger.trace() << "Consuming buffered samples" << consumableRange; if (pOutputSampleBuffer) { SampleUtil::copy( @@ -790,8 +780,8 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( DEBUG_ASSERT(seekFrameIndex >= kMinFrameIndex); DEBUG_ASSERT(seekFrameIndex <= writableRange.start()); if ((m_curFrameIndex == kFrameIndexInvalid) || - (m_curFrameIndex > writableRange.start()) || - (m_curFrameIndex < seekFrameIndex)) { + (m_curFrameIndex > writableRange.start()) || + (m_curFrameIndex < seekFrameIndex)) { // Flush internal decoder state avcodec_flush_buffers(m_pavCodecContext); // Invalidate current position @@ -824,7 +814,7 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( AVPacket* pavNextPacket = nullptr; auto readFrameIndex = m_curFrameIndex; while ((pavNextPacket || !writableRange.empty()) && - (m_curFrameIndex != kFrameIndexInvalid)) { + (m_curFrameIndex != kFrameIndexInvalid)) { // Read next packet from stream if (!pavNextPacket) { const SINT packetFrameIndex = @@ -888,8 +878,8 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( // Decode next frame IndexRange decodedFrameRange; avcodec_receive_frame_result = avcodec_receive_frame( - m_pavCodecContext, - m_pavDecodedFrame); + m_pavCodecContext, + m_pavDecodedFrame); if (avcodec_receive_frame_result == 0) { //avTrace("Received decoded frame", *m_pavDecodedFrame); DEBUG_ASSERT(m_pavDecodedFrame->pts != AV_NOPTS_VALUE); @@ -902,9 +892,9 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( readFrameIndex = decodedFrameRange.start(); } } else if (avcodec_receive_frame_result == AVERROR(EAGAIN)) { - //kLogger.trace() << "No more frames available until decoder is fed with more packets from stream"; - DEBUG_ASSERT(!pavNextPacket); - break; + //kLogger.trace() << "No more frames available until decoder is fed with more packets from stream"; + DEBUG_ASSERT(!pavNextPacket); + break; } else if (avcodec_receive_frame_result == AVERROR_EOF) { DEBUG_ASSERT(!pavNextPacket); if (!writableRange.empty()) { diff --git a/src/sources/soundsourceffmpeg4.h b/src/sources/soundsourceffmpeg4.h index ef94abb0a18..22eaa52db47 100644 --- a/src/sources/soundsourceffmpeg4.h +++ b/src/sources/soundsourceffmpeg4.h @@ -1,6 +1,4 @@ -#ifndef MIXXX_SoundSourceFFmpeg4_H -#define MIXXX_SoundSourceFFmpeg4_H - +#pragma once extern "C" { @@ -37,13 +35,13 @@ class SoundSourceFFmpeg4 : public SoundSource { // or implicitly by the destructor. The wrapper can only be // moved, copying is disabled. class InputAVFormatContextPtr final { - public: + public: explicit InputAVFormatContextPtr(AVFormatContext* pavInputFormatContext = nullptr) - : m_pavInputFormatContext(pavInputFormatContext) { + : m_pavInputFormatContext(pavInputFormatContext) { } InputAVFormatContextPtr(const InputAVFormatContextPtr&) = delete; InputAVFormatContextPtr(InputAVFormatContextPtr&& that) - : m_pavInputFormatContext(that.m_pavInputFormatContext) { + : m_pavInputFormatContext(that.m_pavInputFormatContext) { that.m_pavInputFormatContext = nullptr; } ~InputAVFormatContextPtr() { @@ -64,15 +62,18 @@ class SoundSourceFFmpeg4 : public SoundSource { return *this; } - AVFormatContext* operator->() { return m_pavInputFormatContext; } - operator AVFormatContext*() { return m_pavInputFormatContext; } + AVFormatContext* operator->() { + return m_pavInputFormatContext; + } + operator AVFormatContext*() { + return m_pavInputFormatContext; + } - private: + private: AVFormatContext* m_pavInputFormatContext; }; InputAVFormatContextPtr m_pavInputFormatContext; - AVStream* m_pavStream; // Takes ownership of an opened (audio) codec context and ensures that @@ -80,15 +81,15 @@ class SoundSourceFFmpeg4 : public SoundSource { // implicitly by the destructor. The wrapper can only be moved, // copying is disabled. class AVCodecContextPtr final { - public: + public: static AVCodecContextPtr alloc(const AVCodec* codec); explicit AVCodecContextPtr(AVCodecContext* pavCodecContext = nullptr) - : m_pavCodecContext(pavCodecContext) { + : m_pavCodecContext(pavCodecContext) { } AVCodecContextPtr(const AVCodecContextPtr&) = delete; AVCodecContextPtr(AVCodecContextPtr&& that) - : m_pavCodecContext(that.m_pavCodecContext) { + : m_pavCodecContext(that.m_pavCodecContext) { that.m_pavCodecContext = nullptr; } ~AVCodecContextPtr() { @@ -108,23 +109,27 @@ class SoundSourceFFmpeg4 : public SoundSource { return *this; } - AVCodecContext* operator->() { return m_pavCodecContext; } - operator AVCodecContext*() { return m_pavCodecContext; } + AVCodecContext* operator->() { + return m_pavCodecContext; + } + operator AVCodecContext*() { + return m_pavCodecContext; + } - private: + private: AVCodecContext* m_pavCodecContext; }; AVCodecContextPtr m_pavCodecContext; // Resampler class SwrContextPtr final { - public: + public: explicit SwrContextPtr(SwrContext* m_pSwrContext = nullptr) - : m_pSwrContext(m_pSwrContext) { + : m_pSwrContext(m_pSwrContext) { } SwrContextPtr(const SwrContextPtr&) = delete; SwrContextPtr(SwrContextPtr&& that) - : m_pSwrContext(that.m_pSwrContext) { + : m_pSwrContext(that.m_pSwrContext) { that.m_pSwrContext = nullptr; } ~SwrContextPtr() { @@ -145,10 +150,14 @@ class SoundSourceFFmpeg4 : public SoundSource { return *this; } - SwrContext* operator->() { return m_pSwrContext; } - operator SwrContext*() { return m_pSwrContext; } + SwrContext* operator->() { + return m_pSwrContext; + } + operator SwrContext*() { + return m_pSwrContext; + } - private: + private: SwrContext* m_pSwrContext; }; SwrContextPtr m_pSwrContext; @@ -166,7 +175,7 @@ class SoundSourceFFmpeg4 : public SoundSource { SINT m_curFrameIndex; }; -class SoundSourceProviderFFmpeg4: public SoundSourceProvider { +class SoundSourceProviderFFmpeg4 : public SoundSourceProvider { public: SoundSourceProviderFFmpeg4(); @@ -183,6 +192,3 @@ class SoundSourceProviderFFmpeg4: public SoundSourceProvider { }; } // namespace mixxx - - -#endif // MIXXX_SoundSourceFFmpeg4_H From a22ab0b92717aa488892deb47ffeb473a85c82be Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Tue, 26 Mar 2019 13:12:19 +0100 Subject: [PATCH 18/43] Fix decoding offset by taking start_time >= 0 into account --- src/sources/soundsourceffmpeg4.cpp | 80 ++++++++++++++---------------- 1 file changed, 36 insertions(+), 44 deletions(-) diff --git a/src/sources/soundsourceffmpeg4.cpp b/src/sources/soundsourceffmpeg4.cpp index 5dc29e49583..1d54f4b06d3 100644 --- a/src/sources/soundsourceffmpeg4.cpp +++ b/src/sources/soundsourceffmpeg4.cpp @@ -87,20 +87,14 @@ inline int64_t getStreamStartTime(const AVStream& avStream) { } inline int64_t getStreamEndTime(const AVStream& avStream) { - auto start_time = avStream.start_time; - if (start_time == AV_NOPTS_VALUE) { - // This case is not unlikely, e.g. happens when decoding WAV files. - /* - kLogger.trace() - << "Unknown start time -> using default value" - << kavMinStartTime; - */ - start_time = kavMinStartTime; - } - return start_time + avStream.duration; + // The duration is the actually the end time of the stream, + // i.e. pts always starts at 0 independent of the start_time! + DEBUG_ASSERT(avStream.duration >= getStreamStartTime(avStream)); + return avStream.duration; } inline SINT convertStreamTimeToFrameIndex(const AVStream& avStream, int64_t pts) { + // getStreamStartTime(avStream) -> 1st audible frame at kMinFrameIndex return kMinFrameIndex + av_rescale_q( pts - getStreamStartTime(avStream), @@ -109,17 +103,18 @@ inline SINT convertStreamTimeToFrameIndex(const AVStream& avStream, int64_t pts) } inline int64_t convertFrameIndexToStreamTime(const AVStream& avStream, SINT frameIndex) { - // See also: convertStreamTimeToFrameIndex(), e.g. pts = 0 at - // frameIndex = kMinFrameIndex! + // Inverse mapping of convertStreamTimeToFrameIndex() return av_rescale_q( - frameIndex - kMinFrameIndex, - (AVRational){1, avStream.codecpar->sample_rate}, - avStream.time_base); + frameIndex - kMinFrameIndex, + (AVRational){1, avStream.codecpar->sample_rate}, + avStream.time_base) + + getStreamStartTime(avStream); } IndexRange getStreamFrameIndexRange(const AVStream& avStream) { + DEBUG_ASSERT(kMinFrameIndex == convertStreamTimeToFrameIndex(avStream, getStreamStartTime(avStream))); return IndexRange::forward( - convertStreamTimeToFrameIndex(avStream, getStreamStartTime(avStream)), + kMinFrameIndex, convertStreamTimeToFrameIndex(avStream, getStreamEndTime(avStream))); } @@ -151,6 +146,7 @@ SINT getStreamSeekPrerollFrameCount(const AVStream& avStream) { // "It must also be assumed that without an explicit value, the playback // system will trim 2112 samples from the AAC decoder output when starting // playback from any point in the bistream." + // See also: https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/QTFFAppenG/QTFFAppenG.html const SINT aacSeekPrerollFrameCount = 2112; return math_max(aacSeekPrerollFrameCount, defaultSeekPrerollFrameCount); } @@ -168,32 +164,6 @@ QString formatErrorMessage(int errnum) { } } -inline void avTrace(const char* preamble, const AVStream& avStream) { - if (kLogger.traceEnabled()) { - kLogger.trace() - << preamble - << "{ index" << avStream.index - << "| id" << avStream.id - << "| codec_type" << avStream.codecpar->codec_type - << "| codec_id" << avStream.codecpar->codec_id - << "| channels" << avStream.codecpar->channels - << "| channel_layout" << avStream.codecpar->channel_layout - << "| channel_layout (fixed)" << getStreamChannelLayout(avStream) - << "| format" << avStream.codecpar->format - << "| sample_rate" << avStream.codecpar->sample_rate - << "| bit_rate" << avStream.codecpar->bit_rate - << "| frame_size" << avStream.codecpar->frame_size - << "| initial_padding" << avStream.codecpar->initial_padding - << "| trailing_padding" << avStream.codecpar->trailing_padding - << "| seek_preroll" << avStream.codecpar->seek_preroll - << "| start_time" << avStream.start_time - << "| duration" << avStream.duration - << "| nb_frames" << avStream.nb_frames - << "| time_base" << avStream.time_base.num << '/' << avStream.time_base.den - << '}'; - } -} - /* inline void avTrace(const char* preamble, const AVPacket& avPacket) { @@ -544,7 +514,29 @@ SoundSource::OpenResult SoundSourceFFmpeg4::tryOpen( m_pavCodecContext = std::move(pavCodecContext); m_pavStream = pavStream; - avTrace("Opened stream for decoding", *m_pavStream); + if (kLogger.debugEnabled()) { + kLogger.debug() + << "Opened stream for decoding" + << "{ index" << m_pavStream->index + << "| id" << m_pavStream->id + << "| codec_type" << m_pavStream->codecpar->codec_type + << "| codec_id" << m_pavStream->codecpar->codec_id + << "| channels" << m_pavStream->codecpar->channels + << "| channel_layout" << m_pavStream->codecpar->channel_layout + << "| channel_layout (fixed)" << getStreamChannelLayout(*m_pavStream) + << "| format" << m_pavStream->codecpar->format + << "| sample_rate" << m_pavStream->codecpar->sample_rate + << "| bit_rate" << m_pavStream->codecpar->bit_rate + << "| frame_size" << m_pavStream->codecpar->frame_size + << "| initial_padding" << m_pavStream->codecpar->initial_padding + << "| trailing_padding" << m_pavStream->codecpar->trailing_padding + << "| seek_preroll" << m_pavStream->codecpar->seek_preroll + << "| start_time" << m_pavStream->start_time + << "| duration" << m_pavStream->duration + << "| nb_frames" << m_pavStream->nb_frames + << "| time_base" << m_pavStream->time_base.num << '/' << m_pavStream->time_base.den + << '}'; + } const auto streamChannelCount = ChannelCount(m_pavStream->codecpar->channels); From 914c25930b46bfaf1475a2e7dd61e2a3fedc668a Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Wed, 27 Mar 2019 08:46:48 +0100 Subject: [PATCH 19/43] Enable the SoundSourceFFmpeg4 for macOS builds --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 791ac54eb18..04c94224492 100644 --- a/.travis.yml +++ b/.travis.yml @@ -60,7 +60,7 @@ install: # Build flags common to OS X and Linux. # Parallel builds are important for avoiding OSX build timeouts. # We turn off verbose output to avoid going over the 4MB output limit. - - export COMMON="-j4 qt5=1 test=1 mad=1 faad=1 ffmpeg=1 opus=1 modplug=1 wv=1 hss1394=0 virtualize=0 debug_assertions_fatal=1 verbose=0" + - export COMMON="-j4 qt5=1 test=1 mad=1 faad=1 opus=1 modplug=1 wv=1 hss1394=0 virtualize=0 debug_assertions_fatal=1 verbose=0" ##### # Ubuntu Trusty Build @@ -79,8 +79,8 @@ install: # NOTE(rryan): 2016-11-15 we are experiencing Travis timeouts for the OSX # build. Turning off optimizations to see if that speeds up compile times. # TODO(rryan): localecompare doesn't work on Travis with qt5 for some reason. - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export EXTRA_FLAGS="optimize=none asan=0 localecompare=0" ; fi - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export EXTRA_FLAGS="localecompare=1" ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export EXTRA_FLAGS=" ffmpeg4=1 optimize=none asan=0 localecompare=0" ; fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export EXTRA_FLAGS=" ffmpeg=1 localecompare=1" ; fi #### # Common Build From b59a6151c2e9f8a334f1a0d4837422ba52449fc5 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Tue, 9 Apr 2019 08:30:00 +0200 Subject: [PATCH 20/43] Adjust feature name --- SConstruct | 2 +- build/features.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/SConstruct b/SConstruct index 0e6a54dd4b5..29a68ac9c0d 100644 --- a/SConstruct +++ b/SConstruct @@ -63,7 +63,7 @@ available_features = [features.Mad, features.FFMPEG, # Experimental features - features.FFMPEG4, + features.FFmpeg4, features.OpenGLES, features.QtKeychain ] diff --git a/build/features.py b/build/features.py index 4dc53b2c467..0f1f314f788 100644 --- a/build/features.py +++ b/build/features.py @@ -860,7 +860,7 @@ def sources(self, build): 'src/encoder/encoderffmpegvorbis.cpp'] -class FFMPEG4(Feature): +class FFmpeg4(Feature): def description(self): return "FFmpeg 4.x support" From e994df91fe055e8d1a9cd397e2fe83804a839efd Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Thu, 11 Apr 2019 00:52:40 +0200 Subject: [PATCH 21/43] Fix error messages about missing build dependencies --- build/features.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/build/features.py b/build/features.py index 0f1f314f788..a9272268b9e 100644 --- a/build/features.py +++ b/build/features.py @@ -796,12 +796,12 @@ def configure(self, build, conf): # Check for libavcodec, libavformat # I just randomly picked version numbers lower than mine for this if not conf.CheckForPKG('libavcodec', '53.35.0'): - raise Exception('Missing libavcodec or it\'s too old! It can' - 'be separated from main package so check your' + raise Exception('Missing libavcodec or it\'s too old! It can ' + 'be separated from main package so check your ' 'operating system packages.') if not conf.CheckForPKG('libavformat', '53.21.0'): - raise Exception('Missing libavformat or it\'s too old!' - 'It can be separated from main package so' + raise Exception('Missing libavformat or it\'s too old! ' + 'It can be separated from main package so ' 'check your operating system packages.') # Needed to build new FFmpeg @@ -882,16 +882,16 @@ def configure(self, build, conf): or build.platform_is_bsd: # Check for libavcodec, libavformat if not conf.CheckForPKG('libavcodec', '58'): - raise Exception('Missing libavcodec or it\'s too old! It can' - 'be separated from main package so check your' + raise Exception('Missing libavcodec or it\'s too old! It can ' + 'be separated from main package so check your ' 'operating system packages.') if not conf.CheckForPKG('libavformat', '58'): - raise Exception('Missing libavformat or it\'s too old!' - 'It can be separated from main package so' + raise Exception('Missing libavformat or it\'s too old! ' + 'It can be separated from main package so ' 'check your operating system packages.') if not conf.CheckForPKG('libswresample', '3.1'): - raise Exception('Missing libswresample or it\'s too old!' - 'It can be separated from main package so' + raise Exception('Missing libswresample or it\'s too old! ' + 'It can be separated from main package so ' 'check your operating system packages.') # Needed to build new FFmpeg From bbafbace5a2decc6207ba5c18121e3facdf169e5 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Wed, 8 May 2019 10:55:25 +0200 Subject: [PATCH 22/43] Auto-format source code --- src/sources/soundsourceffmpeg4.cpp | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/sources/soundsourceffmpeg4.cpp b/src/sources/soundsourceffmpeg4.cpp index 1d54f4b06d3..4a0a59f36c0 100644 --- a/src/sources/soundsourceffmpeg4.cpp +++ b/src/sources/soundsourceffmpeg4.cpp @@ -96,10 +96,10 @@ inline int64_t getStreamEndTime(const AVStream& avStream) { inline SINT convertStreamTimeToFrameIndex(const AVStream& avStream, int64_t pts) { // getStreamStartTime(avStream) -> 1st audible frame at kMinFrameIndex return kMinFrameIndex + - av_rescale_q( - pts - getStreamStartTime(avStream), - avStream.time_base, - (AVRational){1, avStream.codecpar->sample_rate}); + av_rescale_q( + pts - getStreamStartTime(avStream), + avStream.time_base, + (AVRational){1, avStream.codecpar->sample_rate}); } inline int64_t convertFrameIndexToStreamTime(const AVStream& avStream, SINT frameIndex) { @@ -108,7 +108,7 @@ inline int64_t convertFrameIndexToStreamTime(const AVStream& avStream, SINT fram frameIndex - kMinFrameIndex, (AVRational){1, avStream.codecpar->sample_rate}, avStream.time_base) + - getStreamStartTime(avStream); + getStreamStartTime(avStream); } IndexRange getStreamFrameIndexRange(const AVStream& avStream) { @@ -574,8 +574,8 @@ SoundSource::OpenResult SoundSourceFFmpeg4::tryOpen( // the channels and to transform the decoded audio data into the sample // format that is used by Mixxx. if ((resampledChannelCount != streamChannelCount) || - (m_avResampledChannelLayout != m_avStreamChannelLayout) || - (avResampledSampleFormat != avStreamSampleFormat)) { + (m_avResampledChannelLayout != m_avStreamChannelLayout) || + (avResampledSampleFormat != avStreamSampleFormat)) { /* kLogger.trace() << "Decoded stream needs to be resampled" @@ -702,8 +702,8 @@ SINT readNextPacket( } DEBUG_ASSERT(pavPacket->stream_index == pavStream->index); return (pavPacket->pts != AV_NOPTS_VALUE) - ? convertStreamTimeToFrameIndex(*pavStream, pavPacket->pts) - : kFrameIndexUnknown; + ? convertStreamTimeToFrameIndex(*pavStream, pavPacket->pts) + : kFrameIndexUnknown; } } // namespace @@ -725,7 +725,7 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( intersect(bufferedRange, writableRange); DEBUG_ASSERT(consumableRange.length() <= writableRange.length()); if (!consumableRange.empty() && - (consumableRange.start() == writableRange.start())) { + (consumableRange.start() == writableRange.start())) { // Drop and skip preceding buffered samples DEBUG_ASSERT(m_curFrameIndex <= writableRange.start()); const auto skippableRange = @@ -772,8 +772,8 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( DEBUG_ASSERT(seekFrameIndex >= kMinFrameIndex); DEBUG_ASSERT(seekFrameIndex <= writableRange.start()); if ((m_curFrameIndex == kFrameIndexInvalid) || - (m_curFrameIndex > writableRange.start()) || - (m_curFrameIndex < seekFrameIndex)) { + (m_curFrameIndex > writableRange.start()) || + (m_curFrameIndex < seekFrameIndex)) { // Flush internal decoder state avcodec_flush_buffers(m_pavCodecContext); // Invalidate current position @@ -806,7 +806,7 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( AVPacket* pavNextPacket = nullptr; auto readFrameIndex = m_curFrameIndex; while ((pavNextPacket || !writableRange.empty()) && - (m_curFrameIndex != kFrameIndexInvalid)) { + (m_curFrameIndex != kFrameIndexInvalid)) { // Read next packet from stream if (!pavNextPacket) { const SINT packetFrameIndex = From 8cc3e6a790ee999fbd2efd93a4a272ebbcf1ff2d Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Wed, 8 May 2019 23:43:18 +0200 Subject: [PATCH 23/43] Promote FFmpeg4 feature from "experimental" to "regular" --- SConstruct | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SConstruct b/SConstruct index 29a68ac9c0d..7610967a379 100644 --- a/SConstruct +++ b/SConstruct @@ -48,6 +48,7 @@ available_features = [features.Mad, features.Verbose, features.Optimize, features.FAAD, + features.FFmpeg4, features.WavPack, features.ModPlug, features.TestSuite, @@ -63,7 +64,6 @@ available_features = [features.Mad, features.FFMPEG, # Experimental features - features.FFmpeg4, features.OpenGLES, features.QtKeychain ] From f1a84ff1dc09c6dbbc2e26ecef63b6f08a43f31f Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Sun, 26 May 2019 23:22:12 +0200 Subject: [PATCH 24/43] Add #define for enabling/disabling tracing --- src/sources/soundsourceffmpeg4.cpp | 112 +++++++++++++++++------------ 1 file changed, 66 insertions(+), 46 deletions(-) diff --git a/src/sources/soundsourceffmpeg4.cpp b/src/sources/soundsourceffmpeg4.cpp index 4a0a59f36c0..299323fcd74 100644 --- a/src/sources/soundsourceffmpeg4.cpp +++ b/src/sources/soundsourceffmpeg4.cpp @@ -6,6 +6,8 @@ #include #include +#define ENABLE_TRACING false + namespace mixxx { namespace { @@ -68,11 +70,11 @@ inline int64_t getStreamStartTime(const AVStream& avStream) { auto start_time = avStream.start_time; if (start_time == AV_NOPTS_VALUE) { // This case is not unlikely, e.g. happens when decoding WAV files. - /* +#if ENABLE_TRACING kLogger.trace() << "Unknown start time -> using default value" << kavMinStartTime; - */ +#endif start_time = kavMinStartTime; } VERIFY_OR_DEBUG_ASSERT(start_time >= kavMinStartTime) { @@ -164,37 +166,35 @@ QString formatErrorMessage(int errnum) { } } -/* -inline -void avTrace(const char* preamble, const AVPacket& avPacket) { +#if ENABLE_TRACING +inline void avTrace(const char* preamble, const AVPacket& avPacket) { if (kLogger.traceEnabled()) { kLogger.trace() << preamble - << "{ stream_index" << avPacket.stream_index - << "| pos" << avPacket.pos - << "| size" << avPacket.size - << "| dst" << avPacket.dts - << "| pts" << avPacket.pts - << "| duration" << avPacket.duration - << '}'; + << "{ stream_index" << avPacket.stream_index + << "| pos" << avPacket.pos + << "| size" << avPacket.size + << "| dst" << avPacket.dts + << "| pts" << avPacket.pts + << "| duration" << avPacket.duration + << '}'; } } -inline -void avTrace(const char* preamble, const AVFrame& avFrame) { +inline void avTrace(const char* preamble, const AVFrame& avFrame) { if (kLogger.traceEnabled()) { kLogger.trace() << preamble - << "{ channels" << avFrame.channels - << "| channel_layout" << avFrame.channel_layout - << "| format" << avFrame.format - << "| sample_rate" << avFrame.sample_rate - << "| pkt_dts" << avFrame.pkt_dts - << "| pkt_duration" << avFrame.pkt_duration - << "| pts" << avFrame.pts - << "| nb_samples" << avFrame.nb_samples - << '}'; + << "{ channels" << avFrame.channels + << "| channel_layout" << avFrame.channel_layout + << "| format" << avFrame.format + << "| sample_rate" << avFrame.sample_rate + << "| pkt_dts" << avFrame.pkt_dts + << "| pkt_duration" << avFrame.pkt_duration + << "| pts" << avFrame.pts + << "| nb_samples" << avFrame.nb_samples + << '}'; } } -*/ +#endif // ENABLE_TRACING AVFormatContext* openInputFile( const QString& fileName) { @@ -576,13 +576,13 @@ SoundSource::OpenResult SoundSourceFFmpeg4::tryOpen( if ((resampledChannelCount != streamChannelCount) || (m_avResampledChannelLayout != m_avStreamChannelLayout) || (avResampledSampleFormat != avStreamSampleFormat)) { - /* +#if ENABLE_TRACING kLogger.trace() << "Decoded stream needs to be resampled" << ": channel count =" << resampledChannelCount << "| channel layout =" << m_avResampledChannelLayout << "| sample format =" << av_get_sample_fmt_name(avResampledSampleFormat); - */ +#endif m_pSwrContext = SwrContextPtr(swr_alloc_set_opts( nullptr, m_avResampledChannelLayout, @@ -646,7 +646,9 @@ SoundSource::OpenResult SoundSourceFFmpeg4::tryOpen( } m_seekPrerollFrameCount = getStreamSeekPrerollFrameCount(*m_pavStream); - //kLogger.trace() << "Seek preroll frame count:" << m_seekPrerollFrameCount; +#if ENABLE_TRACING + kLogger.trace() << "Seek preroll frame count:" << m_seekPrerollFrameCount; +#endif m_curFrameIndex = kMinFrameIndex; @@ -690,7 +692,9 @@ SINT readNextPacket( return kFrameIndexInvalid; } } - //avTrace("Packet read from stream", *pavPacket); +#if ENABLE_TRACING + avTrace("Packet read from stream", *pavPacket); +#endif DEBUG_ASSERT(pavPacket->data); DEBUG_ASSERT(pavPacket->size > 0); if (pavPacket->stream_index == pavStream->index) { @@ -741,7 +745,9 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( m_sampleBuffer.shrinkForReading( frames2samples(consumableRange.length())); DEBUG_ASSERT(consumableSlice.length() == frames2samples(consumableRange.length())); - //kLogger.trace() << "Consuming buffered samples" << consumableRange; +#if ENABLE_TRACING + kLogger.trace() << "Consuming buffered samples" << consumableRange; +#endif if (pOutputSampleBuffer) { SampleUtil::copy( pOutputSampleBuffer, @@ -825,12 +831,16 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( DEBUG_ASSERT(pavNextPacket); // Consume raw packet data - //avTrace("Sending packet to decoder", *pavNextPacket); +#if ENABLE_TRACING + avTrace("Sending packet to decoder", *pavNextPacket); +#endif const auto avcodec_send_packet_result = avcodec_send_packet(m_pavCodecContext, pavNextPacket); if (avcodec_send_packet_result == 0) { // Packet has been consumed completely - //kLogger.trace() << "Packet has been consumed by decoder"; +#if ENABLE_TRACING + kLogger.trace() << "Packet has been consumed by decoder"; +#endif // Release ownership on packet av_packet_unref(pavNextPacket); pavNextPacket = nullptr; @@ -838,7 +848,9 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( // Packet has not been consumed or only partially if (avcodec_send_packet_result == AVERROR(EAGAIN)) { // Keep and resend this packet to the decoder during the next round - //kLogger.trace() << "Packet needs to be sent again to decoder"; +#if ENABLE_TRACING + kLogger.trace() << "Packet needs to be sent again to decoder"; +#endif } else { kLogger.warning() << "avcodec_send_packet() failed:" @@ -854,13 +866,13 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( int avcodec_receive_frame_result; do { - /* +#if ENABLE_TRACING kLogger.trace() << "m_curFrameIndex" << m_curFrameIndex << "readFrameIndex" << readFrameIndex << "writableRange" << writableRange << "m_sampleBuffer.readableLength()" << m_sampleBuffer.readableLength(); - */ +#endif DEBUG_ASSERT(writableRange.empty() || m_sampleBuffer.empty()); @@ -873,7 +885,9 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( m_pavCodecContext, m_pavDecodedFrame); if (avcodec_receive_frame_result == 0) { - //avTrace("Received decoded frame", *m_pavDecodedFrame); +#if ENABLE_TRACING + avTrace("Received decoded frame", *m_pavDecodedFrame); +#endif DEBUG_ASSERT(m_pavDecodedFrame->pts != AV_NOPTS_VALUE); const auto decodedFrameCount = m_pavDecodedFrame->nb_samples; DEBUG_ASSERT(decodedFrameCount > 0); @@ -884,7 +898,9 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( readFrameIndex = decodedFrameRange.start(); } } else if (avcodec_receive_frame_result == AVERROR(EAGAIN)) { - //kLogger.trace() << "No more frames available until decoder is fed with more packets from stream"; +#if ENABLE_TRACING + kLogger.trace() << "No more frames available until decoder is fed with more packets from stream"; +#endif DEBUG_ASSERT(!pavNextPacket); break; } else if (avcodec_receive_frame_result == AVERROR_EOF) { @@ -920,7 +936,7 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( break; } - /* +#if ENABLE_TRACING kLogger.trace() << "After receiving decoded frame:" << "m_curFrameIndex" << m_curFrameIndex @@ -928,7 +944,7 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( << "decodedFrameRange" << decodedFrameRange << "writableRange" << writableRange << "missingFrameCount" << missingFrameCount; - */ +#endif DEBUG_ASSERT(readFrameIndex != kFrameIndexInvalid); DEBUG_ASSERT(readFrameIndex != kFrameIndexUnknown); @@ -984,7 +1000,7 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( missingFrameCount = decodedFrameRange.start() - readFrameIndex; } - /* +#if ENABLE_TRACING kLogger.trace() << "Before resampling:" << "m_curFrameIndex" << m_curFrameIndex @@ -992,7 +1008,7 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( << "decodedFrameRange" << decodedFrameRange << "writableRange" << writableRange << "missingFrameCount" << missingFrameCount; - */ +#endif DEBUG_ASSERT(readFrameIndex <= decodedFrameRange.start()); // NOTE: Decoding might start at a negative position for the first // frame of the file! In this case readFrameIndex < decodedFrameRange().start(), @@ -1010,7 +1026,9 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( // Sometimes the channel layout is undefined. m_pavDecodedFrame->channel_layout = m_avStreamChannelLayout; } - //avTrace("Resampling decoded frame", *m_pavDecodedFrame); +#if ENABLE_TRACING + avTrace("Resampling decoded frame", *m_pavDecodedFrame); +#endif const auto swr_convert_frame_result = swr_convert_frame( m_pSwrContext, @@ -1025,7 +1043,9 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( m_curFrameIndex = kFrameIndexInvalid; break; } - //avTrace("Received resampled frame", *m_pavResampledFrame); +#if ENABLE_TRACING + avTrace("Received resampled frame", *m_pavResampledFrame); +#endif DEBUG_ASSERT(m_pavDecodedFrame->pts = m_pavResampledFrame->pts); DEBUG_ASSERT(m_pavDecodedFrame->nb_samples = m_pavResampledFrame->nb_samples); pDecodedSampleData = reinterpret_cast( @@ -1077,7 +1097,7 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( readFrameIndex += preskipDecodedFrameCount; m_curFrameIndex = readFrameIndex; - /* +#if ENABLE_TRACING kLogger.trace() << "Before writing:" << "m_curFrameIndex" << m_curFrameIndex @@ -1085,7 +1105,7 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( << "decodedFrameRange" << decodedFrameRange << "writableRange" << writableRange << "missingFrameCount" << missingFrameCount; - */ +#endif // Consume all sample data from missing and decoded ranges // that overlap with writableRange. @@ -1128,7 +1148,7 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( m_curFrameIndex = readFrameIndex; } - /* +#if ENABLE_TRACING kLogger.trace() << "Before buffering:" << "m_curFrameIndex" << m_curFrameIndex @@ -1136,7 +1156,7 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( << "decodedFrameRange" << decodedFrameRange << "writableRange" << writableRange << "missingFrameCount" << missingFrameCount; - */ +#endif // Buffer remaining unread sample data from // missing and decoded ranges From 32dd69a9b5ec7a157e30481f231e0595a3c10273 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Mon, 27 May 2019 00:23:27 +0200 Subject: [PATCH 25/43] Fix mapping of stream start/end time to frame range The cue positions now almost exactly match those of SoundSourceMP3 (libmad) and SoundSourceM4A (libfaad2). --- src/sources/soundsourceffmpeg4.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/sources/soundsourceffmpeg4.cpp b/src/sources/soundsourceffmpeg4.cpp index 299323fcd74..3f15406fc54 100644 --- a/src/sources/soundsourceffmpeg4.cpp +++ b/src/sources/soundsourceffmpeg4.cpp @@ -99,7 +99,7 @@ inline SINT convertStreamTimeToFrameIndex(const AVStream& avStream, int64_t pts) // getStreamStartTime(avStream) -> 1st audible frame at kMinFrameIndex return kMinFrameIndex + av_rescale_q( - pts - getStreamStartTime(avStream), + pts, avStream.time_base, (AVRational){1, avStream.codecpar->sample_rate}); } @@ -107,14 +107,12 @@ inline SINT convertStreamTimeToFrameIndex(const AVStream& avStream, int64_t pts) inline int64_t convertFrameIndexToStreamTime(const AVStream& avStream, SINT frameIndex) { // Inverse mapping of convertStreamTimeToFrameIndex() return av_rescale_q( - frameIndex - kMinFrameIndex, - (AVRational){1, avStream.codecpar->sample_rate}, - avStream.time_base) + - getStreamStartTime(avStream); + frameIndex - kMinFrameIndex, + (AVRational){1, avStream.codecpar->sample_rate}, + avStream.time_base); } IndexRange getStreamFrameIndexRange(const AVStream& avStream) { - DEBUG_ASSERT(kMinFrameIndex == convertStreamTimeToFrameIndex(avStream, getStreamStartTime(avStream))); return IndexRange::forward( kMinFrameIndex, convertStreamTimeToFrameIndex(avStream, getStreamEndTime(avStream))); From f1570224e77a7c3e514bbadf36bc103c0158223e Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Thu, 30 May 2019 09:48:00 +0200 Subject: [PATCH 26/43] Add a WMA test file ...but the seek & decoding tests with FFmpeg fail and support for this format has to remain disabled. --- src/sources/soundsourceffmpeg4.cpp | 8 ++++---- src/test/id3-test-data/cover-test.wma | Bin 0 -> 519044 bytes src/test/soundproxy_test.cpp | 5 +++++ 3 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 src/test/id3-test-data/cover-test.wma diff --git a/src/sources/soundsourceffmpeg4.cpp b/src/sources/soundsourceffmpeg4.cpp index 3f15406fc54..7089c626627 100644 --- a/src/sources/soundsourceffmpeg4.cpp +++ b/src/sources/soundsourceffmpeg4.cpp @@ -361,6 +361,10 @@ QStringList SoundSourceProviderFFmpeg4::getSupportedFileExtensions() const { // https://trac.ffmpeg.org/ticket/3825 list.append("ogg"); continue; + } else if (!strcmp(pavInputFormat->name, "wma") || + !strcmp(pavInputFormat->name, "xwma")) { + list.append("wma"); + continue; */ /////////////////////////////////////////////////////////// // Untested codecs @@ -384,10 +388,6 @@ QStringList SoundSourceProviderFFmpeg4::getSupportedFileExtensions() const { } else if (!strcmp(pavInputFormat->name, "tta")) { list.append("tta"); continue; - } else if (!strcmp(pavInputFormat->name, "wma") || - !strcmp(pavInputFormat->name, "xwma")) { - list.append("wma"); - continue; */ } } diff --git a/src/test/id3-test-data/cover-test.wma b/src/test/id3-test-data/cover-test.wma new file mode 100644 index 0000000000000000000000000000000000000000..bf0a9a9b6cf455d56ea262fc6cd136950437eab1 GIT binary patch literal 519044 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�MA!BqPI`+00haY5 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 Zo3wfPztskp(Jz-%|9{w>W4)QJ{|CyUOBDbB literal 0 HcmV?d00001 diff --git a/src/test/soundproxy_test.cpp b/src/test/soundproxy_test.cpp index b2b4f1ecc51..3fe346b1983 100644 --- a/src/test/soundproxy_test.cpp +++ b/src/test/soundproxy_test.cpp @@ -60,6 +60,7 @@ class SoundSourceProxyTest: public MixxxTest { << ".ogg" << ".opus" << ".wav" + << ".wma" << ".wv"; QStringList supportedFileNameSuffixes; @@ -67,6 +68,10 @@ class SoundSourceProxyTest: public MixxxTest { // We need to check for the whole file name here! if (SoundSourceProxy::isFileNameSupported(fileNameSuffix)) { supportedFileNameSuffixes << fileNameSuffix; + } else { + qInfo() + << "Ignoring unsupported file type" + << fileNameSuffix; } } return supportedFileNameSuffixes; From 8bbacbe9eb774646527203f6a81aefa39552d417 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Thu, 30 May 2019 12:23:55 +0200 Subject: [PATCH 27/43] Fix debug assertion for some M4A files with start_time > 0 --- src/sources/soundsourceffmpeg4.cpp | 50 +++++++++++++++++++++++------- 1 file changed, 39 insertions(+), 11 deletions(-) diff --git a/src/sources/soundsourceffmpeg4.cpp b/src/sources/soundsourceffmpeg4.cpp index 7089c626627..294b04e8bc1 100644 --- a/src/sources/soundsourceffmpeg4.cpp +++ b/src/sources/soundsourceffmpeg4.cpp @@ -114,7 +114,7 @@ inline int64_t convertFrameIndexToStreamTime(const AVStream& avStream, SINT fram IndexRange getStreamFrameIndexRange(const AVStream& avStream) { return IndexRange::forward( - kMinFrameIndex, + convertStreamTimeToFrameIndex(avStream, getStreamStartTime(avStream)), convertStreamTimeToFrameIndex(avStream, getStreamEndTime(avStream))); } @@ -544,10 +544,6 @@ SoundSource::OpenResult SoundSourceFFmpeg4::tryOpen( m_pavCodecContext->sample_fmt; const auto sampleRate = SampleRate(m_pavStream->codecpar->sample_rate); - const auto streamBitrate = - Bitrate(m_pavStream->codecpar->bit_rate / 1000); // kbps - const auto frameIndexRange = - getStreamFrameIndexRange(*m_pavStream); DEBUG_ASSERT(!m_pavDecodedFrame); m_pavDecodedFrame = av_frame_alloc(); @@ -622,6 +618,8 @@ SoundSource::OpenResult SoundSourceFFmpeg4::tryOpen( return OpenResult::Aborted; } + const auto streamBitrate = + Bitrate(m_pavStream->codecpar->bit_rate / 1000); // kbps if (streamBitrate.valid() && !initBitrateOnce(streamBitrate)) { kLogger.warning() << "Failed to initialize bitrate" @@ -629,6 +627,26 @@ SoundSource::OpenResult SoundSourceFFmpeg4::tryOpen( return OpenResult::Failed; } + const auto streamFrameIndexRange = + getStreamFrameIndexRange(*m_pavStream); + // The nominal frame index range includes the lead-in that + // is filled with silence during decoding. This is required + // for both for backward compatibility and for interoperability + // with external applications! + // See also the discussion regarding cue point shift/offset: + // https://mixxx.zulipchat.com/#narrow/stream/109171-development/topic/Cue.20shift.2Foffset + VERIFY_OR_DEBUG_ASSERT(kMinFrameIndex <= streamFrameIndexRange.start()) { + kLogger.warning() + << "Stream with unsupported or invalid frame index range" + << streamFrameIndexRange; + return OpenResult::Failed; + } + if (kMinFrameIndex < streamFrameIndexRange.start()) { + kLogger.debug() + << "Lead-in frames" + << IndexRange::between(kMinFrameIndex, streamFrameIndexRange.start()); + } + const auto frameIndexRange = IndexRange::between(kMinFrameIndex, streamFrameIndexRange.end()); if (!initFrameIndexRangeOnce(frameIndexRange)) { kLogger.warning() << "Failed to initialize frame index range" @@ -906,6 +924,14 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( if (!writableRange.empty()) { DEBUG_ASSERT(readFrameIndex < writableRange.end()); DEBUG_ASSERT(m_sampleBuffer.empty()); + // Due to the lead-in with a start_time > 0 some encoded + // files are shorter then actually reported. This may vary + // depending on the encoder version, because sometimes the + // lead-in is included in the stream's duration and sometimes + // not. Short periods of silence at the end of a track are + // acceptable in favor of a consistent handling of the lead-in, + // because they may affect only the position of the outro end + // point and not any other position markers! kLogger.debug() << "Stream ends at sample frame" << readFrameIndex @@ -1058,15 +1084,17 @@ ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( // v // | missingFrameCount |<- decodedFrameRange ->| - VERIFY_OR_DEBUG_ASSERT(readFrameIndex <= writableRange.start()) { + if (readFrameIndex > writableRange.start()) { // The decoder has skipped some sample data that needs to // be filled with silence to continue decoding! - // NOTE(2019-02-09, uklotzde): This should never happen, but - // we are seeing this error when decoding our .ogg test file! const auto missingRange = IndexRange::between(writableRange.start(), readFrameIndex); - kLogger.warning() - << "Missing sample data" - << missingRange; + // This should only happen at the beginning of a stream + // with a lead-in due to start_time > 0. + VERIFY_OR_DEBUG_ASSERT(intersect(missingRange, getStreamFrameIndexRange(*m_pavStream)).empty()) { + kLogger.warning() + << "Missing sample data within decoded stream" + << intersect(missingRange, getStreamFrameIndexRange(*m_pavStream)); + } const auto clearRange = intersect(missingRange, writableRange); if (clearRange.length() > 0) { const auto clearSampleCount = From 935563effc9c018532162c23f95c027ee11f4651 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Sun, 30 Jun 2019 22:12:41 +0200 Subject: [PATCH 28/43] Delete obsolete #include directive --- src/test/soundproxy_test.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/test/soundproxy_test.cpp b/src/test/soundproxy_test.cpp index 3fe346b1983..316eedf12c1 100644 --- a/src/test/soundproxy_test.cpp +++ b/src/test/soundproxy_test.cpp @@ -8,10 +8,6 @@ #include "track/trackmetadata.h" #include "util/samplebuffer.h" -#ifdef __OPUS__ -#include "sources/soundsourceopus.h" -#endif // __OPUS__ - namespace { const QDir kTestDir(QDir::current().absoluteFilePath("src/test/id3-test-data")); From 5cf2f26fedee7cbed2ee5aa1d525a0192b29c5ed Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Wed, 3 Jul 2019 22:43:50 +0200 Subject: [PATCH 29/43] Replace SoundSourceFFmpeg with new implementation for FFmpeg 4.x --- .travis.yml | 4 +- SConstruct | 3 +- appveyor.yml | 4 +- build/features.py | 101 +- src/sources/soundsourceffmpeg.cpp | 1852 ++++++++++++++++------------ src/sources/soundsourceffmpeg.h | 284 ++--- src/sources/soundsourceffmpeg4.cpp | 1257 ------------------- src/sources/soundsourceffmpeg4.h | 194 --- src/sources/soundsourceproxy.cpp | 12 +- src/test/soundproxy_test.cpp | 21 +- 10 files changed, 1166 insertions(+), 2566 deletions(-) delete mode 100644 src/sources/soundsourceffmpeg4.cpp delete mode 100644 src/sources/soundsourceffmpeg4.h diff --git a/.travis.yml b/.travis.yml index e46f2513c80..e49712aa0da 100644 --- a/.travis.yml +++ b/.travis.yml @@ -79,8 +79,8 @@ install: # NOTE(rryan): 2016-11-15 we are experiencing Travis timeouts for the OSX # build. Turning off optimizations to see if that speeds up compile times. # TODO(rryan): localecompare doesn't work on Travis with qt5 for some reason. - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export EXTRA_FLAGS=" ffmpeg4=1 optimize=none asan=0 localecompare=0" ; fi - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export EXTRA_FLAGS=" ffmpeg=1 localecompare=1" ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export EXTRA_FLAGS=" ffmpeg=1 optimize=none asan=0 localecompare=0" ; fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export EXTRA_FLAGS=" localecompare=1" ; fi #### # Common Build diff --git a/SConstruct b/SConstruct index a4f3b07cb06..9be53debac7 100644 --- a/SConstruct +++ b/SConstruct @@ -48,7 +48,7 @@ available_features = [features.Mad, features.Verbose, features.Optimize, features.FAAD, - features.FFmpeg4, + features.FFmpeg, features.WavPack, features.ModPlug, features.TestSuite, @@ -62,7 +62,6 @@ available_features = [features.Mad, # "Features" of dubious quality features.PerfTools, features.AsmLib, - features.FFMPEG ] build = mixxx.MixxxBuild(target, machine, build_type, diff --git a/appveyor.yml b/appveyor.yml index 835e65bd2da..0ac27af9dd9 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -53,8 +53,8 @@ for: - sudo apt-get -y install gdb libavformat-dev libchromaprint-dev libfaad-dev libflac-dev libid3tag0-dev libmad0-dev libmodplug-dev libmp3lame-dev libmp4v2-dev libopus-dev libopusfile-dev libportmidi-dev libprotobuf-dev libqt5opengl5-dev libqt5sql5-sqlite libqt5svg5-dev librubberband-dev libshout3-dev libsndfile1-dev libsqlite3-dev libtag1-dev libupower-glib-dev libusb-1.0-0-dev libwavpack-dev portaudio19-dev protobuf-compiler qt5-default qtscript5-dev libqt5x11extras5-dev scons qt5keychain-dev liblilv-dev libsoundtouch-dev build_script: - # ffmpeg4=1 is not supported by Ubuntu 18.04 (FFmpeg 3.4.x) - - scons -j4 test=1 mad=1 faad=1 ffmpeg=1 opus=1 modplug=1 wv=1 hss1394=0 virtualize=0 debug_assertions_fatal=1 verbose=0 localecompare=1 + # ffmpeg=1 requires FFmpeg 4.0, but Ubuntu 18.04 still provides only FFmpeg 3.4.x + - scons -j4 test=1 mad=1 faad=1 opus=1 modplug=1 wv=1 hss1394=0 virtualize=0 debug_assertions_fatal=1 verbose=0 localecompare=1 test_script: - xvfb-run -- ./mixxx-test --gtest_output=xml:test_results.xml diff --git a/build/features.py b/build/features.py index 84bd76e418b..7f4e5efee5b 100644 --- a/build/features.py +++ b/build/features.py @@ -747,9 +747,9 @@ def sources(self, build): 'src/encoder/encoderopus.cpp'] -class FFMPEG(Feature): +class FFmpeg(Feature): def description(self): - return "FFmpeg/Avconv support" + return "FFmpeg 4.x support" def enabled(self, build): build.flags['ffmpeg'] = util.get_flags(build.env, 'ffmpeg', 0) @@ -758,98 +758,7 @@ def enabled(self, build): return False def add_options(self, build, vars): - vars.Add('ffmpeg', 'Set to 1 to enable FFmpeg/Avconv support \ - (supported FFmpeg 0.11-2.x and Avconv 0.8.x-11.x)', 0) - - def configure(self, build, conf): - if not self.enabled(build): - return - - # Supported version are FFmpeg 0.11-2.x and Avconv 0.8.x-11.x - # FFmpeg is multimedia library that can be found http://ffmpeg.org/ - # Avconv is fork of FFmpeg that is used mainly in Debian and Ubuntu - # that can be found http://libav.org - if build.platform_is_linux or build.platform_is_osx \ - or build.platform_is_bsd: - # Check for libavcodec, libavformat - # I just randomly picked version numbers lower than mine for this - if not conf.CheckForPKG('libavcodec', '53.35.0'): - raise Exception('Missing libavcodec or it\'s too old! It can ' - 'be separated from main package so check your ' - 'operating system packages.') - if not conf.CheckForPKG('libavformat', '53.21.0'): - raise Exception('Missing libavformat or it\'s too old! ' - 'It can be separated from main package so ' - 'check your operating system packages.') - - # Needed to build new FFmpeg - build.env.Append(CCFLAGS='-D__STDC_CONSTANT_MACROS') - build.env.Append(CCFLAGS='-D__STDC_LIMIT_MACROS') - build.env.Append(CCFLAGS='-D__STDC_FORMAT_MACROS') - - # Grabs the libs and cflags for FFmpeg - build.env.ParseConfig('pkg-config libavcodec --silence-errors \ - --cflags --libs') - build.env.ParseConfig('pkg-config libavformat --silence-errors \ - --cflags --libs') - build.env.ParseConfig('pkg-config libavutil --silence-errors \ - --cflags --libs') - - build.env.Append(CPPDEFINES='__FFMPEGFILE__') - self.status = "Enabled" - - else: - # aptitude install libavcodec-dev libavformat-dev liba52-0.7.4-dev - # libdts-dev - # Append some stuff to CFLAGS in Windows also - build.env.Append(CCFLAGS='-D__STDC_CONSTANT_MACROS') - build.env.Append(CCFLAGS='-D__STDC_LIMIT_MACROS') - build.env.Append(CCFLAGS='-D__STDC_FORMAT_MACROS') - - build.env.Append(LIBS='avcodec') - build.env.Append(LIBS='avformat') - build.env.Append(LIBS='avutil') - build.env.Append(LIBS='z') - build.env.Append(LIBS='swresample') - # build.env.Append(LIBS = 'a52') - # build.env.Append(LIBS = 'dts') - build.env.Append(LIBS='gsm') - # build.env.Append(LIBS = 'dc1394_control') - # build.env.Append(LIBS = 'dl') - build.env.Append(LIBS='vorbisenc') - # build.env.Append(LIBS = 'raw1394') - build.env.Append(LIBS='vorbis') - build.env.Append(LIBS='m') - build.env.Append(LIBS='ogg') - build.env.Append(CPPDEFINES='__FFMPEGFILE__') - - # Add new path for FFmpeg header files. - # Non-crosscompiled builds need this too, don't they? - if build.crosscompile and build.platform_is_windows \ - and build.toolchain_is_gnu: - build.env.Append(CPPPATH=os.path.join(build.crosscompile_root, - 'include', 'ffmpeg')) - - def sources(self, build): - return ['src/sources/soundsourceffmpeg.cpp', - 'src/encoder/encoderffmpegresample.cpp', - 'src/encoder/encoderffmpegcore.cpp', - 'src/encoder/encoderffmpegmp3.cpp', - 'src/encoder/encoderffmpegvorbis.cpp'] - - -class FFmpeg4(Feature): - def description(self): - return "FFmpeg 4.x support" - - def enabled(self, build): - build.flags['ffmpeg4'] = util.get_flags(build.env, 'ffmpeg4', 0) - if int(build.flags['ffmpeg4']): - return True - return False - - def add_options(self, build, vars): - vars.Add('ffmpeg4', 'Set to 1 to enable FFmpeg 4.x support', 0) + vars.Add('ffmpeg', 'Set to 1 to enable FFmpeg 4.x support', 0) def configure(self, build, conf): if not self.enabled(build): @@ -887,7 +796,7 @@ def configure(self, build, conf): build.env.ParseConfig('pkg-config libavutil --silence-errors \ --cflags --libs') - build.env.Append(CPPDEFINES='__FFMPEG4__') + build.env.Append(CPPDEFINES='__FFMPEG__') self.status = "Enabled" else: @@ -895,7 +804,7 @@ def configure(self, build, conf): 'for your platform') def sources(self, build): - return ['src/sources/soundsourceffmpeg4.cpp'] + return ['src/sources/soundsourceffmpeg.cpp'] class Optimize(Feature): diff --git a/src/sources/soundsourceffmpeg.cpp b/src/sources/soundsourceffmpeg.cpp index 7b0bdbc805f..0878e96c591 100644 --- a/src/sources/soundsourceffmpeg.cpp +++ b/src/sources/soundsourceffmpeg.cpp @@ -1,303 +1,413 @@ #include "sources/soundsourceffmpeg.h" -#include "encoder/encoderffmpegresample.h" - #include "util/logger.h" +#include "util/sample.h" +#include #include -#include - -#define LIBAVCODEC_HAS_AV_PACKET_UNREF \ - (LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 8, 0)) -#define AUDIOSOURCEFFMPEG_CACHESIZE 1000 -#define AUDIOSOURCEFFMPEG_MIXXXFRAME_TO_BYTEOFFSET(numFrames) (frames2samples(numFrames) * sizeof(CSAMPLE)) -#define AUDIOSOURCEFFMPEG_BYTEOFFSET_TO_MIXXXFRAME(byteOffset) (samples2frames(byteOffset / sizeof(CSAMPLE))) -#define AUDIOSOURCEFFMPEG_FILL_FROM_CURRENTPOS -1 +#define ENABLE_TRACING false namespace mixxx { namespace { +constexpr AVSampleFormat kavSampleFormat = AV_SAMPLE_FMT_FLT; + +constexpr uint64_t kavChannelLayoutUndefined = 0; + +constexpr int64_t kavMinStartTime = 0; + +// Use 0-based sample frame indexing +constexpr SINT kMinFrameIndex = 0; + +constexpr SINT kFrameIndexInvalid = std::numeric_limits::min(); + +constexpr SINT kFrameIndexUnknown = std::numeric_limits::max(); + +constexpr SINT kSamplesPerMP3Frame = 1152; + +// The minimum capacity for the internal sample buffer to +// store decoded data that has not been read/consumed yet. +// NOTE(2019-02-08, uklotzde): A capacity of 64 kB seem to +// be sufficient for most use cases when using FFmpeg 4.0.x. +constexpr SINT kMinSampleBufferCapacity = 65536; + const Logger kLogger("SoundSourceFFmpeg"); std::once_flag initFFmpegLibFlag; +// FFmpeg API Changes: +// https://github.com/FFmpeg/FFmpeg/blob/master/doc/APIchanges + // This function must be called once during startup. void initFFmpegLib() { #if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 9, 100) av_register_all(); #endif +#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 10, 100) avcodec_register_all(); +#endif } -// More than 2 channels are currently not supported -const SINT kMaxChannelCount = 2; - -inline AVMediaType getMediaTypeOfStream(AVStream* pStream) { - return m_pAVStreamWrapper.getMediaTypeOfStream(pStream); +inline uint64_t getStreamChannelLayout(const AVStream& avStream) { + auto channel_layout = avStream.codecpar->channel_layout; + if (channel_layout == kavChannelLayoutUndefined) { + // Workaround: FFmpeg sometimes fails to determine the channel + // layout, e.g. for a mono WAV files with a single channel! + channel_layout = av_get_default_channel_layout(avStream.codecpar->channels); + kLogger.info() + << "Unknown channel layout -> using default layout" + << channel_layout + << "for" + << avStream.codecpar->channels + << "channel(s)"; + } + return channel_layout; } -AVStream* findFirstAudioStream(AVFormatContext* pFormatCtx) { - DEBUG_ASSERT(pFormatCtx != nullptr); - // Start search at the first stream - unsigned int iNextStream = 0; - while (iNextStream < pFormatCtx->nb_streams) { - AVStream* pNextStream = pFormatCtx->streams[iNextStream]; - if (getMediaTypeOfStream(pNextStream) == AVMEDIA_TYPE_AUDIO) { - return pNextStream; - } else { - // Continue search at the next stream - ++iNextStream; - } +inline int64_t getStreamStartTime(const AVStream& avStream) { + auto start_time = avStream.start_time; + if (start_time == AV_NOPTS_VALUE) { + // This case is not unlikely, e.g. happens when decoding WAV files. +#if ENABLE_TRACING + kLogger.trace() + << "Unknown start time -> using default value" + << kavMinStartTime; +#endif + start_time = kavMinStartTime; } - return nullptr; + VERIFY_OR_DEBUG_ASSERT(start_time >= kavMinStartTime) { + kLogger.warning() + << "Adjusting start time:" + << start_time + << "->" + << kavMinStartTime; + return kavMinStartTime; + } + return start_time; } -inline AVCodec* findDecoderForStream(AVStream* pStream) { - return m_pAVStreamWrapper.findDecoderForStream(pStream); +inline int64_t getStreamEndTime(const AVStream& avStream) { + // The duration is the actually the end time of the stream, + // i.e. pts always starts at 0 independent of the start_time! + DEBUG_ASSERT(avStream.duration >= getStreamStartTime(avStream)); + return avStream.duration; } -inline mixxx::AudioSignal::ChannelCount getChannelCountOfStream(AVStream* pStream) { - return mixxx::AudioSignal::ChannelCount( - m_pAVStreamWrapper.getChannelCountOfStream(pStream)); +inline SINT convertStreamTimeToFrameIndex(const AVStream& avStream, int64_t pts) { + // getStreamStartTime(avStream) -> 1st audible frame at kMinFrameIndex + return kMinFrameIndex + + av_rescale_q( + pts, + avStream.time_base, + (AVRational){1, avStream.codecpar->sample_rate}); } -inline mixxx::AudioSignal::SampleRate getSampleRateOfStream(AVStream* pStream) { - return mixxx::AudioSignal::SampleRate( - m_pAVStreamWrapper.getSampleRateOfStream(pStream)); +inline int64_t convertFrameIndexToStreamTime(const AVStream& avStream, SINT frameIndex) { + // Inverse mapping of convertStreamTimeToFrameIndex() + return av_rescale_q( + frameIndex - kMinFrameIndex, + (AVRational){1, avStream.codecpar->sample_rate}, + avStream.time_base); } -inline bool getFrameIndexRangeOfStream(AVStream* pStream, mixxx::IndexRange* pFrameIndexRange) { - // NOTE(uklotzde): Use 64-bit integer instead of floating point - // calculations to minimize rounding errors - DEBUG_ASSERT(pFrameIndexRange); - DEBUG_ASSERT(pStream->duration >= 0); - int64_t int64val = pStream->duration; - if (int64val <= 0) { - // Empty stream - *pFrameIndexRange = mixxx::IndexRange(); - return true; - } - DEBUG_ASSERT(getSampleRateOfStream(pStream) > 0); - int64val *= getSampleRateOfStream(pStream); - VERIFY_OR_DEBUG_ASSERT(int64val > 0) { - // Integer overflow - kLogger.warning() - << "Integer overflow during calculation of frame count"; - return false; +IndexRange getStreamFrameIndexRange(const AVStream& avStream) { + return IndexRange::forward( + convertStreamTimeToFrameIndex(avStream, getStreamStartTime(avStream)), + convertStreamTimeToFrameIndex(avStream, getStreamEndTime(avStream))); +} + +SINT getStreamSeekPrerollFrameCount(const AVStream& avStream) { + // Stream might not provide an appropriate value that is + // sufficient for sample accurate decoding + const SINT defaultSeekPrerollFrameCount = + avStream.codecpar->seek_preroll; + DEBUG_ASSERT(defaultSeekPrerollFrameCount >= 0); + switch (avStream.codecpar->codec_id) { + case AV_CODEC_ID_MP3: + case AV_CODEC_ID_MP3ON4: { + // In the worst case up to 29 MP3 frames need to be prerolled + // for accurate seeking: + // http://www.mars.org/mailman/public/mad-dev/2002-May/000634.html + // But that would require to (re-)decode many frames after each seek + // operation, which increases the chance that dropouts may occur. + // As a compromise we will preroll only 9 instead of 29 frames. + // Those 9 frames should at least drain the bit reservoir. + DEBUG_ASSERT(avStream.codecpar->channels <= 2); + const SINT mp3SeekPrerollFrameCount = + 9 * (kSamplesPerMP3Frame / avStream.codecpar->channels); + return math_max(mp3SeekPrerollFrameCount, defaultSeekPrerollFrameCount); } - DEBUG_ASSERT(pStream->time_base.num > 0); - int64val *= pStream->time_base.num; - VERIFY_OR_DEBUG_ASSERT(int64val > 0) { - // Integer overflow - kLogger.warning() - << "Integer overflow during calculation of frame count"; - return false; + case AV_CODEC_ID_AAC: + case AV_CODEC_ID_AAC_LATM: { + // "AAC Audio - Encoder Delay and Synchronization: The 2112 Sample Assumption" + // https://developer.apple.com/library/ios/technotes/tn2258/_index.html + // "It must also be assumed that without an explicit value, the playback + // system will trim 2112 samples from the AAC decoder output when starting + // playback from any point in the bistream." + // See also: https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/QTFFAppenG/QTFFAppenG.html + const SINT aacSeekPrerollFrameCount = 2112; + return math_max(aacSeekPrerollFrameCount, defaultSeekPrerollFrameCount); } - DEBUG_ASSERT(pStream->time_base.den > 0); - int64val /= pStream->time_base.den; - SINT frameCount = int64val; - VERIFY_OR_DEBUG_ASSERT(static_cast(frameCount) == int64val) { - // Integer truncation - kLogger.warning() - << "Integer truncation during calculation of frame count"; - return false; + default: + return defaultSeekPrerollFrameCount; } - *pFrameIndexRange = mixxx::IndexRange::forward(0, frameCount); - return true; } -inline AVSampleFormat getSampleFormatOfStream(AVStream* pStream) { - return m_pAVStreamWrapper.getSampleFormatOfStream(pStream); +QString formatErrorMessage(int errnum) { + char errbuf[256]; + if (av_strerror(errnum, errbuf, sizeof(errbuf) / sizeof(errbuf[0]) == 0)) { + return QString("%1 (%2)").arg(errbuf, errnum); + } else { + return QString("No description for error code (%1) found").arg(errnum); + } } -} // anonymous namespace - -SoundSourceProviderFFmpeg::SoundSourceProviderFFmpeg() { - std::call_once(initFFmpegLibFlag, initFFmpegLib); +#if ENABLE_TRACING +inline void avTrace(const char* preamble, const AVPacket& avPacket) { + if (kLogger.traceEnabled()) { + kLogger.trace() << preamble + << "{ stream_index" << avPacket.stream_index + << "| pos" << avPacket.pos + << "| size" << avPacket.size + << "| dst" << avPacket.dts + << "| pts" << avPacket.pts + << "| duration" << avPacket.duration + << '}'; + } } -QStringList SoundSourceProviderFFmpeg::getSupportedFileExtensions() const { - QStringList list; - AVInputFormat* l_SInputFmt = nullptr; - - while ((l_SInputFmt = av_iformat_next(l_SInputFmt))) { - if (l_SInputFmt->name == nullptr) { - break; // exit loop - } - - kLogger.debug() << "FFmpeg input format:" << l_SInputFmt->name; - - if (!strcmp(l_SInputFmt->name, "ac3")) { - list.append("ac3"); - } else if (!strcmp(l_SInputFmt->name, "aiff")) { - list.append("aif"); - list.append("aiff"); - } else if (!strcmp(l_SInputFmt->name, "caf")) { - list.append("caf"); - } else if (!strcmp(l_SInputFmt->name, "flac")) { - list.append("flac"); - } else if (!strcmp(l_SInputFmt->name, "ogg")) { - list.append("ogg"); - } else if (!strcmp(l_SInputFmt->name, "mov,mp4,m4a,3gp,3g2,mj2")) { - list.append("m4a"); - list.append("mp4"); - } else if (!strcmp(l_SInputFmt->name, "mp4")) { - list.append("mp4"); - } else if (!strcmp(l_SInputFmt->name, "mp3")) { - list.append("mp3"); - } else if (!strcmp(l_SInputFmt->name, "aac")) { - list.append("aac"); - } else if (!strcmp(l_SInputFmt->name, "opus") || - !strcmp(l_SInputFmt->name, "libopus")) { - list.append("opus"); - } else if (!strcmp(l_SInputFmt->name, "tak")) { - list.append("tak"); - } else if (!strcmp(l_SInputFmt->name, "tta")) { - list.append("tta"); - } else if (!strcmp(l_SInputFmt->name, "wav")) { - list.append("wav"); - } else if (!strcmp(l_SInputFmt->name, "wma") or - !strcmp(l_SInputFmt->name, "xwma")) { - list.append("wma"); - } else if (!strcmp(l_SInputFmt->name, "wv")) { - list.append("wv"); - } +inline void avTrace(const char* preamble, const AVFrame& avFrame) { + if (kLogger.traceEnabled()) { + kLogger.trace() << preamble + << "{ channels" << avFrame.channels + << "| channel_layout" << avFrame.channel_layout + << "| format" << avFrame.format + << "| sample_rate" << avFrame.sample_rate + << "| pkt_dts" << avFrame.pkt_dts + << "| pkt_duration" << avFrame.pkt_duration + << "| pts" << avFrame.pts + << "| nb_samples" << avFrame.nb_samples + << '}'; } - - return list; } +#endif // ENABLE_TRACING -//static -AVFormatContext* SoundSourceFFmpeg::openInputFile( +AVFormatContext* openInputFile( const QString& fileName) { -#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55, 69, 0) - // TODO(XXX): Why do we need to allocate and partially initialize - // the AVFormatContext struct before opening the input file??? - AVFormatContext* pInputFormatContext = avformat_alloc_context(); - if (pInputFormatContext == nullptr) { - kLogger.warning() - << "avformat_alloc_context() failed"; - return nullptr; - } - pInputFormatContext->max_analyze_duration = 999999999; -#else // Will be allocated implicitly when opening the input file - AVFormatContext* pInputFormatContext = nullptr; -#endif - - // libav replaces open() with ff_win32_open() which accepts a - // Utf8 path - // see: avformat/os_support.h - // The old method defining an URL_PROTOCOL is deprecated -#if defined(_WIN32) && !defined(__MINGW32CE__) - const QByteArray qBAFilename( - avformat_version() >= AV_VERSION_INT(52, 0, 0) ? fileName.toUtf8() : QFile::encodeName(fileName)); -#else - const QByteArray qBAFilename(QFile::encodeName(fileName)); -#endif + AVFormatContext* pavInputFormatContext = nullptr; // Open input file and allocate/initialize AVFormatContext const int avformat_open_input_result = avformat_open_input( - &pInputFormatContext, qBAFilename.constData(), nullptr, nullptr); + &pavInputFormatContext, fileName.toLocal8Bit().constData(), nullptr, nullptr); if (avformat_open_input_result != 0) { + DEBUG_ASSERT(avformat_open_input_result < 0); + kLogger.warning() + << "avformat_open_input() failed:" + << formatErrorMessage(avformat_open_input_result).toLocal8Bit().constData(); + DEBUG_ASSERT(pavInputFormatContext == nullptr); + } + return pavInputFormatContext; +} + +bool openDecodingContext( + AVCodecContext* pavCodecContext) { + DEBUG_ASSERT(pavCodecContext != nullptr); + + const int avcodec_open2_result = avcodec_open2(pavCodecContext, pavCodecContext->codec, nullptr); + if (avcodec_open2_result != 0) { + DEBUG_ASSERT(avcodec_open2_result < 0); kLogger.warning() - << "avformat_open_input() failed and returned" - << avformat_open_input_result; - DEBUG_ASSERT(pInputFormatContext == nullptr); + << "avcodec_open2() failed:" + << formatErrorMessage(avcodec_open2_result).toLocal8Bit().constData(); + return false; } - return pInputFormatContext; + return true; } -void SoundSourceFFmpeg::ClosableInputAVFormatContextPtr::take( - AVFormatContext** ppClosableInputFormatContext) { - DEBUG_ASSERT(ppClosableInputFormatContext != nullptr); - if (m_pClosableInputFormatContext != *ppClosableInputFormatContext) { +} // anonymous namespace + +void SoundSourceFFmpeg::InputAVFormatContextPtr::take( + AVFormatContext** ppavInputFormatContext) { + DEBUG_ASSERT(ppavInputFormatContext != nullptr); + if (m_pavInputFormatContext != *ppavInputFormatContext) { close(); - m_pClosableInputFormatContext = *ppClosableInputFormatContext; - *ppClosableInputFormatContext = nullptr; + m_pavInputFormatContext = *ppavInputFormatContext; + *ppavInputFormatContext = nullptr; } } -void SoundSourceFFmpeg::ClosableInputAVFormatContextPtr::close() { - if (m_pClosableInputFormatContext != nullptr) { - avformat_close_input(&m_pClosableInputFormatContext); - DEBUG_ASSERT(m_pClosableInputFormatContext == nullptr); +void SoundSourceFFmpeg::InputAVFormatContextPtr::close() { + if (m_pavInputFormatContext != nullptr) { + avformat_close_input(&m_pavInputFormatContext); + DEBUG_ASSERT(m_pavInputFormatContext == nullptr); } } //static -SoundSource::OpenResult SoundSourceFFmpeg::openAudioStream( - AVCodecContext* pCodecContext, AVCodec* pDecoder) { - DEBUG_ASSERT(pCodecContext != nullptr); - - const int avcodec_open2_result = avcodec_open2(pCodecContext, pDecoder, nullptr); - if (avcodec_open2_result < 0) { +SoundSourceFFmpeg::AVCodecContextPtr +SoundSourceFFmpeg::AVCodecContextPtr::alloc( + const AVCodec* codec) { + AVCodecContextPtr context(avcodec_alloc_context3(codec)); + if (!context) { kLogger.warning() - << "avcodec_open2() failed and returned" - << avcodec_open2_result; - return SoundSource::OpenResult::Failed; + << "avcodec_alloc_context3() failed for codec" + << codec->name; } - return SoundSource::OpenResult::Succeeded; + return context; } -void SoundSourceFFmpeg::ClosableAVStreamPtr::take(AVStream** ppClosableStream) { - DEBUG_ASSERT(ppClosableStream != nullptr); - if (m_pClosableStream != *ppClosableStream) { +void SoundSourceFFmpeg::AVCodecContextPtr::take(AVCodecContext** ppavCodecContext) { + DEBUG_ASSERT(ppavCodecContext != nullptr); + if (m_pavCodecContext != *ppavCodecContext) { close(); - m_pClosableStream = *ppClosableStream; - *ppClosableStream = nullptr; + m_pavCodecContext = *ppavCodecContext; + *ppavCodecContext = nullptr; } } -void SoundSourceFFmpeg::ClosableAVStreamPtr::close() { - if (m_pClosableStream != nullptr) { -#if !AVSTREAM_FROM_API_VERSION_3_1 - const int avcodec_close_result = avcodec_close(m_pClosableStream->codec); - if (avcodec_close_result != 0) { - kLogger.warning() - << "avcodec_close() failed and returned" - << avcodec_close_result; - // ignore error and continue - } -#endif - m_pClosableStream = nullptr; +void SoundSourceFFmpeg::AVCodecContextPtr::close() { + if (m_pavCodecContext != nullptr) { + avcodec_free_context(&m_pavCodecContext); + m_pavCodecContext = nullptr; } } -#if AVSTREAM_FROM_API_VERSION_3_1 -void SoundSourceFFmpeg::ClosableAVCodecContextPtr::take(AVCodecContext** ppClosableContext) { - DEBUG_ASSERT(ppClosableContext != nullptr); - if (m_pClosableContext != *ppClosableContext) { +void SoundSourceFFmpeg::SwrContextPtr::take( + SwrContext** ppSwrContext) { + DEBUG_ASSERT(m_pSwrContext != nullptr); + if (m_pSwrContext != *ppSwrContext) { close(); - m_pClosableContext = *ppClosableContext; - *ppClosableContext = nullptr; + m_pSwrContext = *ppSwrContext; + *ppSwrContext = nullptr; } } -void SoundSourceFFmpeg::ClosableAVCodecContextPtr::close() { - if (m_pClosableContext != nullptr) { - avcodec_free_context(&m_pClosableContext); - m_pClosableContext = nullptr; +void SoundSourceFFmpeg::SwrContextPtr::close() { + if (m_pSwrContext != nullptr) { + swr_free(&m_pSwrContext); + DEBUG_ASSERT(m_pSwrContext == nullptr); } } + +SoundSourceProviderFFmpeg::SoundSourceProviderFFmpeg() { + std::call_once(initFFmpegLibFlag, initFFmpegLib); +} + +QStringList SoundSourceProviderFFmpeg::getSupportedFileExtensions() const { + QStringList list; + + // Collect all supported formats (whitelist) +#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 9, 100) + AVInputFormat* pavInputFormat = nullptr; + while ((pavInputFormat = av_iformat_next(pavInputFormat))) { +#else + const AVInputFormat* pavInputFormat = nullptr; + void* iInputFormat = 0; + while ((pavInputFormat = av_demuxer_iterate(&iInputFormat))) { #endif + if (pavInputFormat->flags | AVFMT_SEEK_TO_PTS) { + /////////////////////////////////////////////////////////// + // Whitelist of tested codecs (including variants) + /////////////////////////////////////////////////////////// + if (!strcmp(pavInputFormat->name, "aac")) { + list.append("aac"); + continue; + } else if (!strcmp(pavInputFormat->name, "aiff")) { + list.append("aif"); + list.append("aiff"); + continue; + } else if (!strcmp(pavInputFormat->name, "mp3")) { + list.append("mp3"); + continue; + } else if (!strcmp(pavInputFormat->name, "mp4")) { + list.append("mp4"); + continue; + } else if (!strcmp(pavInputFormat->name, "m4v")) { + list.append("m4v"); + continue; + } else if (!strcmp(pavInputFormat->name, "mov,mp4,m4a,3gp,3g2,mj2")) { + list.append("mov"); + list.append("mp4"); + list.append("m4a"); + list.append("3gp"); + list.append("3g2"); + list.append("mj2"); + continue; + } else if (!strcmp(pavInputFormat->name, "opus") || !strcmp(pavInputFormat->name, "libopus")) { + list.append("opus"); + continue; + } else if (!strcmp(pavInputFormat->name, "wav")) { + list.append("wav"); + continue; + } else if (!strcmp(pavInputFormat->name, "wv")) { + list.append("wv"); + continue; + /////////////////////////////////////////////////////////// + // Codecs with failing tests + /////////////////////////////////////////////////////////// + /* + } else if (!strcmp(pavInputFormat->name, "flac")) { + // FFmpeg failure causes test failure: + // [flac @ 0x2ef2060] read_timestamp() failed in the middle + // SoundSourceFFmpeg - av_seek_frame() failed: Operation not permitted + list.append("flac"); + continue; + } else if (!strcmp(pavInputFormat->name, "ogg")) { + // Test failures that might be caused by FFmpeg bug: + // https://trac.ffmpeg.org/ticket/3825 + list.append("ogg"); + continue; + } else if (!strcmp(pavInputFormat->name, "wma") || + !strcmp(pavInputFormat->name, "xwma")) { + list.append("wma"); + continue; + */ + /////////////////////////////////////////////////////////// + // Untested codecs + /////////////////////////////////////////////////////////// + /* + } else if (!strcmp(pavInputFormat->name, "ac3")) { + list.append("ac3"); + continue; + } else if (!strcmp(pavInputFormat->name, "caf")) { + list.append("caf"); + continue; + } else if (!strcmp(pavInputFormat->name, "mpc")) { + list.append("mpc"); + continue; + } else if (!strcmp(pavInputFormat->name, "mpeg")) { + list.append("mpeg"); + continue; + } else if (!strcmp(pavInputFormat->name, "tak")) { + list.append("tak"); + continue; + } else if (!strcmp(pavInputFormat->name, "tta")) { + list.append("tta"); + continue; + */ + } + } + kLogger.info() + << "Disabling untested input format:" + << pavInputFormat->name; + continue; + } + + return list; +} SoundSourceFFmpeg::SoundSourceFFmpeg(const QUrl& url) : SoundSource(url), - m_pResample(nullptr), - m_currentMixxxFrameIndex(0), - m_bIsSeeked(false), - m_lCacheFramePos(0), - m_lCacheStartFrame(0), - m_lCacheEndFrame(0), - m_lCacheLastPos(0), - m_lLastStoredPos(0), - m_lStoreCount(0), - m_lStoredSeekPoint(-1), - m_SStoredJumpPoint(nullptr) { + m_pavStream(nullptr), + m_pavDecodedFrame(nullptr), + m_pavResampledFrame(nullptr), + m_sampleBuffer(kMinSampleBufferCapacity), + m_seekPrerollFrameCount(0), + m_curFrameIndex(kFrameIndexInvalid) { } SoundSourceFFmpeg::~SoundSourceFFmpeg() { @@ -306,672 +416,842 @@ SoundSourceFFmpeg::~SoundSourceFFmpeg() { SoundSource::OpenResult SoundSourceFFmpeg::tryOpen( OpenMode /*mode*/, - const OpenParams& /*config*/) { - AVFormatContext* pInputFormatContext = - openInputFile(getLocalFileName()); - if (pInputFormatContext == nullptr) { - kLogger.warning() - << "Failed to open input file" - << getLocalFileName(); - return OpenResult::Failed; + const OpenParams& params) { + // Open input + { + AVFormatContext* pavInputFormatContext = + openInputFile(getLocalFileName()); + if (pavInputFormatContext == nullptr) { + kLogger.warning() + << "Failed to open input file" + << getLocalFileName(); + return OpenResult::Failed; + } + m_pavInputFormatContext.take(&pavInputFormatContext); } - m_pInputFormatContext.take(&pInputFormatContext); // Retrieve stream information const int avformat_find_stream_info_result = - avformat_find_stream_info(m_pInputFormatContext, nullptr); - if (avformat_find_stream_info_result < 0) { + avformat_find_stream_info(m_pavInputFormatContext, nullptr); + if (avformat_find_stream_info_result != 0) { + DEBUG_ASSERT(avformat_find_stream_info_result < 0); kLogger.warning() - << "avformat_find_stream_info() failed and returned" - << avformat_find_stream_info_result; + << "avformat_find_stream_info() failed:" + << formatErrorMessage(avformat_find_stream_info_result).toLocal8Bit().constData(); return OpenResult::Failed; } - //debug only (Enable if needed) - //av_dump_format(m_pInputFormatContext, 0, qBAFilename.constData(), false); - - // Find and open audio stream for decoding - AVStream* pAudioStream = findFirstAudioStream(m_pInputFormatContext); - if (pAudioStream == nullptr) { - kLogger.warning() - << "No audio stream found"; - return OpenResult::Aborted; - } - - // Find codec to decode stream or pass out - AVCodec* pDecoder = findDecoderForStream(pAudioStream); - if (pDecoder == nullptr) { - kLogger.warning() - << "Failed to find a decoder for stream" - << pAudioStream->index; + // Find the best stream + AVCodec* pDecoder = nullptr; + const int av_find_best_stream_result = av_find_best_stream( + m_pavInputFormatContext, + AVMEDIA_TYPE_AUDIO, + /*wanted_stream_nb*/ -1, + /*related_stream*/ -1, + &pDecoder, + /*flags*/ 0); + if (av_find_best_stream_result < 0) { + switch (av_find_best_stream_result) { + case AVERROR_STREAM_NOT_FOUND: + kLogger.warning() + << "av_find_best_stream() failed to find an audio stream"; + break; + case AVERROR_DECODER_NOT_FOUND: + kLogger.warning() + << "av_find_best_stream() failed to find a decoder for any audio stream"; + break; + default: + kLogger.warning() + << "av_find_best_stream() failed:" + << formatErrorMessage(av_find_best_stream_result).toLocal8Bit().constData(); + } return SoundSource::OpenResult::Aborted; } + DEBUG_ASSERT(pDecoder); -#if AVSTREAM_FROM_API_VERSION_3_1 - AVCodecContext* pCodecContext = avcodec_alloc_context3(pDecoder); + // Select audio stream for decoding + AVStream* pavStream = m_pavInputFormatContext->streams[av_find_best_stream_result]; + DEBUG_ASSERT(pavStream != nullptr); + DEBUG_ASSERT(pavStream->index == av_find_best_stream_result); - if (pCodecContext == nullptr) { - kLogger.warning() - << "Failed to allocate codec context" - << pAudioStream->index; + // Allocate decoding context + AVCodecContextPtr pavCodecContext = AVCodecContextPtr::alloc(pDecoder); + if (!pavCodecContext) { return SoundSource::OpenResult::Aborted; } - // Add stream parameters to context - if (avcodec_parameters_to_context(pCodecContext, pAudioStream->codecpar)) { + // Configure decoding context + const int avcodec_parameters_to_context_result = + avcodec_parameters_to_context(pavCodecContext, pavStream->codecpar); + if (avcodec_parameters_to_context_result != 0) { + DEBUG_ASSERT(avcodec_parameters_to_context_result < 0); kLogger.warning() - << "Failed to find to set Code parameter for AVCodecContext" - << pAudioStream->index; + << "avcodec_parameters_to_context() failed:" + << formatErrorMessage(avcodec_parameters_to_context_result).toLocal8Bit().constData(); return SoundSource::OpenResult::Aborted; } - // Se timebase correct - av_codec_set_pkt_timebase(pCodecContext, pAudioStream->time_base); - - // Make sure that Codecs are identical or avcodec_open2 fails. - pCodecContext->codec_id = pDecoder->id; +#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 18, 100) + // Align the time base of the context with that of the selected stream + av_codec_set_pkt_timebase(pavCodecContext, pavStream->time_base); +#endif - const OpenResult openAudioStreamResult = openAudioStream(pCodecContext, pDecoder); + // Request output format + pavCodecContext->request_sample_fmt = kavSampleFormat; + if (params.channelCount().valid()) { + pavCodecContext->request_channel_layout = av_get_default_channel_layout(params.channelCount()); + } - m_pAudioContext.take(&pCodecContext); -#else - const OpenResult openAudioStreamResult = openAudioStream(pAudioStream->codec, pDecoder); -#endif + // Open decoding context + if (!openDecodingContext(pavCodecContext)) { + // early exit on any error + return SoundSource::OpenResult::Failed; + } - if (openAudioStreamResult != OpenResult::Succeeded) { - return openAudioStreamResult; // early exit on any error + // Initialize members + m_pavCodecContext = std::move(pavCodecContext); + m_pavStream = pavStream; + + if (kLogger.debugEnabled()) { + kLogger.debug() + << "Opened stream for decoding" + << "{ index" << m_pavStream->index + << "| id" << m_pavStream->id + << "| codec_type" << m_pavStream->codecpar->codec_type + << "| codec_id" << m_pavStream->codecpar->codec_id + << "| channels" << m_pavStream->codecpar->channels + << "| channel_layout" << m_pavStream->codecpar->channel_layout + << "| channel_layout (fixed)" << getStreamChannelLayout(*m_pavStream) + << "| format" << m_pavStream->codecpar->format + << "| sample_rate" << m_pavStream->codecpar->sample_rate + << "| bit_rate" << m_pavStream->codecpar->bit_rate + << "| frame_size" << m_pavStream->codecpar->frame_size + << "| initial_padding" << m_pavStream->codecpar->initial_padding + << "| trailing_padding" << m_pavStream->codecpar->trailing_padding + << "| seek_preroll" << m_pavStream->codecpar->seek_preroll + << "| start_time" << m_pavStream->start_time + << "| duration" << m_pavStream->duration + << "| nb_frames" << m_pavStream->nb_frames + << "| time_base" << m_pavStream->time_base.num << '/' << m_pavStream->time_base.den + << '}'; } - // Now set the member, because the audio stream has been opened - // successfully and needs to be closed eventually. - m_pAudioStream.take(&pAudioStream); + const auto streamChannelCount = + ChannelCount(m_pavStream->codecpar->channels); + m_avStreamChannelLayout = + getStreamChannelLayout(*m_pavStream); + const auto avStreamSampleFormat = + m_pavCodecContext->sample_fmt; + const auto sampleRate = + SampleRate(m_pavStream->codecpar->sample_rate); + + DEBUG_ASSERT(!m_pavDecodedFrame); + m_pavDecodedFrame = av_frame_alloc(); + + // Init resampling + const auto resampledChannelCount = + // NOTE(uklotzde, 2017-09-26): Resampling to a different number of + // channels like upsampling a mono to stereo signal breaks various + // tests in the EngineBufferE2ETest suite!! SoundSource decoding tests + // are unaffected, because there we always compare two signals produced + // by the same decoder instead of a decoded with a reference signal. As + // a workaround we decode the stream's channels as is and let Mixxx decide + // how to handle this later. + /*config.channelCount().valid() ? config.channelCount() :*/ streamChannelCount; + m_avResampledChannelLayout = + av_get_default_channel_layout(resampledChannelCount); + const auto avResampledSampleFormat = + kavSampleFormat; + // NOTE(uklotzde): We prefer not to change adjust sample rate here, because + // all the frame calculations while decoding use the frame information + // from the underlying stream! We only need resampling for up-/downsampling + // the channels and to transform the decoded audio data into the sample + // format that is used by Mixxx. + if ((resampledChannelCount != streamChannelCount) || + (m_avResampledChannelLayout != m_avStreamChannelLayout) || + (avResampledSampleFormat != avStreamSampleFormat)) { +#if ENABLE_TRACING + kLogger.trace() + << "Decoded stream needs to be resampled" + << ": channel count =" << resampledChannelCount + << "| channel layout =" << m_avResampledChannelLayout + << "| sample format =" << av_get_sample_fmt_name(avResampledSampleFormat); +#endif + m_pSwrContext = SwrContextPtr(swr_alloc_set_opts( + nullptr, + m_avResampledChannelLayout, + avResampledSampleFormat, + sampleRate, + m_avStreamChannelLayout, + avStreamSampleFormat, + sampleRate, + 0, + nullptr)); + if (!m_pSwrContext) { + kLogger.warning() + << "Failed to allocate resampling context"; + return OpenResult::Failed; + } + const auto swr_init_result = + swr_init(m_pSwrContext); + if (swr_init_result < 0) { + kLogger.warning() + << "swr_init() failed:" + << formatErrorMessage(swr_init_result).toLocal8Bit().constData(); + return OpenResult::Failed; + } + DEBUG_ASSERT(!m_pavResampledFrame); + m_pavResampledFrame = av_frame_alloc(); + } - const auto channelCount = getChannelCountOfStream(m_pAudioStream); - if (!channelCount.valid()) { + if (!setChannelCount(resampledChannelCount)) { kLogger.warning() - << "Stream has invalid or unsupported number of channels:" - << channelCount; + << "Failed to initialize number of channels" + << resampledChannelCount; return OpenResult::Aborted; } - const auto sampleRate = getSampleRateOfStream(m_pAudioStream); - if (!sampleRate.valid()) { + if (!setSampleRate(sampleRate)) { kLogger.warning() - << "Stream has invalid or unsupported sample rate:" + << "Failed to initialize sampling rate" << sampleRate; return OpenResult::Aborted; } - mixxx::IndexRange frameIndexRange; - if (!getFrameIndexRangeOfStream(m_pAudioStream, &frameIndexRange)) { + const auto streamBitrate = + Bitrate(m_pavStream->codecpar->bit_rate / 1000); // kbps + if (streamBitrate.valid() && !initBitrateOnce(streamBitrate)) { kLogger.warning() - << "Failed to get frame index range for stream"; + << "Failed to initialize bitrate" + << streamBitrate; return OpenResult::Failed; } - setChannelCount(channelCount); - setSampleRate(sampleRate); - initFrameIndexRangeOnce(frameIndexRange); + const auto streamFrameIndexRange = + getStreamFrameIndexRange(*m_pavStream); + // The nominal frame index range includes the lead-in that + // is filled with silence during decoding. This is required + // for both for backward compatibility and for interoperability + // with external applications! + // See also the discussion regarding cue point shift/offset: + // https://mixxx.zulipchat.com/#narrow/stream/109171-development/topic/Cue.20shift.2Foffset + VERIFY_OR_DEBUG_ASSERT(kMinFrameIndex <= streamFrameIndexRange.start()) { + kLogger.warning() + << "Stream with unsupported or invalid frame index range" + << streamFrameIndexRange; + return OpenResult::Failed; + } + if (kMinFrameIndex < streamFrameIndexRange.start()) { + kLogger.debug() + << "Lead-in frames" + << IndexRange::between(kMinFrameIndex, streamFrameIndexRange.start()); + } + const auto frameIndexRange = IndexRange::between(kMinFrameIndex, streamFrameIndexRange.end()); + if (!initFrameIndexRangeOnce(frameIndexRange)) { + kLogger.warning() + << "Failed to initialize frame index range" + << frameIndexRange; + return OpenResult::Failed; + } -#if AVSTREAM_FROM_API_VERSION_3_1 - m_pResample = std::make_unique(m_pAudioContext); -#else - m_pResample = std::make_unique(m_pAudioStream->codec); + // A stream packet may produce multiple stream frames when decoded. Buffering + // more than a few codec frames with samples in advance should be unlikely. + const SINT codecSampleBufferCapacity = 4 * m_pavStream->codecpar->frame_size; + if (m_sampleBuffer.capacity() < codecSampleBufferCapacity) { + m_sampleBuffer.adjustCapacity(codecSampleBufferCapacity); + } + + m_seekPrerollFrameCount = getStreamSeekPrerollFrameCount(*m_pavStream); +#if ENABLE_TRACING + kLogger.trace() << "Seek preroll frame count:" << m_seekPrerollFrameCount; #endif - m_pResample->openMixxx(getSampleFormatOfStream(m_pAudioStream), AV_SAMPLE_FMT_FLT); + + m_curFrameIndex = kMinFrameIndex; return OpenResult::Succeeded; } void SoundSourceFFmpeg::close() { - clearCache(); - - m_pResample.reset(); - - while (m_SJumpPoints.size() > 0) { - ffmpegLocationObject* l_SRmJmp = m_SJumpPoints[0]; - m_SJumpPoints.remove(0); - free(l_SRmJmp); - } - -#if AVSTREAM_FROM_API_VERSION_3_1 - m_pAudioContext.close(); -#endif - m_pAudioStream.close(); - m_pInputFormatContext.close(); -} - -void SoundSourceFFmpeg::clearCache() { - while (m_SCache.size() > 0) { - struct ffmpegCacheObject* l_SRmObj = m_SCache[0]; - m_SCache.remove(0); - free(l_SRmObj->bytes); - free(l_SRmObj); - } + av_frame_free(&m_pavResampledFrame); + DEBUG_ASSERT(!m_pavResampledFrame); + av_frame_free(&m_pavDecodedFrame); + DEBUG_ASSERT(!m_pavDecodedFrame); + m_pSwrContext.close(); + m_pavCodecContext.close(); + m_pavInputFormatContext.close(); } -bool SoundSourceFFmpeg::readFramesToCache(unsigned int count, SINT offset) { - unsigned int l_iCount = count; - qint32 l_iRet = 0; - AVPacket l_SPacket; - l_SPacket.data = nullptr; - l_SPacket.size = 0; - AVFrame* l_pFrame = nullptr; - bool l_bStop = false; -#if !AVSTREAM_FROM_API_VERSION_3_1 - int l_iFrameFinished = 0; -#endif - struct ffmpegCacheObject* l_SObj = nullptr; - struct ffmpegCacheObject* l_SRmObj = nullptr; - qint64 l_lLastPacketPos = -1; - int l_iError = 0; - int l_iFrameCount = 0; - - while (l_iCount > 0) { - if (l_pFrame != nullptr) { - l_iFrameCount--; -// FFMPEG 2.2 and beyond -#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(54, 86, 100) - av_frame_free(&l_pFrame); -// FFMPEG 0.11 and below -#elif LIBAVCODEC_VERSION_INT <= AV_VERSION_INT(54, 23, 100) - av_free(l_pFrame); -// FFMPEG 1.0 - 2.1 -#else - avcodec_free_frame(&l_pFrame); -#endif - l_pFrame = nullptr; - } - - if (l_bStop) { - break; +namespace { +SINT readNextPacket( + AVFormatContext* pavFormatContext, + AVStream* pavStream, + AVPacket* pavPacket, + SINT flushFrameIndex) { + while (true) { + const auto av_read_frame_result = + av_read_frame( + pavFormatContext, + pavPacket); + if (av_read_frame_result < 0) { + if (av_read_frame_result == AVERROR_EOF) { + // Enter drain mode: Flush the decoder with a final empty packet + kLogger.debug() + << "EOF: Entering drain mode"; + pavPacket->stream_index = pavStream->index; + pavPacket->data = nullptr; + pavPacket->size = 0; + return flushFrameIndex; + } else { + kLogger.warning() + << "av_read_frame() failed:" + << formatErrorMessage(av_read_frame_result).toLocal8Bit().constData(); + return kFrameIndexInvalid; + } } - l_iFrameCount++; - av_init_packet(&l_SPacket); -#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55, 52, 0) - l_pFrame = avcodec_alloc_frame(); -#else - l_pFrame = av_frame_alloc(); +#if ENABLE_TRACING + avTrace("Packet read from stream", *pavPacket); #endif - - if (l_pFrame == nullptr) { - kLogger.debug() << "readFramesToCache: Can't alloc memory!"; - return false; + DEBUG_ASSERT(pavPacket->data); + DEBUG_ASSERT(pavPacket->size > 0); + if (pavPacket->stream_index == pavStream->index) { + // Found a packet for the stream + break; + } else { + av_packet_unref(pavPacket); } + } + DEBUG_ASSERT(pavPacket->stream_index == pavStream->index); + return (pavPacket->pts != AV_NOPTS_VALUE) + ? convertStreamTimeToFrameIndex(*pavStream, pavPacket->pts) + : kFrameIndexUnknown; +} +} // namespace - // Read one frame (which has nothing to do with Mixxx Frame) - // it's some packed audio data from container like MP3, Ogg or MP4 - if (av_read_frame(m_pInputFormatContext, &l_SPacket) >= 0) { - // Are we on correct audio stream. Currently we are always - // Using first audio stream but in future there should be - // possibility to choose which to use - // If Pos is -1 it meand FFmpeg/AVConv doesn't know it - // So then we use pts instead - if (l_SPacket.stream_index == m_pAudioStream->index && - (l_SPacket.pos >= 0 || l_SPacket.pos == -1)) { - // Codecs like Wavpack does it like this - // They work but you can say about position nothing - if (l_SPacket.pos == -1) { - l_SPacket.pos = l_SPacket.pts; - } - if (m_lStoredSeekPoint > 0) { - struct ffmpegLocationObject* l_STestObj = nullptr; - if (m_SJumpPoints.size() > 0) { - l_STestObj = m_SJumpPoints.first(); - - if (l_STestObj->pos > l_SPacket.pos) { - continue; - } - } - - // Seek for correct jump point - if (m_lStoredSeekPoint > l_SPacket.pos) { -#if (LIBAVCODEC_HAS_AV_PACKET_UNREF) - av_packet_unref(&l_SPacket); -#else - av_free_packet(&l_SPacket); -#endif - l_SPacket.data = nullptr; - l_SPacket.size = 0; - continue; - } - m_lStoredSeekPoint = -1; - m_SStoredJumpPoint = nullptr; - } - -#if AVSTREAM_FROM_API_VERSION_3_1 - l_iRet = avcodec_send_packet(m_pAudioContext, &l_SPacket); - - // AVERROR(EAGAIN) means that we need to feed more - // That we can decode Frame or Packet - if (l_iRet == AVERROR(EAGAIN)) { - kLogger.warning() << "readFramesToCache: Need more packets to decode!"; - continue; - } - - if (l_iRet == AVERROR_EOF || l_iRet == AVERROR(EINVAL)) { - kLogger.warning() << "readFramesToCache: Warning can't decode frame!"; - } - - l_iRet = avcodec_receive_frame(m_pAudioContext, l_pFrame); - - // AVERROR(EAGAIN) means that we need to feed more - // That we can decode Frame or Packet - if (l_iRet == AVERROR(EAGAIN)) { - kLogger.warning() << "readFramesToCache: Need more packets to decode!"; - continue; - } - - if (l_iRet == AVERROR_EOF || l_iRet == AVERROR(EINVAL)) { - kLogger.warning() << "readFramesToCache: Warning can't decode frame!"; - } - - if (l_iRet == AVERROR_EOF || l_iRet < 0) { -#else - // Decode audio bytes (These can be S16P or FloatP [P is Planar]) - l_iRet = avcodec_decode_audio4(m_pAudioStream->codec, l_pFrame, &l_iFrameFinished, &l_SPacket); - if (l_iRet <= 0) { -#endif - // An error or EOF occurred,index break out and return what - // we have so far. - kLogger.debug() << "readFramesToCache: EOF or uncoverable error!"; - l_bStop = true; - continue; - } else { - l_iRet = 0; - l_SObj = (struct ffmpegCacheObject*)malloc(sizeof(struct ffmpegCacheObject)); - if (l_SObj == nullptr) { - kLogger.debug() << "readFramesToCache: Not enough memory!"; - l_bStop = true; - continue; - } - memset(l_SObj, 0x00, sizeof(struct ffmpegCacheObject)); - - // Try to convert it to Mixxx understand output format - // which is pure Stereo Float - l_iRet = m_pResample->reSampleMixxx(l_pFrame, &l_SObj->bytes); - - if (l_iRet > 0) { - // Remove from cache - if (m_SCache.size() >= (AUDIOSOURCEFFMPEG_CACHESIZE - 10)) { - l_SRmObj = m_SCache[0]; - m_SCache.remove(0); - free(l_SRmObj->bytes); - free(l_SRmObj); - } - - // Add to cache and store byte place to memory - m_SCache.append(l_SObj); - l_SObj->startFrame = m_lCacheFramePos; - l_SObj->length = l_iRet; - m_lCacheFramePos += AUDIOSOURCEFFMPEG_BYTEOFFSET_TO_MIXXXFRAME(l_iRet); - - // Ogg/Opus have packages pos that have many - // audio frames so seek next unique pos.. - if (l_SPacket.pos != l_lLastPacketPos) { - l_lLastPacketPos = l_SPacket.pos; - m_lStoreCount++; - } - - // If we are over last storepos and we have read more than jump point need is - // and pos is unique we store it to memory - // - // So why number 32? Sorry I just made that up from the hat there is no - // math behind it. Number 32 it's not too big nor jumps points are not - // too close each other. Mainly it's ugly compromise with MP3,MP4,OGG and WMA - // different codec frame sizes - if (m_lStoreCount == 32) { - struct ffmpegLocationObject* l_STestObj = nullptr; - - if (m_SJumpPoints.size() > 0) { - l_STestObj = m_SJumpPoints.last(); - } - // Check whether we have this jumppoint stored already or not - // We should have jumppoints below that pos - if (l_STestObj == nullptr || l_STestObj->pos < l_SPacket.pos) { - struct ffmpegLocationObject* l_SJmp = (struct ffmpegLocationObject*)malloc( - sizeof(struct ffmpegLocationObject)); - m_lLastStoredPos = m_lCacheFramePos; - l_SJmp->startFrame = m_lCacheFramePos; - l_SJmp->pos = l_SPacket.pos; - l_SJmp->pts = l_SPacket.pts; - m_SJumpPoints.append(l_SJmp); - } - m_lStoreCount = 0; - } - - if (offset < 0 || offset <= m_lCacheFramePos) { - l_iCount--; - } - } else { - free(l_SObj); - l_SObj = nullptr; - kLogger.debug() << "readFramesToCache: General error in audio decode:" << l_iRet; - } - } - -#if (LIBAVCODEC_HAS_AV_PACKET_UNREF) - av_packet_unref(&l_SPacket); -#else - av_free_packet(&l_SPacket); +ReadableSampleFrames SoundSourceFFmpeg::readSampleFramesClamped( + WritableSampleFrames writableSampleFrames) { + CSAMPLE* pOutputSampleBuffer = writableSampleFrames.writableData(); + auto writableRange = + writableSampleFrames.frameIndexRange(); + + // Consume all buffered sample data before decoding any new data + if (!m_sampleBuffer.empty()) { + DEBUG_ASSERT(m_curFrameIndex != kFrameIndexInvalid); + DEBUG_ASSERT(frameIndexRange().containsIndex(m_curFrameIndex)); + const auto bufferedRange = + IndexRange::forward( + m_curFrameIndex, + samples2frames(m_sampleBuffer.readableLength())); + const auto consumableRange = + intersect(bufferedRange, writableRange); + DEBUG_ASSERT(consumableRange.length() <= writableRange.length()); + if (!consumableRange.empty() && + (consumableRange.start() == writableRange.start())) { + // Drop and skip preceding buffered samples + DEBUG_ASSERT(m_curFrameIndex <= writableRange.start()); + const auto skippableRange = + IndexRange::between( + m_curFrameIndex, + writableRange.start()); + m_sampleBuffer.shrinkForReading( + frames2samples(skippableRange.length())); + m_curFrameIndex += skippableRange.length(); + // Consume buffered samples + DEBUG_ASSERT(m_curFrameIndex == writableRange.start()); + const SampleBuffer::ReadableSlice consumableSlice = + m_sampleBuffer.shrinkForReading( + frames2samples(consumableRange.length())); + DEBUG_ASSERT(consumableSlice.length() == frames2samples(consumableRange.length())); +#if ENABLE_TRACING + kLogger.trace() << "Consuming buffered samples" << consumableRange; #endif - l_SPacket.data = nullptr; - l_SPacket.size = 0; - - } else { - l_iError++; - if (l_iError == 5) { - // Stream end and we couldn't read enough frames - l_bStop = true; - } + if (pOutputSampleBuffer) { + SampleUtil::copy( + pOutputSampleBuffer, + consumableSlice.data(), + consumableSlice.length()); + pOutputSampleBuffer += consumableSlice.length(); } - + writableRange.shrinkFront(consumableRange.length()); + m_curFrameIndex += consumableRange.length(); + // Keep remaining buffered samples + DEBUG_ASSERT(writableRange.empty() || m_sampleBuffer.empty()); } else { - kLogger.debug() << "readFramesToCache: Packet too big or File end"; - l_bStop = true; + // Discard all buffered sample data + m_sampleBuffer.clear(); + m_curFrameIndex += bufferedRange.length(); } } - if (l_pFrame != nullptr) { - l_iFrameCount--; -// FFMPEG 2.2 and beyond -#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(54, 86, 100) - av_frame_unref(l_pFrame); - av_frame_free(&l_pFrame); -// FFMPEG 0.11 and below -#elif LIBAVCODEC_VERSION_INT <= AV_VERSION_INT(54, 23, 100) - av_free(l_pFrame); -// FFMPEG 1.0 - 2.1 -#else - avcodec_free_frame(&l_pFrame); -#endif - l_pFrame = nullptr; - } - - if (l_iFrameCount > 0) { - kLogger.debug() << "readFramesToCache(): Frame balance is not 0 it is: " << l_iFrameCount; - } - - if (m_SCache.isEmpty()) { - kLogger.debug() << "readFramesToCache(): Can't read frames. Cache empty!"; - return false; - } - - l_SObj = m_SCache.first(); - m_lCacheStartFrame = l_SObj->startFrame; - l_SObj = m_SCache.last(); - m_lCacheEndFrame = (l_SObj->startFrame + l_SObj->length); - - if (!l_iCount) { - return true; - } else { - return false; - } -} // namespace mixxx - -bool SoundSourceFFmpeg::getBytesFromCache(CSAMPLE* buffer, SINT offset, SINT size) { - struct ffmpegCacheObject* l_SObj = nullptr; - qint32 l_lPos = 0; - quint32 l_lLeft = AUDIOSOURCEFFMPEG_MIXXXFRAME_TO_BYTEOFFSET(size); - quint32 l_lOffset = 0; - quint32 l_lBytesToCopy = 0; - bool l_bEndOfFile = false; - - char* l_pBuffer = (char*)buffer; - - // If cache is empty then return without crash. - if (m_SCache.isEmpty()) { - kLogger.debug() << "getBytesFromCache: Cache is empty can't return bytes"; - if (l_pBuffer != nullptr) { - memset(l_pBuffer, 0x00, l_lLeft); + if (m_curFrameIndex != writableRange.start()) { + // Need to seek before reading + DEBUG_ASSERT(m_sampleBuffer.empty()); + auto seekFrameIndex = + math_max(kMinFrameIndex, writableRange.start() - m_seekPrerollFrameCount); + // Seek to codec frame boundaries if the frame size is fixed and known + if (m_pavStream->codecpar->frame_size > 0) { + seekFrameIndex -= (seekFrameIndex - kMinFrameIndex) % m_pavCodecContext->frame_size; } - return false; - } - - // Is offset bigger than start of cache - if (offset >= m_lCacheStartFrame) { - int l_lTmpLen = 0; - // If last pos is (which it shouldn't) use caches end - if (m_lCacheLastPos == 0) { - m_lCacheLastPos = m_SCache.size() - 1; + DEBUG_ASSERT(seekFrameIndex >= kMinFrameIndex); + DEBUG_ASSERT(seekFrameIndex <= writableRange.start()); + if ((m_curFrameIndex == kFrameIndexInvalid) || + (m_curFrameIndex > writableRange.start()) || + (m_curFrameIndex < seekFrameIndex)) { + // Flush internal decoder state + avcodec_flush_buffers(m_pavCodecContext); + // Invalidate current position + m_curFrameIndex = kFrameIndexInvalid; + // Seek to new position + const int64_t seekTimestamp = + convertFrameIndexToStreamTime(*m_pavStream, seekFrameIndex); + int av_seek_frame_result = av_seek_frame( + m_pavInputFormatContext, + m_pavStream->index, + seekTimestamp, + AVSEEK_FLAG_BACKWARD); + if (av_seek_frame_result < 0) { + kLogger.warning() + << "av_seek_frame() failed:" + << formatErrorMessage(av_seek_frame_result).toLocal8Bit().constData(); + m_curFrameIndex = kFrameIndexInvalid; + return ReadableSampleFrames(); + } + // Current position is unknown until reading from the stream + m_curFrameIndex = kFrameIndexUnknown; } - - // Seek to correct FrameIndex (Minus 5 for faster seek) - // - // This could be done per steps but because there - // Jump points can be far away and codec frames are small - // just jump to point where is safe to start. - for (l_lPos = m_lCacheLastPos; l_lPos >= 0; l_lPos -= 5) { - l_SObj = m_SCache[l_lPos]; - - // Because length is in byte we have to convert it to Frames - l_lTmpLen = AUDIOSOURCEFFMPEG_BYTEOFFSET_TO_MIXXXFRAME(l_SObj->length); - - if ((l_SObj->startFrame + l_lTmpLen) < offset) { + } + DEBUG_ASSERT(m_curFrameIndex != kFrameIndexInvalid); + + AVPacket avPacket; + av_init_packet(&avPacket); + avPacket.data = nullptr; + avPacket.size = 0; + AVPacket* pavNextPacket = nullptr; + auto readFrameIndex = m_curFrameIndex; + while ((pavNextPacket || !writableRange.empty()) && + (m_curFrameIndex != kFrameIndexInvalid)) { + // Read next packet from stream + if (!pavNextPacket) { + const SINT packetFrameIndex = + readNextPacket( + m_pavInputFormatContext, + m_pavStream, + &avPacket, + m_curFrameIndex); + if (packetFrameIndex == kFrameIndexInvalid) { + // Invalidate current position and abort reading + m_curFrameIndex = kFrameIndexInvalid; break; } + pavNextPacket = &avPacket; } + DEBUG_ASSERT(pavNextPacket); - // Because we step 5 backward we can end up to below zero - // We can't go further so hope for the best - if (l_lPos < 0) { - l_lPos = 0; - } - - // This shouldn't never happen.. because it's nearly impossible - // but because it can happen double check - if (l_lPos >= m_SCache.size()) { - l_lPos = m_SCache.size() - 1; + // Consume raw packet data +#if ENABLE_TRACING + avTrace("Sending packet to decoder", *pavNextPacket); +#endif + const auto avcodec_send_packet_result = + avcodec_send_packet(m_pavCodecContext, pavNextPacket); + if (avcodec_send_packet_result == 0) { + // Packet has been consumed completely +#if ENABLE_TRACING + kLogger.trace() << "Packet has been consumed by decoder"; +#endif + // Release ownership on packet + av_packet_unref(pavNextPacket); + pavNextPacket = nullptr; + } else { + // Packet has not been consumed or only partially + if (avcodec_send_packet_result == AVERROR(EAGAIN)) { + // Keep and resend this packet to the decoder during the next round +#if ENABLE_TRACING + kLogger.trace() << "Packet needs to be sent again to decoder"; +#endif + } else { + kLogger.warning() + << "avcodec_send_packet() failed:" + << formatErrorMessage(avcodec_send_packet_result).toLocal8Bit().constData(); + // Release ownership on packet + av_packet_unref(pavNextPacket); + pavNextPacket = nullptr; + // Invalidate current position and abort reading + m_curFrameIndex = kFrameIndexInvalid; + break; + } } - // Use this Cache object as starting point - l_SObj = m_SCache[l_lPos]; + int avcodec_receive_frame_result; + do { +#if ENABLE_TRACING + kLogger.trace() + << "m_curFrameIndex" << m_curFrameIndex + << "readFrameIndex" << readFrameIndex + << "writableRange" << writableRange + << "m_sampleBuffer.readableLength()" << m_sampleBuffer.readableLength(); +#endif - if (l_SObj == nullptr) { - kLogger.debug() << "getBytesFromCache: Cache object nullptr"; - return false; - } + DEBUG_ASSERT(writableRange.empty() || m_sampleBuffer.empty()); - if (l_pBuffer == nullptr) { - kLogger.debug() << "getBytesFromCache: Out buffer nullptr"; - return false; - } + SINT missingFrameCount = 0; + const CSAMPLE* pDecodedSampleData = nullptr; - while (l_lLeft > 0) { - // If Cache is running low read more - if ((l_lPos + 5) > m_SCache.size() && l_bEndOfFile == false) { - offset = l_SObj->startFrame; - // Read 50 frames from current pos. If we hit file end before that - // exit - if (readFramesToCache(50, AUDIOSOURCEFFMPEG_FILL_FROM_CURRENTPOS) == false) { - // File has ended.. don't try to cache anymore - // or some fatal error has occurred so.. just don't - l_bEndOfFile = true; + // Decode next frame + IndexRange decodedFrameRange; + avcodec_receive_frame_result = avcodec_receive_frame( + m_pavCodecContext, + m_pavDecodedFrame); + if (avcodec_receive_frame_result == 0) { +#if ENABLE_TRACING + avTrace("Received decoded frame", *m_pavDecodedFrame); +#endif + DEBUG_ASSERT(m_pavDecodedFrame->pts != AV_NOPTS_VALUE); + const auto decodedFrameCount = m_pavDecodedFrame->nb_samples; + DEBUG_ASSERT(decodedFrameCount > 0); + decodedFrameRange = IndexRange::forward( + convertStreamTimeToFrameIndex(*m_pavStream, m_pavDecodedFrame->pts), + decodedFrameCount); + if (readFrameIndex == kFrameIndexUnknown) { + readFrameIndex = decodedFrameRange.start(); } - - // Seek back to correct place - for (l_lPos = (m_SCache.size() - 50); l_lPos > 0; l_lPos--) { - l_SObj = m_SCache[l_lPos]; - if ((l_SObj->startFrame + l_SObj->length) < offset) { - break; + } else if (avcodec_receive_frame_result == AVERROR(EAGAIN)) { +#if ENABLE_TRACING + kLogger.trace() << "No more frames available until decoder is fed with more packets from stream"; +#endif + DEBUG_ASSERT(!pavNextPacket); + break; + } else if (avcodec_receive_frame_result == AVERROR_EOF) { + DEBUG_ASSERT(!pavNextPacket); + if (!writableRange.empty()) { + DEBUG_ASSERT(readFrameIndex < writableRange.end()); + DEBUG_ASSERT(m_sampleBuffer.empty()); + // Due to the lead-in with a start_time > 0 some encoded + // files are shorter then actually reported. This may vary + // depending on the encoder version, because sometimes the + // lead-in is included in the stream's duration and sometimes + // not. Short periods of silence at the end of a track are + // acceptable in favor of a consistent handling of the lead-in, + // because they may affect only the position of the outro end + // point and not any other position markers! + kLogger.debug() + << "Stream ends at sample frame" + << readFrameIndex + << "instead of" + << frameIndexRange().end() + << "-> padding with silence"; + const auto clearSampleCount = + frames2samples(writableRange.length()); + if (pOutputSampleBuffer) { + SampleUtil::clear( + pOutputSampleBuffer, + clearSampleCount); + pOutputSampleBuffer += clearSampleCount; } + writableRange.shrinkFront(writableRange.length()); } - - if (l_lPos < m_SCache.size() && l_lPos >= 0) { - l_SObj = m_SCache[l_lPos]; - continue; - } else if (l_lPos < 0) { - l_lPos = 0; - } else { - l_SObj = m_SCache.last(); - l_lPos = l_lPos < m_SCache.size() - 1; - } - } - - // If Cache object ain't correct then calculate offset - if (l_SObj->startFrame <= offset) { - // We have to convert again it to bytes - l_lOffset = AUDIOSOURCEFFMPEG_MIXXXFRAME_TO_BYTEOFFSET(offset - l_SObj->startFrame); + // Invalidate current position and abort reading + m_curFrameIndex = kFrameIndexInvalid; + break; + } else { + kLogger.warning() + << "avcodec_receive_frame() failed:" + << formatErrorMessage(avcodec_receive_frame_result).toLocal8Bit().constData(); + // Invalidate current position and abort reading + m_curFrameIndex = kFrameIndexInvalid; + break; } - // Okay somehow offset is bigger than our Cache object have bytes - if (l_lOffset >= l_SObj->length) { - if ((l_lPos + 1) < m_SCache.size()) { - l_SObj = m_SCache[++l_lPos]; - continue; - } else { - kLogger.debug() << "getBytesFromCache: Buffer run out. Shouldn't happen!"; - if (l_pBuffer != nullptr) { - memset(l_pBuffer, 0x00, l_lLeft); +#if ENABLE_TRACING + kLogger.trace() + << "After receiving decoded frame:" + << "m_curFrameIndex" << m_curFrameIndex + << "readFrameIndex" << readFrameIndex + << "decodedFrameRange" << decodedFrameRange + << "writableRange" << writableRange + << "missingFrameCount" << missingFrameCount; +#endif + DEBUG_ASSERT(readFrameIndex != kFrameIndexInvalid); + DEBUG_ASSERT(readFrameIndex != kFrameIndexUnknown); + + if (decodedFrameRange.start() < readFrameIndex) { + // The next frame starts BEFORE the current position + const auto overlapRange = + IndexRange::between( + decodedFrameRange.start(), + readFrameIndex); + // NOTE(2019-02-08, uklotzde): Overlapping frames at the + // beginning of an audio stream before the first readable + // sample frame at kMinFrameIndex are expected. For example + // this happens when decoding 320kbps MP3 files where + // decoding starts at position -1105 and the first 1105 + // decoded samples need to be skipped. + if (readFrameIndex > kMinFrameIndex) { + kLogger.warning() + << "Overlapping sample frames in the stream:" + << overlapRange; + } + const auto consumedRange = + IndexRange::between( + writableSampleFrames.frameIndexRange().start(), + // We might still be decoding samples in preroll mode, i.e. + // readFrameIndex < writableSampleFrames.frameIndexRange().start() + math_max(readFrameIndex, writableSampleFrames.frameIndexRange().start())); + auto rewindRange = + intersect(overlapRange, consumedRange); + if (!rewindRange.empty()) { + DEBUG_ASSERT(rewindRange.end() == readFrameIndex); + kLogger.warning() + << "Rewinding current position:" + << readFrameIndex + << "->" + << rewindRange.start(); + // Rewind internally buffered samples first... + const auto rewindSampleLength = + m_sampleBuffer.shrinkAfterWriting( + frames2samples(rewindRange.length())); + rewindRange.shrinkBack( + samples2frames(rewindSampleLength)); + // ...then rewind remaining samples from the output buffer + if (pOutputSampleBuffer) { + pOutputSampleBuffer -= frames2samples(rewindRange.length()); } - return false; + writableRange = IndexRange::between(rewindRange.start(), writableRange.end()); } + // Adjust read position + readFrameIndex = decodedFrameRange.start(); + } else if (decodedFrameRange.start() > readFrameIndex) { + // The next frame starts AFTER the current position, i.e. + // some frames before decodedFrameRange.start() are missing. + missingFrameCount = decodedFrameRange.start() - readFrameIndex; } - // If bytes left is bigger than FFmpeg frame bytes available - // then copy to buffer end and then jump to next FFmpeg frame - // to understand this here are some examples - // * MP3 have size 2304 * 4 - // * OGG/Opus size 256 - 1024 - // * WMA size 32767 - 131070 - // and all these are separated in packets nor solid stream of bytes - // that just can be copied to buffer - // so that's why this kind of abstraction is needed - if (l_lLeft > (l_SObj->length - l_lOffset)) { - // calculate start point of copy - l_lBytesToCopy = l_SObj->length - l_lOffset; - memcpy(l_pBuffer, (l_SObj->bytes + l_lOffset), l_lBytesToCopy); - l_lOffset = 0; - l_pBuffer += l_lBytesToCopy; - l_lLeft -= l_lBytesToCopy; +#if ENABLE_TRACING + kLogger.trace() + << "Before resampling:" + << "m_curFrameIndex" << m_curFrameIndex + << "readFrameIndex" << readFrameIndex + << "decodedFrameRange" << decodedFrameRange + << "writableRange" << writableRange + << "missingFrameCount" << missingFrameCount; +#endif + DEBUG_ASSERT(readFrameIndex <= decodedFrameRange.start()); + // NOTE: Decoding might start at a negative position for the first + // frame of the file! In this case readFrameIndex < decodedFrameRange().start(), + // i.e. the decoded frame starts outside of the track's valid range! + // Consequently isValidFrameIndex(readFrameIndex) might return false. + // This is expected behavior and will be compensated during 'preskip' + // (see below). + + if (m_pSwrContext) { + // Decoded frame must be resampled before reading + m_pavResampledFrame->channel_layout = m_avResampledChannelLayout; + m_pavResampledFrame->sample_rate = sampleRate(); + m_pavResampledFrame->format = kavSampleFormat; + if (m_pavDecodedFrame->channel_layout == kavChannelLayoutUndefined) { + // Sometimes the channel layout is undefined. + m_pavDecodedFrame->channel_layout = m_avStreamChannelLayout; + } +#if ENABLE_TRACING + avTrace("Resampling decoded frame", *m_pavDecodedFrame); +#endif + const auto swr_convert_frame_result = + swr_convert_frame( + m_pSwrContext, + m_pavResampledFrame, + m_pavDecodedFrame); + if (swr_convert_frame_result != 0) { + kLogger.warning() + << "swr_convert_frame() failed:" + << formatErrorMessage(swr_convert_frame_result).toLocal8Bit().constData(); + // Abort reading + av_frame_unref(m_pavDecodedFrame); + m_curFrameIndex = kFrameIndexInvalid; + break; + } +#if ENABLE_TRACING + avTrace("Received resampled frame", *m_pavResampledFrame); +#endif + DEBUG_ASSERT(m_pavDecodedFrame->pts = m_pavResampledFrame->pts); + DEBUG_ASSERT(m_pavDecodedFrame->nb_samples = m_pavResampledFrame->nb_samples); + pDecodedSampleData = reinterpret_cast( + m_pavResampledFrame->extended_data[0]); } else { - memcpy(l_pBuffer, (l_SObj->bytes + l_lOffset), l_lLeft); - l_lLeft = 0; + pDecodedSampleData = reinterpret_cast( + m_pavDecodedFrame->extended_data[0]); } - // If we have more items of cache use them - // or after that just zero buffer.. - if ((l_lPos + 1) < m_SCache.size()) { - l_SObj = m_SCache[++l_lPos]; - } else { - // With MP3 VBR length of audio is just a guess - // it's near good as it can get but it can be too long - // so fill buffer with 0x00 (zero) that we don't get ugly - // noise at the end of the file - memset(l_pBuffer, 0x00, l_lLeft); - l_lLeft = 0; + // readFrameIndex + // | + // v + // | missingFrameCount |<- decodedFrameRange ->| + + if (readFrameIndex > writableRange.start()) { + // The decoder has skipped some sample data that needs to + // be filled with silence to continue decoding! + const auto missingRange = IndexRange::between(writableRange.start(), readFrameIndex); + // This should only happen at the beginning of a stream + // with a lead-in due to start_time > 0. + VERIFY_OR_DEBUG_ASSERT(intersect(missingRange, getStreamFrameIndexRange(*m_pavStream)).empty()) { + kLogger.warning() + << "Missing sample data within decoded stream" + << intersect(missingRange, getStreamFrameIndexRange(*m_pavStream)); + } + const auto clearRange = intersect(missingRange, writableRange); + if (clearRange.length() > 0) { + const auto clearSampleCount = + frames2samples(clearRange.length()); + if (pOutputSampleBuffer) { + SampleUtil::clear( + pOutputSampleBuffer, + clearSampleCount); + pOutputSampleBuffer += clearSampleCount; + } + writableRange.shrinkFront(clearRange.length()); + } } - } - - m_lCacheLastPos = --l_lPos; - return true; - } - - return false; -} - -ReadableSampleFrames SoundSourceFFmpeg::readSampleFramesClamped( - WritableSampleFrames writableSampleFrames) { - const SINT firstFrameIndex = writableSampleFrames.frameIndexRange().start(); - - const SINT seekFrameIndex = firstFrameIndex; - if ((m_currentMixxxFrameIndex != seekFrameIndex) || (m_SCache.size() == 0)) { - int ret = 0; - qint64 i = 0; - struct ffmpegLocationObject* l_STestObj = nullptr; - - if (seekFrameIndex < m_lCacheStartFrame) { - // Seek to set (start of the stream which is FFmpeg frame 0) - // because we are dealing with compressed audio FFmpeg takes - // best of to seek that point (in this case 0 Is always there) - // in every other case we should provide MIN and MAX tolerance - // which we can take. - // FFmpeg just just can't take zero as MAX tolerance so we try to - // just make some tolerable (which is never used because zero point - // should always be there) some number (which is 0xffff 65535) - // that is chosen because in WMA frames can be that big and if it's - // smaller than the frame we are seeking we can get into error - ret = avformat_seek_file(m_pInputFormatContext, - m_pAudioStream->index, - 0, - 0, - 0xffff, - AVSEEK_FLAG_BACKWARD); - if (ret < 0) { - kLogger.warning() << "seek: Can't seek to 0 byte!"; - return ReadableSampleFrames(); - } + // Skip all missing and decoded ranges that do not overlap + // with writableRange, i.e. that precede writableRange. + DEBUG_ASSERT(pDecodedSampleData); + const auto preskipMissingFrameCount = + math_min(missingFrameCount, writableRange.start() - readFrameIndex); + missingFrameCount -= preskipMissingFrameCount; + readFrameIndex += preskipMissingFrameCount; + const auto preskipDecodedFrameCount = + math_min(decodedFrameRange.length(), writableRange.start() - readFrameIndex); + pDecodedSampleData += frames2samples(preskipDecodedFrameCount); + decodedFrameRange.shrinkFront(preskipDecodedFrameCount); + readFrameIndex += preskipDecodedFrameCount; + m_curFrameIndex = readFrameIndex; + +#if ENABLE_TRACING + kLogger.trace() + << "Before writing:" + << "m_curFrameIndex" << m_curFrameIndex + << "readFrameIndex" << readFrameIndex + << "decodedFrameRange" << decodedFrameRange + << "writableRange" << writableRange + << "missingFrameCount" << missingFrameCount; +#endif - clearCache(); - m_lCacheStartFrame = 0; - m_lCacheEndFrame = 0; - m_lCacheLastPos = 0; - m_lCacheFramePos = 0; - m_lStoredSeekPoint = -1; - - // Try to find some jump point near to - // where we are located so we don't needed - // to try guess it - if (m_SJumpPoints.size() > 0) { - l_STestObj = m_SJumpPoints.first(); - - if (seekFrameIndex > l_STestObj->startFrame) { - for (i = 0; i < m_SJumpPoints.size(); i++) { - if (m_SJumpPoints[i]->startFrame >= seekFrameIndex) { - if (i > 0) { - i--; - } - - m_lCacheFramePos = m_SJumpPoints[i]->startFrame; - m_lStoredSeekPoint = m_SJumpPoints[i]->pos; - m_SStoredJumpPoint = m_SJumpPoints[i]; - break; - } + // Consume all sample data from missing and decoded ranges + // that overlap with writableRange. + if (readFrameIndex == writableRange.start()) { + const auto writeMissingFrameCount = + math_min(missingFrameCount, writableRange.length()); + if (writeMissingFrameCount > 0) { + const auto clearSampleCount = + frames2samples(writeMissingFrameCount); + if (pOutputSampleBuffer) { + SampleUtil::clear( + pOutputSampleBuffer, + clearSampleCount); + pOutputSampleBuffer += clearSampleCount; } + missingFrameCount -= writeMissingFrameCount; + writableRange.shrinkFront(writeMissingFrameCount); + readFrameIndex += writeMissingFrameCount; } + DEBUG_ASSERT((missingFrameCount == 0) || writableRange.empty()); + const auto writeDecodedFrameCount = + math_min(decodedFrameRange.length(), writableRange.length()); + if (writeDecodedFrameCount > 0) { + const auto copySampleCount = + frames2samples(writeDecodedFrameCount); + if (pOutputSampleBuffer) { + SampleUtil::copy( + pOutputSampleBuffer, + pDecodedSampleData, + copySampleCount); + pOutputSampleBuffer += copySampleCount; + } + pDecodedSampleData += copySampleCount; + decodedFrameRange.shrinkFront(writeDecodedFrameCount); + writableRange.shrinkFront(writeDecodedFrameCount); + readFrameIndex += writeDecodedFrameCount; + } + DEBUG_ASSERT(decodedFrameRange.empty() || writableRange.empty()); + DEBUG_ASSERT(readFrameIndex == writableRange.start()); + m_curFrameIndex = readFrameIndex; } - if (seekFrameIndex == frameIndexMin()) { - // Because we are in the beginning just read cache full - // but leave 50 of just in case - // -1 one means we are seeking from current position and - // filling the cache - readFramesToCache((AUDIOSOURCEFFMPEG_CACHESIZE - 50), - AUDIOSOURCEFFMPEG_FILL_FROM_CURRENTPOS); - } - } - - if (m_lCacheEndFrame <= seekFrameIndex) { - // Cache tries to read until it gets to frameIndex - // after that we still read 100 FFmpeg frames to memory - // so we have good cache to go forward (100) and backward (900) - // from the point - readFramesToCache(100, seekFrameIndex); - } +#if ENABLE_TRACING + kLogger.trace() + << "Before buffering:" + << "m_curFrameIndex" << m_curFrameIndex + << "readFrameIndex" << readFrameIndex + << "decodedFrameRange" << decodedFrameRange + << "writableRange" << writableRange + << "missingFrameCount" << missingFrameCount; +#endif - m_currentMixxxFrameIndex = seekFrameIndex; + // Buffer remaining unread sample data from + // missing and decoded ranges + const auto sampleBufferWriteLength = + frames2samples(missingFrameCount + decodedFrameRange.length()); + if (m_sampleBuffer.writableLength() < sampleBufferWriteLength) { + const auto sampleBufferCapacity = + m_sampleBuffer.readableLength() + + sampleBufferWriteLength; + kLogger.warning() + << "Adjusting capacity of internal sample buffer by reallocation:" + << m_sampleBuffer.capacity() + << "->" + << sampleBufferCapacity; + m_sampleBuffer.adjustCapacity(sampleBufferCapacity); + } + DEBUG_ASSERT(m_sampleBuffer.writableLength() >= sampleBufferWriteLength); + if (missingFrameCount > 0) { + const auto clearSampleCount = + frames2samples(missingFrameCount); + const SampleBuffer::WritableSlice writableSlice( + m_sampleBuffer.growForWriting(clearSampleCount)); + DEBUG_ASSERT(writableSlice.length() == clearSampleCount); + SampleUtil::clear( + writableSlice.data(), + clearSampleCount); + readFrameIndex += missingFrameCount; + } + if (!decodedFrameRange.empty()) { + const auto copySampleCount = + frames2samples(decodedFrameRange.length()); + const SampleBuffer::WritableSlice writableSlice( + m_sampleBuffer.growForWriting(copySampleCount)); + DEBUG_ASSERT(writableSlice.length() == copySampleCount); + SampleUtil::copy( + writableSlice.data(), + pDecodedSampleData, + copySampleCount); + readFrameIndex += decodedFrameRange.length(); + } - m_bIsSeeked = m_currentMixxxFrameIndex != frameIndexMin(); + // Housekeeping before next decoding iteration + av_frame_unref(m_pavDecodedFrame); + av_frame_unref(m_pavResampledFrame); + } while ((avcodec_receive_frame_result == 0) && (m_curFrameIndex != kFrameIndexInvalid)); } - DEBUG_ASSERT(m_currentMixxxFrameIndex == seekFrameIndex); - - const SINT numberOfFrames = writableSampleFrames.frameLength(); - - DEBUG_ASSERT(m_currentMixxxFrameIndex == firstFrameIndex); - DEBUG_ASSERT(m_SCache.size() > 0); - getBytesFromCache( - writableSampleFrames.writableData(), - m_currentMixxxFrameIndex, - numberOfFrames); - m_currentMixxxFrameIndex += numberOfFrames; - m_bIsSeeked = false; + DEBUG_ASSERT(!pavNextPacket); + const auto readableRange = + IndexRange::between( + writableSampleFrames.frameIndexRange().start(), + writableRange.start()); return ReadableSampleFrames( - IndexRange::forward(firstFrameIndex, numberOfFrames), + readableRange, SampleBuffer::ReadableSlice( writableSampleFrames.writableData(), - std::min(writableSampleFrames.writableLength(), frames2samples(numberOfFrames)))); + frames2samples(readableRange.length()))); +} + +QString SoundSourceProviderFFmpeg::getName() const { + return "FFmpeg4"; +} + +SoundSourceProviderPriority SoundSourceProviderFFmpeg::getPriorityHint( + const QString& /*supportedFileExtension*/) const { + // TODO: Increase priority to HIGHER if FFmpeg should be used as the + // default decoder instead of other SoundSources. Currently it is + // only used as a fallback. + return SoundSourceProviderPriority::LOWER; } } // namespace mixxx diff --git a/src/sources/soundsourceffmpeg.h b/src/sources/soundsourceffmpeg.h index 8a43d28fcde..ed9416f60f0 100644 --- a/src/sources/soundsourceffmpeg.h +++ b/src/sources/soundsourceffmpeg.h @@ -1,115 +1,19 @@ -#ifndef MIXXX_SOUNDSOURCEFFMPEG_H -#define MIXXX_SOUNDSOURCEFFMPEG_H +#pragma once extern "C" { +#include #include - -#ifndef __FFMPEGOLDAPI__ -#include -#include -#endif - -// Compatibility -#include -#include +#include } // extern "C" -#include - #include "sources/soundsourceprovider.h" -#include "util/memory.h" // std::unique_ptr<> + std::make_unique() - -#define AVSTREAM_FROM_API_VERSION_3_1 \ - (LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 48, 0)) - -// forward declaration -class EncoderFfmpegResample; - -namespace { - -// Because 3.1 changed API how to access thigs in AVStream -// we'll separate this logic in own wrapper class -class AVStreamWrapper { - public: - virtual AVMediaType getMediaTypeOfStream(AVStream* pStream) = 0; - virtual AVCodec* findDecoderForStream(AVStream* pStream) = 0; - virtual SINT getChannelCountOfStream(AVStream* pStream) = 0; - virtual SINT getSampleRateOfStream(AVStream* pStream) = 0; - virtual AVSampleFormat getSampleFormatOfStream(AVStream* pStream) = 0; -}; - -// Implement classes for version before 3.1 and after that -#if AVSTREAM_FROM_API_VERSION_3_1 -// This is after version 3.1 -class AVStreamWrapperImpl : public AVStreamWrapper { - public: - AVMediaType getMediaTypeOfStream(AVStream* pStream) { - return pStream->codecpar->codec_type; - } - - AVCodec* findDecoderForStream(AVStream* pStream) { - return avcodec_find_decoder(pStream->codecpar->codec_id); - } - - SINT getChannelCountOfStream(AVStream* pStream) { - return pStream->codecpar->channels; - } - - SINT getSampleRateOfStream(AVStream* pStream) { - return pStream->codecpar->sample_rate; - } - - AVSampleFormat getSampleFormatOfStream(AVStream* pStream) { - return (AVSampleFormat)pStream->codecpar->format; - } -}; -#else -class AVStreamWrapperImpl : public AVStreamWrapper { - public: - AVMediaType getMediaTypeOfStream(AVStream* pStream) { - return pStream->codec->codec_type; - } - - AVCodec* findDecoderForStream(AVStream* pStream) { - return avcodec_find_decoder(pStream->codec->codec_id); - } - - SINT getChannelCountOfStream(AVStream* pStream) { - return pStream->codec->channels; - } - - SINT getSampleRateOfStream(AVStream* pStream) { - return pStream->codec->sample_rate; - } - - AVSampleFormat getSampleFormatOfStream(AVStream* pStream) { - return pStream->codec->sample_fmt; - } -}; -#endif - -//AVStreamWrapperImpl *m_pAVStreamWrapper = new AVStreamWrapperImpl(); -AVStreamWrapperImpl m_pAVStreamWrapper; - -} // namespace +#include "util/readaheadsamplebuffer.h" namespace mixxx { -struct ffmpegLocationObject { - SINT pos; - SINT pts; - SINT startFrame; -}; - -struct ffmpegCacheObject { - SINT startFrame; - SINT length; - quint8* bytes; -}; - class SoundSourceFFmpeg : public SoundSource { public: explicit SoundSourceFFmpeg(const QUrl& url); @@ -126,175 +30,159 @@ class SoundSourceFFmpeg : public SoundSource { OpenMode mode, const OpenParams& params) override; - bool readFramesToCache(unsigned int count, SINT offset); - bool getBytesFromCache(CSAMPLE* buffer, SINT offset, SINT size); - SINT getSizeofCache(); - void clearCache(); - - unsigned int read(unsigned long size, SAMPLE*); - - static AVFormatContext* openInputFile(const QString& fileName); - // Takes ownership of an input format context and ensures that // the corresponding AVFormatContext is closed, either explicitly // or implicitly by the destructor. The wrapper can only be // moved, copying is disabled. - class ClosableInputAVFormatContextPtr final { + class InputAVFormatContextPtr final { public: - explicit ClosableInputAVFormatContextPtr(AVFormatContext* pClosableInputFormatContext = nullptr) - : m_pClosableInputFormatContext(pClosableInputFormatContext) { + explicit InputAVFormatContextPtr(AVFormatContext* pavInputFormatContext = nullptr) + : m_pavInputFormatContext(pavInputFormatContext) { } - explicit ClosableInputAVFormatContextPtr(const ClosableInputAVFormatContextPtr&) = delete; - explicit ClosableInputAVFormatContextPtr(ClosableInputAVFormatContextPtr&& that) - : m_pClosableInputFormatContext(that.m_pClosableInputFormatContext) { - that.m_pClosableInputFormatContext = nullptr; + InputAVFormatContextPtr(const InputAVFormatContextPtr&) = delete; + InputAVFormatContextPtr(InputAVFormatContextPtr&& that) + : m_pavInputFormatContext(that.m_pavInputFormatContext) { + that.m_pavInputFormatContext = nullptr; } - ~ClosableInputAVFormatContextPtr() { + ~InputAVFormatContextPtr() { close(); } - void take(AVFormatContext** ppClosableInputFormatContext); + void take(AVFormatContext** ppavInputFormatContext); void close(); - friend void swap(ClosableInputAVFormatContextPtr& lhs, ClosableInputAVFormatContextPtr& rhs) { - std::swap(lhs.m_pClosableInputFormatContext, rhs.m_pClosableInputFormatContext); + friend void swap(InputAVFormatContextPtr& lhs, InputAVFormatContextPtr& rhs) { + std::swap(lhs.m_pavInputFormatContext, rhs.m_pavInputFormatContext); } - ClosableInputAVFormatContextPtr& operator=(const ClosableInputAVFormatContextPtr&) = delete; - ClosableInputAVFormatContextPtr& operator=(ClosableInputAVFormatContextPtr&& that) = delete; + InputAVFormatContextPtr& operator=(const InputAVFormatContextPtr&) = delete; + InputAVFormatContextPtr& operator=(InputAVFormatContextPtr&& that) { + swap(*this, that); + return *this; + } AVFormatContext* operator->() { - return m_pClosableInputFormatContext; + return m_pavInputFormatContext; } operator AVFormatContext*() { - return m_pClosableInputFormatContext; + return m_pavInputFormatContext; } private: - AVFormatContext* m_pClosableInputFormatContext; + AVFormatContext* m_pavInputFormatContext; }; - ClosableInputAVFormatContextPtr m_pInputFormatContext; + InputAVFormatContextPtr m_pavInputFormatContext; - static OpenResult openAudioStream(AVCodecContext* pCodecContext, AVCodec* pDecoder); + AVStream* m_pavStream; - // Takes ownership of an opened (audio) stream and ensures that - // the corresponding AVStream is closed, either explicitly or + // Takes ownership of an opened (audio) codec context and ensures that + // the corresponding AVCodecContext is closed, either explicitly or // implicitly by the destructor. The wrapper can only be moved, // copying is disabled. - class ClosableAVStreamPtr final { + class AVCodecContextPtr final { public: - explicit ClosableAVStreamPtr(AVStream* pClosableStream = nullptr) - : m_pClosableStream(pClosableStream) { + static AVCodecContextPtr alloc(const AVCodec* codec); + + explicit AVCodecContextPtr(AVCodecContext* pavCodecContext = nullptr) + : m_pavCodecContext(pavCodecContext) { } - explicit ClosableAVStreamPtr(const ClosableAVStreamPtr&) = delete; - explicit ClosableAVStreamPtr(ClosableAVStreamPtr&& that) - : m_pClosableStream(that.m_pClosableStream) { - that.m_pClosableStream = nullptr; + AVCodecContextPtr(const AVCodecContextPtr&) = delete; + AVCodecContextPtr(AVCodecContextPtr&& that) + : m_pavCodecContext(that.m_pavCodecContext) { + that.m_pavCodecContext = nullptr; } - ~ClosableAVStreamPtr() { + ~AVCodecContextPtr() { close(); } - void take(AVStream** ppClosableStream); + void take(AVCodecContext** ppavCodecContext); void close(); - friend void swap(ClosableAVStreamPtr& lhs, ClosableAVStreamPtr& rhs) { - std::swap(lhs.m_pClosableStream, rhs.m_pClosableStream); + friend void swap(AVCodecContextPtr& lhs, AVCodecContextPtr& rhs) { + std::swap(lhs.m_pavCodecContext, rhs.m_pavCodecContext); } - ClosableAVStreamPtr& operator=(const ClosableAVStreamPtr&) = delete; - ClosableAVStreamPtr& operator=(ClosableAVStreamPtr&& that) = delete; + AVCodecContextPtr& operator=(const AVCodecContextPtr&) = delete; + AVCodecContextPtr& operator=(AVCodecContextPtr&& that) { + swap(*this, that); + return *this; + } - AVStream* operator->() { - return m_pClosableStream; + AVCodecContext* operator->() { + return m_pavCodecContext; } - operator AVStream*() { - return m_pClosableStream; + operator AVCodecContext*() { + return m_pavCodecContext; } private: - AVStream* m_pClosableStream; + AVCodecContext* m_pavCodecContext; }; - ClosableAVStreamPtr m_pAudioStream; + AVCodecContextPtr m_pavCodecContext; -#if AVSTREAM_FROM_API_VERSION_3_1 - // Takes ownership of an opened (audio) codec context and ensures that - // the corresponding AVCodecContext is closed, either explicitly or - // implicitly by the destructor. The wrapper can only be moved, - // copying is disabled. - // - // This is prior new API changes made in FFMmpeg 3.1 - // before that we can use AVStream->codec to access AVCodecContext - class ClosableAVCodecContextPtr final { + // Resampler + class SwrContextPtr final { public: - explicit ClosableAVCodecContextPtr(AVCodecContext* pClosableContext = nullptr) - : m_pClosableContext(pClosableContext) { + explicit SwrContextPtr(SwrContext* m_pSwrContext = nullptr) + : m_pSwrContext(m_pSwrContext) { } - explicit ClosableAVCodecContextPtr(const ClosableAVCodecContextPtr&) = delete; - explicit ClosableAVCodecContextPtr(ClosableAVCodecContextPtr&& that) - : m_pClosableContext(that.m_pClosableContext) { - that.m_pClosableContext = nullptr; + SwrContextPtr(const SwrContextPtr&) = delete; + SwrContextPtr(SwrContextPtr&& that) + : m_pSwrContext(that.m_pSwrContext) { + that.m_pSwrContext = nullptr; } - ~ClosableAVCodecContextPtr() { + ~SwrContextPtr() { close(); } - void take(AVCodecContext** ppClosableContext); + void take(SwrContext** ppSwrContext); + void close(); - friend void swap(ClosableAVCodecContextPtr& lhs, ClosableAVCodecContextPtr& rhs) { - std::swap(lhs.m_pClosableContext, rhs.m_pClosableContext); + friend void swap(SwrContextPtr& lhs, SwrContextPtr& rhs) { + std::swap(lhs.m_pSwrContext, rhs.m_pSwrContext); } - ClosableAVCodecContextPtr& operator=(const ClosableAVCodecContextPtr&) = delete; - ClosableAVCodecContextPtr& operator=(ClosableAVCodecContextPtr&& that) = delete; + SwrContextPtr& operator=(const SwrContextPtr&) = delete; + SwrContextPtr& operator=(SwrContextPtr&& that) { + swap(*this, that); + return *this; + } - AVCodecContext* operator->() { - return m_pClosableContext; + SwrContext* operator->() { + return m_pSwrContext; } - operator AVCodecContext*() { - return m_pClosableContext; + operator SwrContext*() { + return m_pSwrContext; } private: - AVCodecContext* m_pClosableContext; + SwrContext* m_pSwrContext; }; - ClosableAVCodecContextPtr m_pAudioContext; -#endif + SwrContextPtr m_pSwrContext; + + uint64_t m_avStreamChannelLayout; + uint64_t m_avResampledChannelLayout; - std::unique_ptr m_pResample; + AVFrame* m_pavDecodedFrame; + AVFrame* m_pavResampledFrame; - SINT m_currentMixxxFrameIndex; + ReadAheadSampleBuffer m_sampleBuffer; - bool m_bIsSeeked; + SINT m_seekPrerollFrameCount; - SINT m_lCacheFramePos; - SINT m_lCacheStartFrame; - SINT m_lCacheEndFrame; - SINT m_lCacheLastPos; - QVector m_SCache; - QVector m_SJumpPoints; - SINT m_lLastStoredPos; - SINT m_lStoreCount; - SINT m_lStoredSeekPoint; - struct ffmpegLocationObject* m_SStoredJumpPoint; + SINT m_curFrameIndex; }; class SoundSourceProviderFFmpeg : public SoundSourceProvider { public: SoundSourceProviderFFmpeg(); - QString getName() const override { - return "FFmpeg"; - } + QString getName() const override; SoundSourceProviderPriority getPriorityHint( - const QString& supportedFileExtension) const override { - Q_UNUSED(supportedFileExtension); - // FFmpeg will only be used as the last resort - return SoundSourceProviderPriority::LOWEST; - } + const QString& supportedFileExtension) const override; QStringList getSupportedFileExtensions() const override; @@ -304,5 +192,3 @@ class SoundSourceProviderFFmpeg : public SoundSourceProvider { }; } // namespace mixxx - -#endif // MIXXX_SOUNDSOURCEFFMPEG_H diff --git a/src/sources/soundsourceffmpeg4.cpp b/src/sources/soundsourceffmpeg4.cpp deleted file mode 100644 index 294b04e8bc1..00000000000 --- a/src/sources/soundsourceffmpeg4.cpp +++ /dev/null @@ -1,1257 +0,0 @@ -#include "sources/soundsourceffmpeg4.h" - -#include "util/logger.h" -#include "util/sample.h" - -#include -#include - -#define ENABLE_TRACING false - -namespace mixxx { - -namespace { - -constexpr AVSampleFormat kavSampleFormat = AV_SAMPLE_FMT_FLT; - -constexpr uint64_t kavChannelLayoutUndefined = 0; - -constexpr int64_t kavMinStartTime = 0; - -// Use 0-based sample frame indexing -constexpr SINT kMinFrameIndex = 0; - -constexpr SINT kFrameIndexInvalid = std::numeric_limits::min(); - -constexpr SINT kFrameIndexUnknown = std::numeric_limits::max(); - -constexpr SINT kSamplesPerMP3Frame = 1152; - -// The minimum capacity for the internal sample buffer to -// store decoded data that has not been read/consumed yet. -// NOTE(2019-02-08, uklotzde): A capacity of 64 kB seem to -// be sufficient for most use cases when using FFmpeg 4.0.x. -constexpr SINT kMinSampleBufferCapacity = 65536; - -const Logger kLogger("SoundSourceFFmpeg4"); - -std::once_flag initFFmpegLibFlag; - -// FFmpeg API Changes: -// https://github.com/FFmpeg/FFmpeg/blob/master/doc/APIchanges - -// This function must be called once during startup. -void initFFmpegLib() { -#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 9, 100) - av_register_all(); -#endif -#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 10, 100) - avcodec_register_all(); -#endif -} - -inline uint64_t getStreamChannelLayout(const AVStream& avStream) { - auto channel_layout = avStream.codecpar->channel_layout; - if (channel_layout == kavChannelLayoutUndefined) { - // Workaround: FFmpeg sometimes fails to determine the channel - // layout, e.g. for a mono WAV files with a single channel! - channel_layout = av_get_default_channel_layout(avStream.codecpar->channels); - kLogger.info() - << "Unknown channel layout -> using default layout" - << channel_layout - << "for" - << avStream.codecpar->channels - << "channel(s)"; - } - return channel_layout; -} - -inline int64_t getStreamStartTime(const AVStream& avStream) { - auto start_time = avStream.start_time; - if (start_time == AV_NOPTS_VALUE) { - // This case is not unlikely, e.g. happens when decoding WAV files. -#if ENABLE_TRACING - kLogger.trace() - << "Unknown start time -> using default value" - << kavMinStartTime; -#endif - start_time = kavMinStartTime; - } - VERIFY_OR_DEBUG_ASSERT(start_time >= kavMinStartTime) { - kLogger.warning() - << "Adjusting start time:" - << start_time - << "->" - << kavMinStartTime; - return kavMinStartTime; - } - return start_time; -} - -inline int64_t getStreamEndTime(const AVStream& avStream) { - // The duration is the actually the end time of the stream, - // i.e. pts always starts at 0 independent of the start_time! - DEBUG_ASSERT(avStream.duration >= getStreamStartTime(avStream)); - return avStream.duration; -} - -inline SINT convertStreamTimeToFrameIndex(const AVStream& avStream, int64_t pts) { - // getStreamStartTime(avStream) -> 1st audible frame at kMinFrameIndex - return kMinFrameIndex + - av_rescale_q( - pts, - avStream.time_base, - (AVRational){1, avStream.codecpar->sample_rate}); -} - -inline int64_t convertFrameIndexToStreamTime(const AVStream& avStream, SINT frameIndex) { - // Inverse mapping of convertStreamTimeToFrameIndex() - return av_rescale_q( - frameIndex - kMinFrameIndex, - (AVRational){1, avStream.codecpar->sample_rate}, - avStream.time_base); -} - -IndexRange getStreamFrameIndexRange(const AVStream& avStream) { - return IndexRange::forward( - convertStreamTimeToFrameIndex(avStream, getStreamStartTime(avStream)), - convertStreamTimeToFrameIndex(avStream, getStreamEndTime(avStream))); -} - -SINT getStreamSeekPrerollFrameCount(const AVStream& avStream) { - // Stream might not provide an appropriate value that is - // sufficient for sample accurate decoding - const SINT defaultSeekPrerollFrameCount = - avStream.codecpar->seek_preroll; - DEBUG_ASSERT(defaultSeekPrerollFrameCount >= 0); - switch (avStream.codecpar->codec_id) { - case AV_CODEC_ID_MP3: - case AV_CODEC_ID_MP3ON4: { - // In the worst case up to 29 MP3 frames need to be prerolled - // for accurate seeking: - // http://www.mars.org/mailman/public/mad-dev/2002-May/000634.html - // But that would require to (re-)decode many frames after each seek - // operation, which increases the chance that dropouts may occur. - // As a compromise we will preroll only 9 instead of 29 frames. - // Those 9 frames should at least drain the bit reservoir. - DEBUG_ASSERT(avStream.codecpar->channels <= 2); - const SINT mp3SeekPrerollFrameCount = - 9 * (kSamplesPerMP3Frame / avStream.codecpar->channels); - return math_max(mp3SeekPrerollFrameCount, defaultSeekPrerollFrameCount); - } - case AV_CODEC_ID_AAC: - case AV_CODEC_ID_AAC_LATM: { - // "AAC Audio - Encoder Delay and Synchronization: The 2112 Sample Assumption" - // https://developer.apple.com/library/ios/technotes/tn2258/_index.html - // "It must also be assumed that without an explicit value, the playback - // system will trim 2112 samples from the AAC decoder output when starting - // playback from any point in the bistream." - // See also: https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/QTFFAppenG/QTFFAppenG.html - const SINT aacSeekPrerollFrameCount = 2112; - return math_max(aacSeekPrerollFrameCount, defaultSeekPrerollFrameCount); - } - default: - return defaultSeekPrerollFrameCount; - } -} - -QString formatErrorMessage(int errnum) { - char errbuf[256]; - if (av_strerror(errnum, errbuf, sizeof(errbuf) / sizeof(errbuf[0]) == 0)) { - return QString("%1 (%2)").arg(errbuf, errnum); - } else { - return QString("No description for error code (%1) found").arg(errnum); - } -} - -#if ENABLE_TRACING -inline void avTrace(const char* preamble, const AVPacket& avPacket) { - if (kLogger.traceEnabled()) { - kLogger.trace() << preamble - << "{ stream_index" << avPacket.stream_index - << "| pos" << avPacket.pos - << "| size" << avPacket.size - << "| dst" << avPacket.dts - << "| pts" << avPacket.pts - << "| duration" << avPacket.duration - << '}'; - } -} - -inline void avTrace(const char* preamble, const AVFrame& avFrame) { - if (kLogger.traceEnabled()) { - kLogger.trace() << preamble - << "{ channels" << avFrame.channels - << "| channel_layout" << avFrame.channel_layout - << "| format" << avFrame.format - << "| sample_rate" << avFrame.sample_rate - << "| pkt_dts" << avFrame.pkt_dts - << "| pkt_duration" << avFrame.pkt_duration - << "| pts" << avFrame.pts - << "| nb_samples" << avFrame.nb_samples - << '}'; - } -} -#endif // ENABLE_TRACING - -AVFormatContext* openInputFile( - const QString& fileName) { - // Will be allocated implicitly when opening the input file - AVFormatContext* pavInputFormatContext = nullptr; - - // Open input file and allocate/initialize AVFormatContext - const int avformat_open_input_result = - avformat_open_input( - &pavInputFormatContext, fileName.toLocal8Bit().constData(), nullptr, nullptr); - if (avformat_open_input_result != 0) { - DEBUG_ASSERT(avformat_open_input_result < 0); - kLogger.warning() - << "avformat_open_input() failed:" - << formatErrorMessage(avformat_open_input_result).toLocal8Bit().constData(); - DEBUG_ASSERT(pavInputFormatContext == nullptr); - } - return pavInputFormatContext; -} - -bool openDecodingContext( - AVCodecContext* pavCodecContext) { - DEBUG_ASSERT(pavCodecContext != nullptr); - - const int avcodec_open2_result = avcodec_open2(pavCodecContext, pavCodecContext->codec, nullptr); - if (avcodec_open2_result != 0) { - DEBUG_ASSERT(avcodec_open2_result < 0); - kLogger.warning() - << "avcodec_open2() failed:" - << formatErrorMessage(avcodec_open2_result).toLocal8Bit().constData(); - return false; - } - return true; -} - -} // anonymous namespace - -void SoundSourceFFmpeg4::InputAVFormatContextPtr::take( - AVFormatContext** ppavInputFormatContext) { - DEBUG_ASSERT(ppavInputFormatContext != nullptr); - if (m_pavInputFormatContext != *ppavInputFormatContext) { - close(); - m_pavInputFormatContext = *ppavInputFormatContext; - *ppavInputFormatContext = nullptr; - } -} - -void SoundSourceFFmpeg4::InputAVFormatContextPtr::close() { - if (m_pavInputFormatContext != nullptr) { - avformat_close_input(&m_pavInputFormatContext); - DEBUG_ASSERT(m_pavInputFormatContext == nullptr); - } -} - -//static -SoundSourceFFmpeg4::AVCodecContextPtr -SoundSourceFFmpeg4::AVCodecContextPtr::alloc( - const AVCodec* codec) { - AVCodecContextPtr context(avcodec_alloc_context3(codec)); - if (!context) { - kLogger.warning() - << "avcodec_alloc_context3() failed for codec" - << codec->name; - } - return context; -} - -void SoundSourceFFmpeg4::AVCodecContextPtr::take(AVCodecContext** ppavCodecContext) { - DEBUG_ASSERT(ppavCodecContext != nullptr); - if (m_pavCodecContext != *ppavCodecContext) { - close(); - m_pavCodecContext = *ppavCodecContext; - *ppavCodecContext = nullptr; - } -} - -void SoundSourceFFmpeg4::AVCodecContextPtr::close() { - if (m_pavCodecContext != nullptr) { - avcodec_free_context(&m_pavCodecContext); - m_pavCodecContext = nullptr; - } -} - -void SoundSourceFFmpeg4::SwrContextPtr::take( - SwrContext** ppSwrContext) { - DEBUG_ASSERT(m_pSwrContext != nullptr); - if (m_pSwrContext != *ppSwrContext) { - close(); - m_pSwrContext = *ppSwrContext; - *ppSwrContext = nullptr; - } -} - -void SoundSourceFFmpeg4::SwrContextPtr::close() { - if (m_pSwrContext != nullptr) { - swr_free(&m_pSwrContext); - DEBUG_ASSERT(m_pSwrContext == nullptr); - } -} - -SoundSourceProviderFFmpeg4::SoundSourceProviderFFmpeg4() { - std::call_once(initFFmpegLibFlag, initFFmpegLib); -} - -QStringList SoundSourceProviderFFmpeg4::getSupportedFileExtensions() const { - QStringList list; - - // Collect all supported formats (whitelist) -#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 9, 100) - AVInputFormat* pavInputFormat = nullptr; - while ((pavInputFormat = av_iformat_next(pavInputFormat))) { -#else - const AVInputFormat* pavInputFormat = nullptr; - void* iInputFormat = 0; - while ((pavInputFormat = av_demuxer_iterate(&iInputFormat))) { -#endif - if (pavInputFormat->flags | AVFMT_SEEK_TO_PTS) { - /////////////////////////////////////////////////////////// - // Whitelist of tested codecs (including variants) - /////////////////////////////////////////////////////////// - if (!strcmp(pavInputFormat->name, "aac")) { - list.append("aac"); - continue; - } else if (!strcmp(pavInputFormat->name, "aiff")) { - list.append("aif"); - list.append("aiff"); - continue; - } else if (!strcmp(pavInputFormat->name, "mp3")) { - list.append("mp3"); - continue; - } else if (!strcmp(pavInputFormat->name, "mp4")) { - list.append("mp4"); - continue; - } else if (!strcmp(pavInputFormat->name, "m4v")) { - list.append("m4v"); - continue; - } else if (!strcmp(pavInputFormat->name, "mov,mp4,m4a,3gp,3g2,mj2")) { - list.append("mov"); - list.append("mp4"); - list.append("m4a"); - list.append("3gp"); - list.append("3g2"); - list.append("mj2"); - continue; - } else if (!strcmp(pavInputFormat->name, "opus") || !strcmp(pavInputFormat->name, "libopus")) { - list.append("opus"); - continue; - } else if (!strcmp(pavInputFormat->name, "wav")) { - list.append("wav"); - continue; - } else if (!strcmp(pavInputFormat->name, "wv")) { - list.append("wv"); - continue; - /////////////////////////////////////////////////////////// - // Codecs with failing tests - /////////////////////////////////////////////////////////// - /* - } else if (!strcmp(pavInputFormat->name, "flac")) { - // FFmpeg failure causes test failure: - // [flac @ 0x2ef2060] read_timestamp() failed in the middle - // SoundSourceFFmpeg4 - av_seek_frame() failed: Operation not permitted - list.append("flac"); - continue; - } else if (!strcmp(pavInputFormat->name, "ogg")) { - // Test failures that might be caused by FFmpeg bug: - // https://trac.ffmpeg.org/ticket/3825 - list.append("ogg"); - continue; - } else if (!strcmp(pavInputFormat->name, "wma") || - !strcmp(pavInputFormat->name, "xwma")) { - list.append("wma"); - continue; - */ - /////////////////////////////////////////////////////////// - // Untested codecs - /////////////////////////////////////////////////////////// - /* - } else if (!strcmp(pavInputFormat->name, "ac3")) { - list.append("ac3"); - continue; - } else if (!strcmp(pavInputFormat->name, "caf")) { - list.append("caf"); - continue; - } else if (!strcmp(pavInputFormat->name, "mpc")) { - list.append("mpc"); - continue; - } else if (!strcmp(pavInputFormat->name, "mpeg")) { - list.append("mpeg"); - continue; - } else if (!strcmp(pavInputFormat->name, "tak")) { - list.append("tak"); - continue; - } else if (!strcmp(pavInputFormat->name, "tta")) { - list.append("tta"); - continue; - */ - } - } - kLogger.info() - << "Disabling untested input format:" - << pavInputFormat->name; - continue; - } - - return list; -} - -SoundSourceFFmpeg4::SoundSourceFFmpeg4(const QUrl& url) - : SoundSource(url), - m_pavStream(nullptr), - m_pavDecodedFrame(nullptr), - m_pavResampledFrame(nullptr), - m_sampleBuffer(kMinSampleBufferCapacity), - m_seekPrerollFrameCount(0), - m_curFrameIndex(kFrameIndexInvalid) { -} - -SoundSourceFFmpeg4::~SoundSourceFFmpeg4() { - close(); -} - -SoundSource::OpenResult SoundSourceFFmpeg4::tryOpen( - OpenMode /*mode*/, - const OpenParams& params) { - // Open input - { - AVFormatContext* pavInputFormatContext = - openInputFile(getLocalFileName()); - if (pavInputFormatContext == nullptr) { - kLogger.warning() - << "Failed to open input file" - << getLocalFileName(); - return OpenResult::Failed; - } - m_pavInputFormatContext.take(&pavInputFormatContext); - } - - // Retrieve stream information - const int avformat_find_stream_info_result = - avformat_find_stream_info(m_pavInputFormatContext, nullptr); - if (avformat_find_stream_info_result != 0) { - DEBUG_ASSERT(avformat_find_stream_info_result < 0); - kLogger.warning() - << "avformat_find_stream_info() failed:" - << formatErrorMessage(avformat_find_stream_info_result).toLocal8Bit().constData(); - return OpenResult::Failed; - } - - // Find the best stream - AVCodec* pDecoder = nullptr; - const int av_find_best_stream_result = av_find_best_stream( - m_pavInputFormatContext, - AVMEDIA_TYPE_AUDIO, - /*wanted_stream_nb*/ -1, - /*related_stream*/ -1, - &pDecoder, - /*flags*/ 0); - if (av_find_best_stream_result < 0) { - switch (av_find_best_stream_result) { - case AVERROR_STREAM_NOT_FOUND: - kLogger.warning() - << "av_find_best_stream() failed to find an audio stream"; - break; - case AVERROR_DECODER_NOT_FOUND: - kLogger.warning() - << "av_find_best_stream() failed to find a decoder for any audio stream"; - break; - default: - kLogger.warning() - << "av_find_best_stream() failed:" - << formatErrorMessage(av_find_best_stream_result).toLocal8Bit().constData(); - } - return SoundSource::OpenResult::Aborted; - } - DEBUG_ASSERT(pDecoder); - - // Select audio stream for decoding - AVStream* pavStream = m_pavInputFormatContext->streams[av_find_best_stream_result]; - DEBUG_ASSERT(pavStream != nullptr); - DEBUG_ASSERT(pavStream->index == av_find_best_stream_result); - - // Allocate decoding context - AVCodecContextPtr pavCodecContext = AVCodecContextPtr::alloc(pDecoder); - if (!pavCodecContext) { - return SoundSource::OpenResult::Aborted; - } - - // Configure decoding context - const int avcodec_parameters_to_context_result = - avcodec_parameters_to_context(pavCodecContext, pavStream->codecpar); - if (avcodec_parameters_to_context_result != 0) { - DEBUG_ASSERT(avcodec_parameters_to_context_result < 0); - kLogger.warning() - << "avcodec_parameters_to_context() failed:" - << formatErrorMessage(avcodec_parameters_to_context_result).toLocal8Bit().constData(); - return SoundSource::OpenResult::Aborted; - } - -#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 18, 100) - // Align the time base of the context with that of the selected stream - av_codec_set_pkt_timebase(pavCodecContext, pavStream->time_base); -#endif - - // Request output format - pavCodecContext->request_sample_fmt = kavSampleFormat; - if (params.channelCount().valid()) { - pavCodecContext->request_channel_layout = av_get_default_channel_layout(params.channelCount()); - } - - // Open decoding context - if (!openDecodingContext(pavCodecContext)) { - // early exit on any error - return SoundSource::OpenResult::Failed; - } - - // Initialize members - m_pavCodecContext = std::move(pavCodecContext); - m_pavStream = pavStream; - - if (kLogger.debugEnabled()) { - kLogger.debug() - << "Opened stream for decoding" - << "{ index" << m_pavStream->index - << "| id" << m_pavStream->id - << "| codec_type" << m_pavStream->codecpar->codec_type - << "| codec_id" << m_pavStream->codecpar->codec_id - << "| channels" << m_pavStream->codecpar->channels - << "| channel_layout" << m_pavStream->codecpar->channel_layout - << "| channel_layout (fixed)" << getStreamChannelLayout(*m_pavStream) - << "| format" << m_pavStream->codecpar->format - << "| sample_rate" << m_pavStream->codecpar->sample_rate - << "| bit_rate" << m_pavStream->codecpar->bit_rate - << "| frame_size" << m_pavStream->codecpar->frame_size - << "| initial_padding" << m_pavStream->codecpar->initial_padding - << "| trailing_padding" << m_pavStream->codecpar->trailing_padding - << "| seek_preroll" << m_pavStream->codecpar->seek_preroll - << "| start_time" << m_pavStream->start_time - << "| duration" << m_pavStream->duration - << "| nb_frames" << m_pavStream->nb_frames - << "| time_base" << m_pavStream->time_base.num << '/' << m_pavStream->time_base.den - << '}'; - } - - const auto streamChannelCount = - ChannelCount(m_pavStream->codecpar->channels); - m_avStreamChannelLayout = - getStreamChannelLayout(*m_pavStream); - const auto avStreamSampleFormat = - m_pavCodecContext->sample_fmt; - const auto sampleRate = - SampleRate(m_pavStream->codecpar->sample_rate); - - DEBUG_ASSERT(!m_pavDecodedFrame); - m_pavDecodedFrame = av_frame_alloc(); - - // Init resampling - const auto resampledChannelCount = - // NOTE(uklotzde, 2017-09-26): Resampling to a different number of - // channels like upsampling a mono to stereo signal breaks various - // tests in the EngineBufferE2ETest suite!! SoundSource decoding tests - // are unaffected, because there we always compare two signals produced - // by the same decoder instead of a decoded with a reference signal. As - // a workaround we decode the stream's channels as is and let Mixxx decide - // how to handle this later. - /*config.channelCount().valid() ? config.channelCount() :*/ streamChannelCount; - m_avResampledChannelLayout = - av_get_default_channel_layout(resampledChannelCount); - const auto avResampledSampleFormat = - kavSampleFormat; - // NOTE(uklotzde): We prefer not to change adjust sample rate here, because - // all the frame calculations while decoding use the frame information - // from the underlying stream! We only need resampling for up-/downsampling - // the channels and to transform the decoded audio data into the sample - // format that is used by Mixxx. - if ((resampledChannelCount != streamChannelCount) || - (m_avResampledChannelLayout != m_avStreamChannelLayout) || - (avResampledSampleFormat != avStreamSampleFormat)) { -#if ENABLE_TRACING - kLogger.trace() - << "Decoded stream needs to be resampled" - << ": channel count =" << resampledChannelCount - << "| channel layout =" << m_avResampledChannelLayout - << "| sample format =" << av_get_sample_fmt_name(avResampledSampleFormat); -#endif - m_pSwrContext = SwrContextPtr(swr_alloc_set_opts( - nullptr, - m_avResampledChannelLayout, - avResampledSampleFormat, - sampleRate, - m_avStreamChannelLayout, - avStreamSampleFormat, - sampleRate, - 0, - nullptr)); - if (!m_pSwrContext) { - kLogger.warning() - << "Failed to allocate resampling context"; - return OpenResult::Failed; - } - const auto swr_init_result = - swr_init(m_pSwrContext); - if (swr_init_result < 0) { - kLogger.warning() - << "swr_init() failed:" - << formatErrorMessage(swr_init_result).toLocal8Bit().constData(); - return OpenResult::Failed; - } - DEBUG_ASSERT(!m_pavResampledFrame); - m_pavResampledFrame = av_frame_alloc(); - } - - if (!setChannelCount(resampledChannelCount)) { - kLogger.warning() - << "Failed to initialize number of channels" - << resampledChannelCount; - return OpenResult::Aborted; - } - - if (!setSampleRate(sampleRate)) { - kLogger.warning() - << "Failed to initialize sampling rate" - << sampleRate; - return OpenResult::Aborted; - } - - const auto streamBitrate = - Bitrate(m_pavStream->codecpar->bit_rate / 1000); // kbps - if (streamBitrate.valid() && !initBitrateOnce(streamBitrate)) { - kLogger.warning() - << "Failed to initialize bitrate" - << streamBitrate; - return OpenResult::Failed; - } - - const auto streamFrameIndexRange = - getStreamFrameIndexRange(*m_pavStream); - // The nominal frame index range includes the lead-in that - // is filled with silence during decoding. This is required - // for both for backward compatibility and for interoperability - // with external applications! - // See also the discussion regarding cue point shift/offset: - // https://mixxx.zulipchat.com/#narrow/stream/109171-development/topic/Cue.20shift.2Foffset - VERIFY_OR_DEBUG_ASSERT(kMinFrameIndex <= streamFrameIndexRange.start()) { - kLogger.warning() - << "Stream with unsupported or invalid frame index range" - << streamFrameIndexRange; - return OpenResult::Failed; - } - if (kMinFrameIndex < streamFrameIndexRange.start()) { - kLogger.debug() - << "Lead-in frames" - << IndexRange::between(kMinFrameIndex, streamFrameIndexRange.start()); - } - const auto frameIndexRange = IndexRange::between(kMinFrameIndex, streamFrameIndexRange.end()); - if (!initFrameIndexRangeOnce(frameIndexRange)) { - kLogger.warning() - << "Failed to initialize frame index range" - << frameIndexRange; - return OpenResult::Failed; - } - - // A stream packet may produce multiple stream frames when decoded. Buffering - // more than a few codec frames with samples in advance should be unlikely. - const SINT codecSampleBufferCapacity = 4 * m_pavStream->codecpar->frame_size; - if (m_sampleBuffer.capacity() < codecSampleBufferCapacity) { - m_sampleBuffer.adjustCapacity(codecSampleBufferCapacity); - } - - m_seekPrerollFrameCount = getStreamSeekPrerollFrameCount(*m_pavStream); -#if ENABLE_TRACING - kLogger.trace() << "Seek preroll frame count:" << m_seekPrerollFrameCount; -#endif - - m_curFrameIndex = kMinFrameIndex; - - return OpenResult::Succeeded; -} - -void SoundSourceFFmpeg4::close() { - av_frame_free(&m_pavResampledFrame); - DEBUG_ASSERT(!m_pavResampledFrame); - av_frame_free(&m_pavDecodedFrame); - DEBUG_ASSERT(!m_pavDecodedFrame); - m_pSwrContext.close(); - m_pavCodecContext.close(); - m_pavInputFormatContext.close(); -} - -namespace { -SINT readNextPacket( - AVFormatContext* pavFormatContext, - AVStream* pavStream, - AVPacket* pavPacket, - SINT flushFrameIndex) { - while (true) { - const auto av_read_frame_result = - av_read_frame( - pavFormatContext, - pavPacket); - if (av_read_frame_result < 0) { - if (av_read_frame_result == AVERROR_EOF) { - // Enter drain mode: Flush the decoder with a final empty packet - kLogger.debug() - << "EOF: Entering drain mode"; - pavPacket->stream_index = pavStream->index; - pavPacket->data = nullptr; - pavPacket->size = 0; - return flushFrameIndex; - } else { - kLogger.warning() - << "av_read_frame() failed:" - << formatErrorMessage(av_read_frame_result).toLocal8Bit().constData(); - return kFrameIndexInvalid; - } - } -#if ENABLE_TRACING - avTrace("Packet read from stream", *pavPacket); -#endif - DEBUG_ASSERT(pavPacket->data); - DEBUG_ASSERT(pavPacket->size > 0); - if (pavPacket->stream_index == pavStream->index) { - // Found a packet for the stream - break; - } else { - av_packet_unref(pavPacket); - } - } - DEBUG_ASSERT(pavPacket->stream_index == pavStream->index); - return (pavPacket->pts != AV_NOPTS_VALUE) - ? convertStreamTimeToFrameIndex(*pavStream, pavPacket->pts) - : kFrameIndexUnknown; -} -} // namespace - -ReadableSampleFrames SoundSourceFFmpeg4::readSampleFramesClamped( - WritableSampleFrames writableSampleFrames) { - CSAMPLE* pOutputSampleBuffer = writableSampleFrames.writableData(); - auto writableRange = - writableSampleFrames.frameIndexRange(); - - // Consume all buffered sample data before decoding any new data - if (!m_sampleBuffer.empty()) { - DEBUG_ASSERT(m_curFrameIndex != kFrameIndexInvalid); - DEBUG_ASSERT(frameIndexRange().containsIndex(m_curFrameIndex)); - const auto bufferedRange = - IndexRange::forward( - m_curFrameIndex, - samples2frames(m_sampleBuffer.readableLength())); - const auto consumableRange = - intersect(bufferedRange, writableRange); - DEBUG_ASSERT(consumableRange.length() <= writableRange.length()); - if (!consumableRange.empty() && - (consumableRange.start() == writableRange.start())) { - // Drop and skip preceding buffered samples - DEBUG_ASSERT(m_curFrameIndex <= writableRange.start()); - const auto skippableRange = - IndexRange::between( - m_curFrameIndex, - writableRange.start()); - m_sampleBuffer.shrinkForReading( - frames2samples(skippableRange.length())); - m_curFrameIndex += skippableRange.length(); - // Consume buffered samples - DEBUG_ASSERT(m_curFrameIndex == writableRange.start()); - const SampleBuffer::ReadableSlice consumableSlice = - m_sampleBuffer.shrinkForReading( - frames2samples(consumableRange.length())); - DEBUG_ASSERT(consumableSlice.length() == frames2samples(consumableRange.length())); -#if ENABLE_TRACING - kLogger.trace() << "Consuming buffered samples" << consumableRange; -#endif - if (pOutputSampleBuffer) { - SampleUtil::copy( - pOutputSampleBuffer, - consumableSlice.data(), - consumableSlice.length()); - pOutputSampleBuffer += consumableSlice.length(); - } - writableRange.shrinkFront(consumableRange.length()); - m_curFrameIndex += consumableRange.length(); - // Keep remaining buffered samples - DEBUG_ASSERT(writableRange.empty() || m_sampleBuffer.empty()); - } else { - // Discard all buffered sample data - m_sampleBuffer.clear(); - m_curFrameIndex += bufferedRange.length(); - } - } - - if (m_curFrameIndex != writableRange.start()) { - // Need to seek before reading - DEBUG_ASSERT(m_sampleBuffer.empty()); - auto seekFrameIndex = - math_max(kMinFrameIndex, writableRange.start() - m_seekPrerollFrameCount); - // Seek to codec frame boundaries if the frame size is fixed and known - if (m_pavStream->codecpar->frame_size > 0) { - seekFrameIndex -= (seekFrameIndex - kMinFrameIndex) % m_pavCodecContext->frame_size; - } - DEBUG_ASSERT(seekFrameIndex >= kMinFrameIndex); - DEBUG_ASSERT(seekFrameIndex <= writableRange.start()); - if ((m_curFrameIndex == kFrameIndexInvalid) || - (m_curFrameIndex > writableRange.start()) || - (m_curFrameIndex < seekFrameIndex)) { - // Flush internal decoder state - avcodec_flush_buffers(m_pavCodecContext); - // Invalidate current position - m_curFrameIndex = kFrameIndexInvalid; - // Seek to new position - const int64_t seekTimestamp = - convertFrameIndexToStreamTime(*m_pavStream, seekFrameIndex); - int av_seek_frame_result = av_seek_frame( - m_pavInputFormatContext, - m_pavStream->index, - seekTimestamp, - AVSEEK_FLAG_BACKWARD); - if (av_seek_frame_result < 0) { - kLogger.warning() - << "av_seek_frame() failed:" - << formatErrorMessage(av_seek_frame_result).toLocal8Bit().constData(); - m_curFrameIndex = kFrameIndexInvalid; - return ReadableSampleFrames(); - } - // Current position is unknown until reading from the stream - m_curFrameIndex = kFrameIndexUnknown; - } - } - DEBUG_ASSERT(m_curFrameIndex != kFrameIndexInvalid); - - AVPacket avPacket; - av_init_packet(&avPacket); - avPacket.data = nullptr; - avPacket.size = 0; - AVPacket* pavNextPacket = nullptr; - auto readFrameIndex = m_curFrameIndex; - while ((pavNextPacket || !writableRange.empty()) && - (m_curFrameIndex != kFrameIndexInvalid)) { - // Read next packet from stream - if (!pavNextPacket) { - const SINT packetFrameIndex = - readNextPacket( - m_pavInputFormatContext, - m_pavStream, - &avPacket, - m_curFrameIndex); - if (packetFrameIndex == kFrameIndexInvalid) { - // Invalidate current position and abort reading - m_curFrameIndex = kFrameIndexInvalid; - break; - } - pavNextPacket = &avPacket; - } - DEBUG_ASSERT(pavNextPacket); - - // Consume raw packet data -#if ENABLE_TRACING - avTrace("Sending packet to decoder", *pavNextPacket); -#endif - const auto avcodec_send_packet_result = - avcodec_send_packet(m_pavCodecContext, pavNextPacket); - if (avcodec_send_packet_result == 0) { - // Packet has been consumed completely -#if ENABLE_TRACING - kLogger.trace() << "Packet has been consumed by decoder"; -#endif - // Release ownership on packet - av_packet_unref(pavNextPacket); - pavNextPacket = nullptr; - } else { - // Packet has not been consumed or only partially - if (avcodec_send_packet_result == AVERROR(EAGAIN)) { - // Keep and resend this packet to the decoder during the next round -#if ENABLE_TRACING - kLogger.trace() << "Packet needs to be sent again to decoder"; -#endif - } else { - kLogger.warning() - << "avcodec_send_packet() failed:" - << formatErrorMessage(avcodec_send_packet_result).toLocal8Bit().constData(); - // Release ownership on packet - av_packet_unref(pavNextPacket); - pavNextPacket = nullptr; - // Invalidate current position and abort reading - m_curFrameIndex = kFrameIndexInvalid; - break; - } - } - - int avcodec_receive_frame_result; - do { -#if ENABLE_TRACING - kLogger.trace() - << "m_curFrameIndex" << m_curFrameIndex - << "readFrameIndex" << readFrameIndex - << "writableRange" << writableRange - << "m_sampleBuffer.readableLength()" << m_sampleBuffer.readableLength(); -#endif - - DEBUG_ASSERT(writableRange.empty() || m_sampleBuffer.empty()); - - SINT missingFrameCount = 0; - const CSAMPLE* pDecodedSampleData = nullptr; - - // Decode next frame - IndexRange decodedFrameRange; - avcodec_receive_frame_result = avcodec_receive_frame( - m_pavCodecContext, - m_pavDecodedFrame); - if (avcodec_receive_frame_result == 0) { -#if ENABLE_TRACING - avTrace("Received decoded frame", *m_pavDecodedFrame); -#endif - DEBUG_ASSERT(m_pavDecodedFrame->pts != AV_NOPTS_VALUE); - const auto decodedFrameCount = m_pavDecodedFrame->nb_samples; - DEBUG_ASSERT(decodedFrameCount > 0); - decodedFrameRange = IndexRange::forward( - convertStreamTimeToFrameIndex(*m_pavStream, m_pavDecodedFrame->pts), - decodedFrameCount); - if (readFrameIndex == kFrameIndexUnknown) { - readFrameIndex = decodedFrameRange.start(); - } - } else if (avcodec_receive_frame_result == AVERROR(EAGAIN)) { -#if ENABLE_TRACING - kLogger.trace() << "No more frames available until decoder is fed with more packets from stream"; -#endif - DEBUG_ASSERT(!pavNextPacket); - break; - } else if (avcodec_receive_frame_result == AVERROR_EOF) { - DEBUG_ASSERT(!pavNextPacket); - if (!writableRange.empty()) { - DEBUG_ASSERT(readFrameIndex < writableRange.end()); - DEBUG_ASSERT(m_sampleBuffer.empty()); - // Due to the lead-in with a start_time > 0 some encoded - // files are shorter then actually reported. This may vary - // depending on the encoder version, because sometimes the - // lead-in is included in the stream's duration and sometimes - // not. Short periods of silence at the end of a track are - // acceptable in favor of a consistent handling of the lead-in, - // because they may affect only the position of the outro end - // point and not any other position markers! - kLogger.debug() - << "Stream ends at sample frame" - << readFrameIndex - << "instead of" - << frameIndexRange().end() - << "-> padding with silence"; - const auto clearSampleCount = - frames2samples(writableRange.length()); - if (pOutputSampleBuffer) { - SampleUtil::clear( - pOutputSampleBuffer, - clearSampleCount); - pOutputSampleBuffer += clearSampleCount; - } - writableRange.shrinkFront(writableRange.length()); - } - // Invalidate current position and abort reading - m_curFrameIndex = kFrameIndexInvalid; - break; - } else { - kLogger.warning() - << "avcodec_receive_frame() failed:" - << formatErrorMessage(avcodec_receive_frame_result).toLocal8Bit().constData(); - // Invalidate current position and abort reading - m_curFrameIndex = kFrameIndexInvalid; - break; - } - -#if ENABLE_TRACING - kLogger.trace() - << "After receiving decoded frame:" - << "m_curFrameIndex" << m_curFrameIndex - << "readFrameIndex" << readFrameIndex - << "decodedFrameRange" << decodedFrameRange - << "writableRange" << writableRange - << "missingFrameCount" << missingFrameCount; -#endif - DEBUG_ASSERT(readFrameIndex != kFrameIndexInvalid); - DEBUG_ASSERT(readFrameIndex != kFrameIndexUnknown); - - if (decodedFrameRange.start() < readFrameIndex) { - // The next frame starts BEFORE the current position - const auto overlapRange = - IndexRange::between( - decodedFrameRange.start(), - readFrameIndex); - // NOTE(2019-02-08, uklotzde): Overlapping frames at the - // beginning of an audio stream before the first readable - // sample frame at kMinFrameIndex are expected. For example - // this happens when decoding 320kbps MP3 files where - // decoding starts at position -1105 and the first 1105 - // decoded samples need to be skipped. - if (readFrameIndex > kMinFrameIndex) { - kLogger.warning() - << "Overlapping sample frames in the stream:" - << overlapRange; - } - const auto consumedRange = - IndexRange::between( - writableSampleFrames.frameIndexRange().start(), - // We might still be decoding samples in preroll mode, i.e. - // readFrameIndex < writableSampleFrames.frameIndexRange().start() - math_max(readFrameIndex, writableSampleFrames.frameIndexRange().start())); - auto rewindRange = - intersect(overlapRange, consumedRange); - if (!rewindRange.empty()) { - DEBUG_ASSERT(rewindRange.end() == readFrameIndex); - kLogger.warning() - << "Rewinding current position:" - << readFrameIndex - << "->" - << rewindRange.start(); - // Rewind internally buffered samples first... - const auto rewindSampleLength = - m_sampleBuffer.shrinkAfterWriting( - frames2samples(rewindRange.length())); - rewindRange.shrinkBack( - samples2frames(rewindSampleLength)); - // ...then rewind remaining samples from the output buffer - if (pOutputSampleBuffer) { - pOutputSampleBuffer -= frames2samples(rewindRange.length()); - } - writableRange = IndexRange::between(rewindRange.start(), writableRange.end()); - } - // Adjust read position - readFrameIndex = decodedFrameRange.start(); - } else if (decodedFrameRange.start() > readFrameIndex) { - // The next frame starts AFTER the current position, i.e. - // some frames before decodedFrameRange.start() are missing. - missingFrameCount = decodedFrameRange.start() - readFrameIndex; - } - -#if ENABLE_TRACING - kLogger.trace() - << "Before resampling:" - << "m_curFrameIndex" << m_curFrameIndex - << "readFrameIndex" << readFrameIndex - << "decodedFrameRange" << decodedFrameRange - << "writableRange" << writableRange - << "missingFrameCount" << missingFrameCount; -#endif - DEBUG_ASSERT(readFrameIndex <= decodedFrameRange.start()); - // NOTE: Decoding might start at a negative position for the first - // frame of the file! In this case readFrameIndex < decodedFrameRange().start(), - // i.e. the decoded frame starts outside of the track's valid range! - // Consequently isValidFrameIndex(readFrameIndex) might return false. - // This is expected behavior and will be compensated during 'preskip' - // (see below). - - if (m_pSwrContext) { - // Decoded frame must be resampled before reading - m_pavResampledFrame->channel_layout = m_avResampledChannelLayout; - m_pavResampledFrame->sample_rate = sampleRate(); - m_pavResampledFrame->format = kavSampleFormat; - if (m_pavDecodedFrame->channel_layout == kavChannelLayoutUndefined) { - // Sometimes the channel layout is undefined. - m_pavDecodedFrame->channel_layout = m_avStreamChannelLayout; - } -#if ENABLE_TRACING - avTrace("Resampling decoded frame", *m_pavDecodedFrame); -#endif - const auto swr_convert_frame_result = - swr_convert_frame( - m_pSwrContext, - m_pavResampledFrame, - m_pavDecodedFrame); - if (swr_convert_frame_result != 0) { - kLogger.warning() - << "swr_convert_frame() failed:" - << formatErrorMessage(swr_convert_frame_result).toLocal8Bit().constData(); - // Abort reading - av_frame_unref(m_pavDecodedFrame); - m_curFrameIndex = kFrameIndexInvalid; - break; - } -#if ENABLE_TRACING - avTrace("Received resampled frame", *m_pavResampledFrame); -#endif - DEBUG_ASSERT(m_pavDecodedFrame->pts = m_pavResampledFrame->pts); - DEBUG_ASSERT(m_pavDecodedFrame->nb_samples = m_pavResampledFrame->nb_samples); - pDecodedSampleData = reinterpret_cast( - m_pavResampledFrame->extended_data[0]); - } else { - pDecodedSampleData = reinterpret_cast( - m_pavDecodedFrame->extended_data[0]); - } - - // readFrameIndex - // | - // v - // | missingFrameCount |<- decodedFrameRange ->| - - if (readFrameIndex > writableRange.start()) { - // The decoder has skipped some sample data that needs to - // be filled with silence to continue decoding! - const auto missingRange = IndexRange::between(writableRange.start(), readFrameIndex); - // This should only happen at the beginning of a stream - // with a lead-in due to start_time > 0. - VERIFY_OR_DEBUG_ASSERT(intersect(missingRange, getStreamFrameIndexRange(*m_pavStream)).empty()) { - kLogger.warning() - << "Missing sample data within decoded stream" - << intersect(missingRange, getStreamFrameIndexRange(*m_pavStream)); - } - const auto clearRange = intersect(missingRange, writableRange); - if (clearRange.length() > 0) { - const auto clearSampleCount = - frames2samples(clearRange.length()); - if (pOutputSampleBuffer) { - SampleUtil::clear( - pOutputSampleBuffer, - clearSampleCount); - pOutputSampleBuffer += clearSampleCount; - } - writableRange.shrinkFront(clearRange.length()); - } - } - - // Skip all missing and decoded ranges that do not overlap - // with writableRange, i.e. that precede writableRange. - DEBUG_ASSERT(pDecodedSampleData); - const auto preskipMissingFrameCount = - math_min(missingFrameCount, writableRange.start() - readFrameIndex); - missingFrameCount -= preskipMissingFrameCount; - readFrameIndex += preskipMissingFrameCount; - const auto preskipDecodedFrameCount = - math_min(decodedFrameRange.length(), writableRange.start() - readFrameIndex); - pDecodedSampleData += frames2samples(preskipDecodedFrameCount); - decodedFrameRange.shrinkFront(preskipDecodedFrameCount); - readFrameIndex += preskipDecodedFrameCount; - m_curFrameIndex = readFrameIndex; - -#if ENABLE_TRACING - kLogger.trace() - << "Before writing:" - << "m_curFrameIndex" << m_curFrameIndex - << "readFrameIndex" << readFrameIndex - << "decodedFrameRange" << decodedFrameRange - << "writableRange" << writableRange - << "missingFrameCount" << missingFrameCount; -#endif - - // Consume all sample data from missing and decoded ranges - // that overlap with writableRange. - if (readFrameIndex == writableRange.start()) { - const auto writeMissingFrameCount = - math_min(missingFrameCount, writableRange.length()); - if (writeMissingFrameCount > 0) { - const auto clearSampleCount = - frames2samples(writeMissingFrameCount); - if (pOutputSampleBuffer) { - SampleUtil::clear( - pOutputSampleBuffer, - clearSampleCount); - pOutputSampleBuffer += clearSampleCount; - } - missingFrameCount -= writeMissingFrameCount; - writableRange.shrinkFront(writeMissingFrameCount); - readFrameIndex += writeMissingFrameCount; - } - DEBUG_ASSERT((missingFrameCount == 0) || writableRange.empty()); - const auto writeDecodedFrameCount = - math_min(decodedFrameRange.length(), writableRange.length()); - if (writeDecodedFrameCount > 0) { - const auto copySampleCount = - frames2samples(writeDecodedFrameCount); - if (pOutputSampleBuffer) { - SampleUtil::copy( - pOutputSampleBuffer, - pDecodedSampleData, - copySampleCount); - pOutputSampleBuffer += copySampleCount; - } - pDecodedSampleData += copySampleCount; - decodedFrameRange.shrinkFront(writeDecodedFrameCount); - writableRange.shrinkFront(writeDecodedFrameCount); - readFrameIndex += writeDecodedFrameCount; - } - DEBUG_ASSERT(decodedFrameRange.empty() || writableRange.empty()); - DEBUG_ASSERT(readFrameIndex == writableRange.start()); - m_curFrameIndex = readFrameIndex; - } - -#if ENABLE_TRACING - kLogger.trace() - << "Before buffering:" - << "m_curFrameIndex" << m_curFrameIndex - << "readFrameIndex" << readFrameIndex - << "decodedFrameRange" << decodedFrameRange - << "writableRange" << writableRange - << "missingFrameCount" << missingFrameCount; -#endif - - // Buffer remaining unread sample data from - // missing and decoded ranges - const auto sampleBufferWriteLength = - frames2samples(missingFrameCount + decodedFrameRange.length()); - if (m_sampleBuffer.writableLength() < sampleBufferWriteLength) { - const auto sampleBufferCapacity = - m_sampleBuffer.readableLength() + - sampleBufferWriteLength; - kLogger.warning() - << "Adjusting capacity of internal sample buffer by reallocation:" - << m_sampleBuffer.capacity() - << "->" - << sampleBufferCapacity; - m_sampleBuffer.adjustCapacity(sampleBufferCapacity); - } - DEBUG_ASSERT(m_sampleBuffer.writableLength() >= sampleBufferWriteLength); - if (missingFrameCount > 0) { - const auto clearSampleCount = - frames2samples(missingFrameCount); - const SampleBuffer::WritableSlice writableSlice( - m_sampleBuffer.growForWriting(clearSampleCount)); - DEBUG_ASSERT(writableSlice.length() == clearSampleCount); - SampleUtil::clear( - writableSlice.data(), - clearSampleCount); - readFrameIndex += missingFrameCount; - } - if (!decodedFrameRange.empty()) { - const auto copySampleCount = - frames2samples(decodedFrameRange.length()); - const SampleBuffer::WritableSlice writableSlice( - m_sampleBuffer.growForWriting(copySampleCount)); - DEBUG_ASSERT(writableSlice.length() == copySampleCount); - SampleUtil::copy( - writableSlice.data(), - pDecodedSampleData, - copySampleCount); - readFrameIndex += decodedFrameRange.length(); - } - - // Housekeeping before next decoding iteration - av_frame_unref(m_pavDecodedFrame); - av_frame_unref(m_pavResampledFrame); - } while ((avcodec_receive_frame_result == 0) && (m_curFrameIndex != kFrameIndexInvalid)); - } - DEBUG_ASSERT(!pavNextPacket); - - const auto readableRange = - IndexRange::between( - writableSampleFrames.frameIndexRange().start(), - writableRange.start()); - return ReadableSampleFrames( - readableRange, - SampleBuffer::ReadableSlice( - writableSampleFrames.writableData(), - frames2samples(readableRange.length()))); -} - -QString SoundSourceProviderFFmpeg4::getName() const { - return "FFmpeg4"; -} - -SoundSourceProviderPriority SoundSourceProviderFFmpeg4::getPriorityHint( - const QString& /*supportedFileExtension*/) const { - // TODO: Increase priority to HIGHER if FFmpeg should be used as the - // default decoder instead of other SoundSources. Currently it is - // only used as a fallback. - return SoundSourceProviderPriority::LOWER; -} - -} // namespace mixxx diff --git a/src/sources/soundsourceffmpeg4.h b/src/sources/soundsourceffmpeg4.h deleted file mode 100644 index 22eaa52db47..00000000000 --- a/src/sources/soundsourceffmpeg4.h +++ /dev/null @@ -1,194 +0,0 @@ -#pragma once - -extern "C" { - -#include -#include -#include - -} // extern "C" - -#include "sources/soundsourceprovider.h" - -#include "util/readaheadsamplebuffer.h" - -namespace mixxx { - -class SoundSourceFFmpeg4 : public SoundSource { - public: - explicit SoundSourceFFmpeg4(const QUrl& url); - ~SoundSourceFFmpeg4() override; - - void close() override; - - protected: - ReadableSampleFrames readSampleFramesClamped( - WritableSampleFrames sampleFrames) override; - - private: - OpenResult tryOpen( - OpenMode mode, - const OpenParams& params) override; - - // Takes ownership of an input format context and ensures that - // the corresponding AVFormatContext is closed, either explicitly - // or implicitly by the destructor. The wrapper can only be - // moved, copying is disabled. - class InputAVFormatContextPtr final { - public: - explicit InputAVFormatContextPtr(AVFormatContext* pavInputFormatContext = nullptr) - : m_pavInputFormatContext(pavInputFormatContext) { - } - InputAVFormatContextPtr(const InputAVFormatContextPtr&) = delete; - InputAVFormatContextPtr(InputAVFormatContextPtr&& that) - : m_pavInputFormatContext(that.m_pavInputFormatContext) { - that.m_pavInputFormatContext = nullptr; - } - ~InputAVFormatContextPtr() { - close(); - } - - void take(AVFormatContext** ppavInputFormatContext); - - void close(); - - friend void swap(InputAVFormatContextPtr& lhs, InputAVFormatContextPtr& rhs) { - std::swap(lhs.m_pavInputFormatContext, rhs.m_pavInputFormatContext); - } - - InputAVFormatContextPtr& operator=(const InputAVFormatContextPtr&) = delete; - InputAVFormatContextPtr& operator=(InputAVFormatContextPtr&& that) { - swap(*this, that); - return *this; - } - - AVFormatContext* operator->() { - return m_pavInputFormatContext; - } - operator AVFormatContext*() { - return m_pavInputFormatContext; - } - - private: - AVFormatContext* m_pavInputFormatContext; - }; - InputAVFormatContextPtr m_pavInputFormatContext; - - AVStream* m_pavStream; - - // Takes ownership of an opened (audio) codec context and ensures that - // the corresponding AVCodecContext is closed, either explicitly or - // implicitly by the destructor. The wrapper can only be moved, - // copying is disabled. - class AVCodecContextPtr final { - public: - static AVCodecContextPtr alloc(const AVCodec* codec); - - explicit AVCodecContextPtr(AVCodecContext* pavCodecContext = nullptr) - : m_pavCodecContext(pavCodecContext) { - } - AVCodecContextPtr(const AVCodecContextPtr&) = delete; - AVCodecContextPtr(AVCodecContextPtr&& that) - : m_pavCodecContext(that.m_pavCodecContext) { - that.m_pavCodecContext = nullptr; - } - ~AVCodecContextPtr() { - close(); - } - - void take(AVCodecContext** ppavCodecContext); - void close(); - - friend void swap(AVCodecContextPtr& lhs, AVCodecContextPtr& rhs) { - std::swap(lhs.m_pavCodecContext, rhs.m_pavCodecContext); - } - - AVCodecContextPtr& operator=(const AVCodecContextPtr&) = delete; - AVCodecContextPtr& operator=(AVCodecContextPtr&& that) { - swap(*this, that); - return *this; - } - - AVCodecContext* operator->() { - return m_pavCodecContext; - } - operator AVCodecContext*() { - return m_pavCodecContext; - } - - private: - AVCodecContext* m_pavCodecContext; - }; - AVCodecContextPtr m_pavCodecContext; - - // Resampler - class SwrContextPtr final { - public: - explicit SwrContextPtr(SwrContext* m_pSwrContext = nullptr) - : m_pSwrContext(m_pSwrContext) { - } - SwrContextPtr(const SwrContextPtr&) = delete; - SwrContextPtr(SwrContextPtr&& that) - : m_pSwrContext(that.m_pSwrContext) { - that.m_pSwrContext = nullptr; - } - ~SwrContextPtr() { - close(); - } - - void take(SwrContext** ppSwrContext); - - void close(); - - friend void swap(SwrContextPtr& lhs, SwrContextPtr& rhs) { - std::swap(lhs.m_pSwrContext, rhs.m_pSwrContext); - } - - SwrContextPtr& operator=(const SwrContextPtr&) = delete; - SwrContextPtr& operator=(SwrContextPtr&& that) { - swap(*this, that); - return *this; - } - - SwrContext* operator->() { - return m_pSwrContext; - } - operator SwrContext*() { - return m_pSwrContext; - } - - private: - SwrContext* m_pSwrContext; - }; - SwrContextPtr m_pSwrContext; - - uint64_t m_avStreamChannelLayout; - uint64_t m_avResampledChannelLayout; - - AVFrame* m_pavDecodedFrame; - AVFrame* m_pavResampledFrame; - - ReadAheadSampleBuffer m_sampleBuffer; - - SINT m_seekPrerollFrameCount; - - SINT m_curFrameIndex; -}; - -class SoundSourceProviderFFmpeg4 : public SoundSourceProvider { - public: - SoundSourceProviderFFmpeg4(); - - QString getName() const override; - - SoundSourceProviderPriority getPriorityHint( - const QString& supportedFileExtension) const override; - - QStringList getSupportedFileExtensions() const override; - - SoundSourcePointer newSoundSource(const QUrl& url) override { - return newSoundSourceFromUrl(url); - } -}; - -} // namespace mixxx diff --git a/src/sources/soundsourceproxy.cpp b/src/sources/soundsourceproxy.cpp index 2d728981211..d9cf9aa70cf 100644 --- a/src/sources/soundsourceproxy.cpp +++ b/src/sources/soundsourceproxy.cpp @@ -18,12 +18,9 @@ #ifdef __SNDFILE__ #include "sources/soundsourcesndfile.h" #endif -#ifdef __FFMPEGFILE__ +#ifdef __FFMPEG__ #include "sources/soundsourceffmpeg.h" #endif -#ifdef __FFMPEG4__ -#include "sources/soundsourceffmpeg4.h" -#endif #ifdef __MODPLUG__ #include "sources/soundsourcemodplug.h" #endif @@ -63,15 +60,10 @@ void SoundSourceProxy::registerSoundSourceProviders() { // providers to ensure that they are only after the specialized // provider failed to open a file. But the order of registration // only matters among providers with equal priority. -#ifdef __FFMPEGFILE__ - // Use FFmpeg as the last resort. +#ifdef __FFMPEG__ s_soundSourceProviders.registerProvider( std::make_shared()); #endif -#ifdef __FFMPEG4__ - s_soundSourceProviders.registerProvider( - std::make_shared()); -#endif #ifdef __SNDFILE__ // libsndfile is another fallback s_soundSourceProviders.registerProvider( diff --git a/src/test/soundproxy_test.cpp b/src/test/soundproxy_test.cpp index 316eedf12c1..f663472f15b 100644 --- a/src/test/soundproxy_test.cpp +++ b/src/test/soundproxy_test.cpp @@ -48,7 +48,7 @@ class SoundSourceProxyTest: public MixxxTest { // that fixed this bug is unknown. << "-itunes-12.3.0-aac.m4a" << "-itunes-12.7.0-aac.m4a" -#if defined(__FFMPEG4__) || defined(__COREAUDIO__) +#if defined(__FFMPEG__) || defined(__COREAUDIO__) << "-itunes-12.7.0-alac.m4a" #endif << "-png.mp3" @@ -81,25 +81,10 @@ class SoundSourceProxyTest: public MixxxTest { return filePaths; } - enum class OpenAudioSourceMode { - Default, - DisableFFmpeg, - }; - - static mixxx::AudioSourcePointer openAudioSource(const QString& filePath, OpenAudioSourceMode mode = OpenAudioSourceMode::Default) { + static mixxx::AudioSourcePointer openAudioSource(const QString& filePath) { auto pTrack = Track::newTemporary(filePath); SoundSourceProxy proxy(pTrack); - // TODO(XXX): Fix SoundSourceFFmpeg to avoid this special case handling - if ((mode == OpenAudioSourceMode::DisableFFmpeg) && - proxy.getSoundSourceProvider() && - (proxy.getSoundSourceProvider()->getName() == "FFmpeg")) { - qWarning() - << "Disabling test for FFmpeg:" - << filePath; - return mixxx::AudioSourcePointer(); - } - // All test files are mono, but we are requesting a stereo signal // to test the upscaling of channels mixxx::AudioSource::OpenParams openParams; @@ -416,7 +401,7 @@ TEST_F(SoundSourceProxyTest, seekBoundaries) { qDebug() << "Seek boundaries test:" << filePath; // TODO(XXX): Fix SoundSourceFFmpeg and re-enable testing - mixxx::AudioSourcePointer pSeekReadSource(openAudioSource(filePath, OpenAudioSourceMode::DisableFFmpeg)); + mixxx::AudioSourcePointer pSeekReadSource(openAudioSource(filePath)); // Obtaining an AudioSource may fail for unsupported file formats, // even if the corresponding file extension is supported, e.g. // AAC vs. ALAC in .m4a files From 3e9c6145df9ada485170a11ccd4ac6f3d0e06338 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Mon, 8 Jul 2019 23:13:21 +0200 Subject: [PATCH 30/43] Rename SoundSource provider --- src/sources/soundsourceffmpeg.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sources/soundsourceffmpeg.cpp b/src/sources/soundsourceffmpeg.cpp index 0878e96c591..60933907767 100644 --- a/src/sources/soundsourceffmpeg.cpp +++ b/src/sources/soundsourceffmpeg.cpp @@ -1243,7 +1243,7 @@ ReadableSampleFrames SoundSourceFFmpeg::readSampleFramesClamped( } QString SoundSourceProviderFFmpeg::getName() const { - return "FFmpeg4"; + return "FFmpeg"; } SoundSourceProviderPriority SoundSourceProviderFFmpeg::getPriorityHint( From 6a96f4a3303c156913564c97842b34bb1b84700b Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Sun, 1 Sep 2019 17:38:16 +0200 Subject: [PATCH 31/43] Change priority from LOWER to LOWEST --- src/sources/soundsourceffmpeg.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/sources/soundsourceffmpeg.cpp b/src/sources/soundsourceffmpeg.cpp index 60933907767..57a89658c98 100644 --- a/src/sources/soundsourceffmpeg.cpp +++ b/src/sources/soundsourceffmpeg.cpp @@ -1249,9 +1249,10 @@ QString SoundSourceProviderFFmpeg::getName() const { SoundSourceProviderPriority SoundSourceProviderFFmpeg::getPriorityHint( const QString& /*supportedFileExtension*/) const { // TODO: Increase priority to HIGHER if FFmpeg should be used as the - // default decoder instead of other SoundSources. Currently it is - // only used as a fallback. - return SoundSourceProviderPriority::LOWER; + // default decoder instead of other SoundSources? + // Currently it is only used as a fallback after all other SoundSources + // failed to open a file or are otherwise unavailable. + return SoundSourceProviderPriority::LOWEST; } } // namespace mixxx From fa863d75ef8f1827252fe2999da3bd18798a42f8 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Sun, 8 Sep 2019 11:36:45 +0200 Subject: [PATCH 32/43] Extract buffering/seeking functions to improve readability --- src/sources/soundsourceffmpeg.cpp | 236 +++++++++++++++++++----------- src/sources/soundsourceffmpeg.h | 10 ++ 2 files changed, 159 insertions(+), 87 deletions(-) diff --git a/src/sources/soundsourceffmpeg.cpp b/src/sources/soundsourceffmpeg.cpp index 57a89658c98..61fff01fadd 100644 --- a/src/sources/soundsourceffmpeg.cpp +++ b/src/sources/soundsourceffmpeg.cpp @@ -727,99 +727,161 @@ SINT readNextPacket( } } // namespace -ReadableSampleFrames SoundSourceFFmpeg::readSampleFramesClamped( +WritableSampleFrames SoundSourceFFmpeg::consumeSampleBuffer( WritableSampleFrames writableSampleFrames) { - CSAMPLE* pOutputSampleBuffer = writableSampleFrames.writableData(); - auto writableRange = - writableSampleFrames.frameIndexRange(); + if (m_sampleBuffer.empty(), writableSampleFrames.writableSlice().empty()) { + return writableSampleFrames; + } + DEBUG_ASSERT(m_curFrameIndex != kFrameIndexInvalid); + DEBUG_ASSERT(m_curFrameIndex != kFrameIndexUnknown); - // Consume all buffered sample data before decoding any new data - if (!m_sampleBuffer.empty()) { - DEBUG_ASSERT(m_curFrameIndex != kFrameIndexInvalid); - DEBUG_ASSERT(frameIndexRange().containsIndex(m_curFrameIndex)); - const auto bufferedRange = - IndexRange::forward( - m_curFrameIndex, - samples2frames(m_sampleBuffer.readableLength())); - const auto consumableRange = - intersect(bufferedRange, writableRange); - DEBUG_ASSERT(consumableRange.length() <= writableRange.length()); - if (!consumableRange.empty() && - (consumableRange.start() == writableRange.start())) { - // Drop and skip preceding buffered samples - DEBUG_ASSERT(m_curFrameIndex <= writableRange.start()); - const auto skippableRange = - IndexRange::between( - m_curFrameIndex, - writableRange.start()); - m_sampleBuffer.shrinkForReading( - frames2samples(skippableRange.length())); - m_curFrameIndex += skippableRange.length(); - // Consume buffered samples - DEBUG_ASSERT(m_curFrameIndex == writableRange.start()); - const SampleBuffer::ReadableSlice consumableSlice = - m_sampleBuffer.shrinkForReading( - frames2samples(consumableRange.length())); - DEBUG_ASSERT(consumableSlice.length() == frames2samples(consumableRange.length())); + const auto bufferedRange = + IndexRange::forward( + m_curFrameIndex, + samples2frames(m_sampleBuffer.readableLength())); + VERIFY_OR_DEBUG_ASSERT(bufferedRange <= frameIndexRange()) { + kLogger.warning() + << "Sample buffer contains more data than expected:" + << "total range" << frameIndexRange() + << "buffered range" << bufferedRange; + } + auto writableRange = writableSampleFrames.frameIndexRange(); + const auto consumableRange = intersect(bufferedRange, writableRange); + DEBUG_ASSERT(consumableRange <= writableRange); + if (consumableRange.empty() || + (consumableRange.start() != writableRange.start())) { + // Discard (= skip) all buffered sample data + m_curFrameIndex += bufferedRange.length(); + m_sampleBuffer.clear(); + return writableSampleFrames; + } + + // Drop and skip preceding buffered samples + DEBUG_ASSERT(m_curFrameIndex <= consumableRange.start()); + const auto skippableRange = + IndexRange::between( + m_curFrameIndex, + consumableRange.start()); + m_sampleBuffer.shrinkForReading( + frames2samples(skippableRange.length())); + m_curFrameIndex += skippableRange.length(); + + // Consume buffered samples #if ENABLE_TRACING - kLogger.trace() << "Consuming buffered samples" << consumableRange; + kLogger.trace() << "Consuming buffered samples" << consumableRange; #endif - if (pOutputSampleBuffer) { - SampleUtil::copy( - pOutputSampleBuffer, - consumableSlice.data(), - consumableSlice.length()); - pOutputSampleBuffer += consumableSlice.length(); - } - writableRange.shrinkFront(consumableRange.length()); - m_curFrameIndex += consumableRange.length(); - // Keep remaining buffered samples - DEBUG_ASSERT(writableRange.empty() || m_sampleBuffer.empty()); - } else { - // Discard all buffered sample data - m_sampleBuffer.clear(); - m_curFrameIndex += bufferedRange.length(); - } + DEBUG_ASSERT(m_curFrameIndex == consumableRange.start()); + const SampleBuffer::ReadableSlice consumableSlice = + m_sampleBuffer.shrinkForReading( + frames2samples(consumableRange.length())); + DEBUG_ASSERT(consumableSlice.length() == frames2samples(consumableRange.length())); + CSAMPLE* pOutputSampleBuffer = writableSampleFrames.writableData(); + if (pOutputSampleBuffer) { + SampleUtil::copy( + pOutputSampleBuffer, + consumableSlice.data(), + consumableSlice.length()); + pOutputSampleBuffer += consumableSlice.length(); } + writableRange.shrinkFront(consumableRange.length()); + m_curFrameIndex += consumableRange.length(); + // Either the resulting output buffer or the sample buffer is + // empty after returning from this function! Remaining data in + // the sample buffer is kept until the next read operation. + DEBUG_ASSERT(writableRange.empty() || m_sampleBuffer.empty()); + + // Return the remaining output buffer for decoding + return WritableSampleFrames( + writableRange, + SampleBuffer::WritableSlice( + pOutputSampleBuffer, + writableRange.length())); +} - if (m_curFrameIndex != writableRange.start()) { - // Need to seek before reading - DEBUG_ASSERT(m_sampleBuffer.empty()); - auto seekFrameIndex = - math_max(kMinFrameIndex, writableRange.start() - m_seekPrerollFrameCount); - // Seek to codec frame boundaries if the frame size is fixed and known - if (m_pavStream->codecpar->frame_size > 0) { - seekFrameIndex -= (seekFrameIndex - kMinFrameIndex) % m_pavCodecContext->frame_size; - } - DEBUG_ASSERT(seekFrameIndex >= kMinFrameIndex); - DEBUG_ASSERT(seekFrameIndex <= writableRange.start()); - if ((m_curFrameIndex == kFrameIndexInvalid) || - (m_curFrameIndex > writableRange.start()) || - (m_curFrameIndex < seekFrameIndex)) { - // Flush internal decoder state - avcodec_flush_buffers(m_pavCodecContext); - // Invalidate current position +bool SoundSourceFFmpeg::adjustCurrentPosition( + SINT startIndex) { + if (m_curFrameIndex == startIndex) { + // Nothing to do + return true; + } + + // Need to seek to a valid start position before reading + DEBUG_ASSERT(frameIndexRange().containsIndex(startIndex)); + VERIFY_OR_DEBUG_ASSERT(m_sampleBuffer.empty()) { + // Should have been done while consuming the sample buffer + m_sampleBuffer.clear(); + } + + auto seekFrameIndex = + math_max(kMinFrameIndex, startIndex - m_seekPrerollFrameCount); + // Seek to codec frame boundaries if the frame size is fixed and known + if (m_pavStream->codecpar->frame_size > 0) { + seekFrameIndex -= (seekFrameIndex - kMinFrameIndex) % m_pavCodecContext->frame_size; + } + DEBUG_ASSERT(seekFrameIndex >= kMinFrameIndex); + DEBUG_ASSERT(seekFrameIndex <= startIndex); + + if ((m_curFrameIndex == kFrameIndexInvalid) || + (m_curFrameIndex > startIndex) || + (m_curFrameIndex < seekFrameIndex)) { + // Flush internal decoder state + avcodec_flush_buffers(m_pavCodecContext); + // Invalidate current position + m_curFrameIndex = kFrameIndexInvalid; + // Seek to new position + const int64_t seekTimestamp = + convertFrameIndexToStreamTime(*m_pavStream, seekFrameIndex); + int av_seek_frame_result = av_seek_frame( + m_pavInputFormatContext, + m_pavStream->index, + seekTimestamp, + AVSEEK_FLAG_BACKWARD); + if (av_seek_frame_result < 0) { + kLogger.warning() + << "av_seek_frame() failed:" + << formatErrorMessage(av_seek_frame_result).toLocal8Bit().constData(); m_curFrameIndex = kFrameIndexInvalid; - // Seek to new position - const int64_t seekTimestamp = - convertFrameIndexToStreamTime(*m_pavStream, seekFrameIndex); - int av_seek_frame_result = av_seek_frame( - m_pavInputFormatContext, - m_pavStream->index, - seekTimestamp, - AVSEEK_FLAG_BACKWARD); - if (av_seek_frame_result < 0) { - kLogger.warning() - << "av_seek_frame() failed:" - << formatErrorMessage(av_seek_frame_result).toLocal8Bit().constData(); - m_curFrameIndex = kFrameIndexInvalid; - return ReadableSampleFrames(); - } - // Current position is unknown until reading from the stream - m_curFrameIndex = kFrameIndexUnknown; + return false; } } - DEBUG_ASSERT(m_curFrameIndex != kFrameIndexInvalid); + + // The current position remains unknown until actually reading data + // from the stream + m_curFrameIndex = kFrameIndexUnknown; + return true; +} + +ReadableSampleFrames SoundSourceFFmpeg::readSampleFramesClamped( + WritableSampleFrames writableSampleFrames) { + const SINT readableStartIndex = writableSampleFrames.frameIndexRange().start(); + const CSAMPLE* readableData = writableSampleFrames.writableData(); + + // Consume all buffered sample data before decoding any new data + writableSampleFrames = consumeSampleBuffer(writableSampleFrames); + + // Skip decoding if all data has been read + auto writableRange = writableSampleFrames.frameIndexRange(); + DEBUG_ASSERT(writableRange <= frameIndexRange()); + if (writableRange.empty()) { + auto readableRange = + IndexRange::between( + readableStartIndex, + writableRange.start()); + return ReadableSampleFrames( + readableRange, + SampleBuffer::ReadableSlice( + readableData, + frames2samples(readableRange.length()))); + } + + // Adjust the current position + if (!adjustCurrentPosition(writableRange.start())) { + // Abort reading on seek errors + return ReadableSampleFrames(); + } + + // Start decoding into the output buffer from the current positon + CSAMPLE* pOutputSampleBuffer = writableSampleFrames.writableData(); AVPacket avPacket; av_init_packet(&avPacket); @@ -1231,14 +1293,14 @@ ReadableSampleFrames SoundSourceFFmpeg::readSampleFramesClamped( } DEBUG_ASSERT(!pavNextPacket); - const auto readableRange = + auto readableRange = IndexRange::between( - writableSampleFrames.frameIndexRange().start(), + readableStartIndex, writableRange.start()); return ReadableSampleFrames( readableRange, SampleBuffer::ReadableSlice( - writableSampleFrames.writableData(), + readableData, frames2samples(readableRange.length()))); } diff --git a/src/sources/soundsourceffmpeg.h b/src/sources/soundsourceffmpeg.h index ed9416f60f0..3b09f5d7fa2 100644 --- a/src/sources/soundsourceffmpeg.h +++ b/src/sources/soundsourceffmpeg.h @@ -30,6 +30,16 @@ class SoundSourceFFmpeg : public SoundSource { OpenMode mode, const OpenParams& params) override; + // Consume as many buffered sample frames as possible and return + // the remaining range that could not be filled from the buffer. + WritableSampleFrames consumeSampleBuffer( + WritableSampleFrames writableSampleFrames); + + // Seek to the requested start index (if needed) or return false + // upon seek errors. + bool adjustCurrentPosition( + SINT startIndex); + // Takes ownership of an input format context and ensures that // the corresponding AVFormatContext is closed, either explicitly // or implicitly by the destructor. The wrapper can only be From 52bd35a88cbcd55bf147bec88445300580a4c56e Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Sun, 8 Sep 2019 12:54:30 +0200 Subject: [PATCH 33/43] Fix debug assertion for some MP3 VBR files --- src/sources/soundsourceffmpeg.cpp | 34 +++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/src/sources/soundsourceffmpeg.cpp b/src/sources/soundsourceffmpeg.cpp index 61fff01fadd..001b86d74e3 100644 --- a/src/sources/soundsourceffmpeg.cpp +++ b/src/sources/soundsourceffmpeg.cpp @@ -729,22 +729,19 @@ SINT readNextPacket( WritableSampleFrames SoundSourceFFmpeg::consumeSampleBuffer( WritableSampleFrames writableSampleFrames) { - if (m_sampleBuffer.empty(), writableSampleFrames.writableSlice().empty()) { + if (m_sampleBuffer.empty() || + writableSampleFrames.writableSlice().empty()) { return writableSampleFrames; } - DEBUG_ASSERT(m_curFrameIndex != kFrameIndexInvalid); - DEBUG_ASSERT(m_curFrameIndex != kFrameIndexUnknown); + // The current position must be valid + DEBUG_ASSERT(frameIndexRange().containsIndex(m_curFrameIndex)); const auto bufferedRange = IndexRange::forward( m_curFrameIndex, samples2frames(m_sampleBuffer.readableLength())); - VERIFY_OR_DEBUG_ASSERT(bufferedRange <= frameIndexRange()) { - kLogger.warning() - << "Sample buffer contains more data than expected:" - << "total range" << frameIndexRange() - << "buffered range" << bufferedRange; - } + DEBUG_ASSERT(m_curFrameIndex == bufferedRange.clampIndex(m_curFrameIndex)); + DEBUG_ASSERT(bufferedRange <= frameIndexRange()); auto writableRange = writableSampleFrames.frameIndexRange(); const auto consumableRange = intersect(bufferedRange, writableRange); DEBUG_ASSERT(consumableRange <= writableRange); @@ -1285,6 +1282,25 @@ ReadableSampleFrames SoundSourceFFmpeg::readSampleFramesClamped( copySampleCount); readFrameIndex += decodedFrameRange.length(); } + DEBUG_ASSERT(m_curFrameIndex == + frameIndexRange().clampIndex(m_curFrameIndex)); + const auto bufferedRange = + IndexRange::forward( + m_curFrameIndex, + samples2frames(m_sampleBuffer.readableLength())); + if (frameIndexRange().end() < bufferedRange.end()) { + // NOTE(2019-09-08, uklotzde): For some files (MP3 VBR) FFmpeg may + // decode a few more samples than expected! Simply discard those + // trailing samples. + const auto overflowFrameCount = + bufferedRange.end() - frameIndexRange().end(); + kLogger.info() + << "Discarding" + << overflowFrameCount + << "sample frames at the end of the audio stream"; + m_sampleBuffer.shrinkAfterWriting( + frames2samples(overflowFrameCount)); + } // Housekeeping before next decoding iteration av_frame_unref(m_pavDecodedFrame); From da6ba4f819cb1dfe2531bdbb80848bad45051cc8 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Sun, 8 Sep 2019 13:22:32 +0200 Subject: [PATCH 34/43] Fix formatting of comments --- src/sources/soundsourceffmpeg.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/sources/soundsourceffmpeg.cpp b/src/sources/soundsourceffmpeg.cpp index 001b86d74e3..734bb0a97f0 100644 --- a/src/sources/soundsourceffmpeg.cpp +++ b/src/sources/soundsourceffmpeg.cpp @@ -549,14 +549,14 @@ SoundSource::OpenResult SoundSourceFFmpeg::tryOpen( m_pavDecodedFrame = av_frame_alloc(); // Init resampling + // NOTE(uklotzde, 2017-09-26): Resampling to a different number of + // channels like upsampling a mono to stereo signal breaks various + // tests in the EngineBufferE2ETest suite!! SoundSource decoding tests + // are unaffected, because there we always compare two signals produced + // by the same decoder instead of a decoded with a reference signal. As + // a workaround we decode the stream's channels as is and let Mixxx decide + // how to handle this later. const auto resampledChannelCount = - // NOTE(uklotzde, 2017-09-26): Resampling to a different number of - // channels like upsampling a mono to stereo signal breaks various - // tests in the EngineBufferE2ETest suite!! SoundSource decoding tests - // are unaffected, because there we always compare two signals produced - // by the same decoder instead of a decoded with a reference signal. As - // a workaround we decode the stream's channels as is and let Mixxx decide - // how to handle this later. /*config.channelCount().valid() ? config.channelCount() :*/ streamChannelCount; m_avResampledChannelLayout = av_get_default_channel_layout(resampledChannelCount); From 7bd641efae01239c0b6b7f4712d8fb270b6ec730 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Sun, 8 Sep 2019 13:28:36 +0200 Subject: [PATCH 35/43] Add note about MP3 preroll frames on seeking --- src/sources/soundsourceffmpeg.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/sources/soundsourceffmpeg.cpp b/src/sources/soundsourceffmpeg.cpp index 734bb0a97f0..967d77e004a 100644 --- a/src/sources/soundsourceffmpeg.cpp +++ b/src/sources/soundsourceffmpeg.cpp @@ -134,6 +134,13 @@ SINT getStreamSeekPrerollFrameCount(const AVStream& avStream) { // operation, which increases the chance that dropouts may occur. // As a compromise we will preroll only 9 instead of 29 frames. // Those 9 frames should at least drain the bit reservoir. + // + // NOTE(2019-09-08): Executing the decoding test with various VBR/CBR + // MP3 files always produced exact results with only 9 preroll frames. + // Thus increasing this number is not required and would increase + // the risk for drop outs when jumping to a new position within + // the file. Audible drop outs are considered more harmful than + // slight deviations from the exact signal! DEBUG_ASSERT(avStream.codecpar->channels <= 2); const SINT mp3SeekPrerollFrameCount = 9 * (kSamplesPerMP3Frame / avStream.codecpar->channels); From 33a3aafd03e23a00f3373917e77597d6e098e4b5 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Sun, 8 Sep 2019 13:52:19 +0200 Subject: [PATCH 36/43] Extract code for consuming the next packet into function --- src/sources/soundsourceffmpeg.cpp | 114 ++++++++++++++++-------------- src/sources/soundsourceffmpeg.h | 4 ++ 2 files changed, 65 insertions(+), 53 deletions(-) diff --git a/src/sources/soundsourceffmpeg.cpp b/src/sources/soundsourceffmpeg.cpp index 967d77e004a..b471dbbbea6 100644 --- a/src/sources/soundsourceffmpeg.cpp +++ b/src/sources/soundsourceffmpeg.cpp @@ -855,6 +855,64 @@ bool SoundSourceFFmpeg::adjustCurrentPosition( return true; } +bool SoundSourceFFmpeg::consumeNextPacket( + AVPacket* pavPacket, + AVPacket** ppavNextPacket) { + DEBUG_ASSERT(pavPacket); + DEBUG_ASSERT(ppavNextPacket); + if (!*ppavNextPacket) { + // Read next packet from stream + const SINT packetFrameIndex = + readNextPacket( + m_pavInputFormatContext, + m_pavStream, + pavPacket, + m_curFrameIndex); + if (packetFrameIndex == kFrameIndexInvalid) { + // Invalidate current position and abort reading + m_curFrameIndex = kFrameIndexInvalid; + return false; + } + *ppavNextPacket = pavPacket; + } + auto pavNextPacket = *ppavNextPacket; + + // Consume raw packet data +#if ENABLE_TRACING + avTrace("Sending packet to decoder", *pavNextPacket); +#endif + const auto avcodec_send_packet_result = + avcodec_send_packet(m_pavCodecContext, pavNextPacket); + if (avcodec_send_packet_result == 0) { + // Packet has been consumed completely +#if ENABLE_TRACING + kLogger.trace() << "Packet has been consumed by decoder"; +#endif + // Release ownership on packet + av_packet_unref(pavNextPacket); + *ppavNextPacket = nullptr; + } else { + // Packet has not been consumed or only partially + if (avcodec_send_packet_result == AVERROR(EAGAIN)) { + // Keep and resend this packet to the decoder during the next round +#if ENABLE_TRACING + kLogger.trace() << "Packet needs to be sent again to decoder"; +#endif + } else { + kLogger.warning() + << "avcodec_send_packet() failed:" + << formatErrorMessage(avcodec_send_packet_result).toLocal8Bit().constData(); + // Release ownership on packet + av_packet_unref(pavNextPacket); + *ppavNextPacket = nullptr; + // Invalidate current position and abort reading + m_curFrameIndex = kFrameIndexInvalid; + return false; + } + } + return true; +} + ReadableSampleFrames SoundSourceFFmpeg::readSampleFramesClamped( WritableSampleFrames writableSampleFrames) { const SINT readableStartIndex = writableSampleFrames.frameIndexRange().start(); @@ -893,59 +951,9 @@ ReadableSampleFrames SoundSourceFFmpeg::readSampleFramesClamped( avPacket.size = 0; AVPacket* pavNextPacket = nullptr; auto readFrameIndex = m_curFrameIndex; - while ((pavNextPacket || !writableRange.empty()) && - (m_curFrameIndex != kFrameIndexInvalid)) { - // Read next packet from stream - if (!pavNextPacket) { - const SINT packetFrameIndex = - readNextPacket( - m_pavInputFormatContext, - m_pavStream, - &avPacket, - m_curFrameIndex); - if (packetFrameIndex == kFrameIndexInvalid) { - // Invalidate current position and abort reading - m_curFrameIndex = kFrameIndexInvalid; - break; - } - pavNextPacket = &avPacket; - } - DEBUG_ASSERT(pavNextPacket); - - // Consume raw packet data -#if ENABLE_TRACING - avTrace("Sending packet to decoder", *pavNextPacket); -#endif - const auto avcodec_send_packet_result = - avcodec_send_packet(m_pavCodecContext, pavNextPacket); - if (avcodec_send_packet_result == 0) { - // Packet has been consumed completely -#if ENABLE_TRACING - kLogger.trace() << "Packet has been consumed by decoder"; -#endif - // Release ownership on packet - av_packet_unref(pavNextPacket); - pavNextPacket = nullptr; - } else { - // Packet has not been consumed or only partially - if (avcodec_send_packet_result == AVERROR(EAGAIN)) { - // Keep and resend this packet to the decoder during the next round -#if ENABLE_TRACING - kLogger.trace() << "Packet needs to be sent again to decoder"; -#endif - } else { - kLogger.warning() - << "avcodec_send_packet() failed:" - << formatErrorMessage(avcodec_send_packet_result).toLocal8Bit().constData(); - // Release ownership on packet - av_packet_unref(pavNextPacket); - pavNextPacket = nullptr; - // Invalidate current position and abort reading - m_curFrameIndex = kFrameIndexInvalid; - break; - } - } - + while ((m_curFrameIndex != kFrameIndexInvalid) && + (pavNextPacket || !writableRange.empty()) && + consumeNextPacket(&avPacket, &pavNextPacket)) { int avcodec_receive_frame_result; do { #if ENABLE_TRACING diff --git a/src/sources/soundsourceffmpeg.h b/src/sources/soundsourceffmpeg.h index 3b09f5d7fa2..51acb58c237 100644 --- a/src/sources/soundsourceffmpeg.h +++ b/src/sources/soundsourceffmpeg.h @@ -40,6 +40,10 @@ class SoundSourceFFmpeg : public SoundSource { bool adjustCurrentPosition( SINT startIndex); + bool consumeNextPacket( + AVPacket* pavPacket, + AVPacket** ppavNextPacket); + // Takes ownership of an input format context and ensures that // the corresponding AVFormatContext is closed, either explicitly // or implicitly by the destructor. The wrapper can only be From 3981c1c99b42af4494f9477c4209e263cfe3e7a6 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Sun, 8 Sep 2019 15:02:19 +0200 Subject: [PATCH 37/43] Extract code for initializing resampling into function --- src/sources/soundsourceffmpeg.cpp | 160 ++++++++++++++++-------------- src/sources/soundsourceffmpeg.h | 4 + 2 files changed, 92 insertions(+), 72 deletions(-) diff --git a/src/sources/soundsourceffmpeg.cpp b/src/sources/soundsourceffmpeg.cpp index b471dbbbea6..2186f35bd2a 100644 --- a/src/sources/soundsourceffmpeg.cpp +++ b/src/sources/soundsourceffmpeg.cpp @@ -50,7 +50,7 @@ void initFFmpegLib() { #endif } -inline uint64_t getStreamChannelLayout(const AVStream& avStream) { +inline int64_t getStreamChannelLayout(const AVStream& avStream) { auto channel_layout = avStream.codecpar->channel_layout; if (channel_layout == kavChannelLayoutUndefined) { // Workaround: FFmpeg sometimes fails to determine the channel @@ -543,84 +543,20 @@ SoundSource::OpenResult SoundSourceFFmpeg::tryOpen( << '}'; } - const auto streamChannelCount = - ChannelCount(m_pavStream->codecpar->channels); - m_avStreamChannelLayout = - getStreamChannelLayout(*m_pavStream); - const auto avStreamSampleFormat = - m_pavCodecContext->sample_fmt; - const auto sampleRate = - SampleRate(m_pavStream->codecpar->sample_rate); - - DEBUG_ASSERT(!m_pavDecodedFrame); - m_pavDecodedFrame = av_frame_alloc(); - - // Init resampling - // NOTE(uklotzde, 2017-09-26): Resampling to a different number of - // channels like upsampling a mono to stereo signal breaks various - // tests in the EngineBufferE2ETest suite!! SoundSource decoding tests - // are unaffected, because there we always compare two signals produced - // by the same decoder instead of a decoded with a reference signal. As - // a workaround we decode the stream's channels as is and let Mixxx decide - // how to handle this later. - const auto resampledChannelCount = - /*config.channelCount().valid() ? config.channelCount() :*/ streamChannelCount; - m_avResampledChannelLayout = - av_get_default_channel_layout(resampledChannelCount); - const auto avResampledSampleFormat = - kavSampleFormat; - // NOTE(uklotzde): We prefer not to change adjust sample rate here, because - // all the frame calculations while decoding use the frame information - // from the underlying stream! We only need resampling for up-/downsampling - // the channels and to transform the decoded audio data into the sample - // format that is used by Mixxx. - if ((resampledChannelCount != streamChannelCount) || - (m_avResampledChannelLayout != m_avStreamChannelLayout) || - (avResampledSampleFormat != avStreamSampleFormat)) { -#if ENABLE_TRACING - kLogger.trace() - << "Decoded stream needs to be resampled" - << ": channel count =" << resampledChannelCount - << "| channel layout =" << m_avResampledChannelLayout - << "| sample format =" << av_get_sample_fmt_name(avResampledSampleFormat); -#endif - m_pSwrContext = SwrContextPtr(swr_alloc_set_opts( - nullptr, - m_avResampledChannelLayout, - avResampledSampleFormat, - sampleRate, - m_avStreamChannelLayout, - avStreamSampleFormat, - sampleRate, - 0, - nullptr)); - if (!m_pSwrContext) { - kLogger.warning() - << "Failed to allocate resampling context"; - return OpenResult::Failed; - } - const auto swr_init_result = - swr_init(m_pSwrContext); - if (swr_init_result < 0) { - kLogger.warning() - << "swr_init() failed:" - << formatErrorMessage(swr_init_result).toLocal8Bit().constData(); - return OpenResult::Failed; - } - DEBUG_ASSERT(!m_pavResampledFrame); - m_pavResampledFrame = av_frame_alloc(); + ChannelCount channelCount; + SampleRate sampleRate; + if (!initResampling(&channelCount, &sampleRate)) { + return OpenResult::Failed; } - - if (!setChannelCount(resampledChannelCount)) { + if (!setChannelCount(channelCount)) { kLogger.warning() << "Failed to initialize number of channels" - << resampledChannelCount; + << channelCount; return OpenResult::Aborted; } - if (!setSampleRate(sampleRate)) { kLogger.warning() - << "Failed to initialize sampling rate" + << "Failed to initialize sample rate" << sampleRate; return OpenResult::Aborted; } @@ -661,6 +597,9 @@ SoundSource::OpenResult SoundSourceFFmpeg::tryOpen( return OpenResult::Failed; } + DEBUG_ASSERT(!m_pavDecodedFrame); + m_pavDecodedFrame = av_frame_alloc(); + // A stream packet may produce multiple stream frames when decoded. Buffering // more than a few codec frames with samples in advance should be unlikely. const SINT codecSampleBufferCapacity = 4 * m_pavStream->codecpar->frame_size; @@ -678,6 +617,83 @@ SoundSource::OpenResult SoundSourceFFmpeg::tryOpen( return OpenResult::Succeeded; } +bool SoundSourceFFmpeg::initResampling( + ChannelCount* pResampledChannelCount, + SampleRate* pResampledSampleRate) { + const auto avStreamChannelLayout = + getStreamChannelLayout(*m_pavStream); + const auto streamChannelCount = + ChannelCount(m_pavStream->codecpar->channels); + // NOTE(uklotzde, 2017-09-26): Resampling to a different number of + // channels like upsampling a mono to stereo signal breaks various + // tests in the EngineBufferE2ETest suite!! SoundSource decoding tests + // are unaffected, because there we always compare two signals produced + // by the same decoder instead of a decoded with a reference signal. As + // a workaround we decode the stream's channels as is and let Mixxx decide + // how to handle this later. + const auto resampledChannelCount = + /*config.channelCount().valid() ? config.channelCount() :*/ streamChannelCount; + const auto avResampledChannelLayout = + av_get_default_channel_layout(resampledChannelCount); + const auto avStreamSampleFormat = + m_pavCodecContext->sample_fmt; + const auto avResampledSampleFormat = + kavSampleFormat; + // NOTE(uklotzde): We prefer not to change adjust sample rate here, because + // all the frame calculations while decoding use the frame information + // from the underlying stream! We only need resampling for up-/downsampling + // the channels and to transform the decoded audio data into the sample + // format that is used by Mixxx. + const auto streamSampleRate = + SampleRate(m_pavStream->codecpar->sample_rate); + const auto resampledSampleRate = streamSampleRate; + if ((resampledChannelCount != streamChannelCount) || + (avResampledChannelLayout != avStreamChannelLayout) || + (avResampledSampleFormat != avStreamSampleFormat)) { +#if ENABLE_TRACING + kLogger.trace() + << "Decoded stream needs to be resampled" + << ": channel count =" << resampledChannelCount + << "| channel layout =" << avResampledChannelLayout + << "| sample format =" << av_get_sample_fmt_name(avResampledSampleFormat); +#endif + m_pSwrContext = SwrContextPtr(swr_alloc_set_opts( + nullptr, + avResampledChannelLayout, + avResampledSampleFormat, + resampledSampleRate, + avStreamChannelLayout, + avStreamSampleFormat, + streamSampleRate, + 0, + nullptr)); + if (!m_pSwrContext) { + kLogger.warning() + << "Failed to allocate resampling context"; + return false; + } + const auto swr_init_result = + swr_init(m_pSwrContext); + if (swr_init_result < 0) { + kLogger.warning() + << "swr_init() failed:" + << formatErrorMessage(swr_init_result).toLocal8Bit().constData(); + return false; + } + DEBUG_ASSERT(!m_pavResampledFrame); + m_pavResampledFrame = av_frame_alloc(); + } + // Finish initialization + m_avStreamChannelLayout = avStreamChannelLayout; + m_avResampledChannelLayout = avResampledChannelLayout; + // Write output parameters + DEBUG_ASSERT(pResampledChannelCount); + *pResampledChannelCount = resampledChannelCount; + DEBUG_ASSERT(pResampledSampleRate); + *pResampledSampleRate = resampledSampleRate; + return true; +} + void SoundSourceFFmpeg::close() { av_frame_free(&m_pavResampledFrame); DEBUG_ASSERT(!m_pavResampledFrame); diff --git a/src/sources/soundsourceffmpeg.h b/src/sources/soundsourceffmpeg.h index 51acb58c237..234b24ca86a 100644 --- a/src/sources/soundsourceffmpeg.h +++ b/src/sources/soundsourceffmpeg.h @@ -30,6 +30,10 @@ class SoundSourceFFmpeg : public SoundSource { OpenMode mode, const OpenParams& params) override; + bool initResampling( + ChannelCount* pResampledChannelCount, + SampleRate* pResampledSampleRate); + // Consume as many buffered sample frames as possible and return // the remaining range that could not be filled from the buffer. WritableSampleFrames consumeSampleBuffer( From 0011c88cea8293c384228c46292a6058aafc4475 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Sun, 8 Sep 2019 15:11:14 +0200 Subject: [PATCH 38/43] Add comments about how each decoded frame is processed --- src/sources/soundsourceffmpeg.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/sources/soundsourceffmpeg.cpp b/src/sources/soundsourceffmpeg.cpp index 2186f35bd2a..879cb16dc97 100644 --- a/src/sources/soundsourceffmpeg.cpp +++ b/src/sources/soundsourceffmpeg.cpp @@ -1229,6 +1229,7 @@ ReadableSampleFrames SoundSourceFFmpeg::readSampleFramesClamped( const auto writeMissingFrameCount = math_min(missingFrameCount, writableRange.length()); if (writeMissingFrameCount > 0) { + // Fill the gap until the first decoded frame with silence const auto clearSampleCount = frames2samples(writeMissingFrameCount); if (pOutputSampleBuffer) { @@ -1245,6 +1246,7 @@ ReadableSampleFrames SoundSourceFFmpeg::readSampleFramesClamped( const auto writeDecodedFrameCount = math_min(decodedFrameRange.length(), writableRange.length()); if (writeDecodedFrameCount > 0) { + // Copy the decoded samples into the output buffer const auto copySampleCount = frames2samples(writeDecodedFrameCount); if (pOutputSampleBuffer) { @@ -1279,6 +1281,7 @@ ReadableSampleFrames SoundSourceFFmpeg::readSampleFramesClamped( const auto sampleBufferWriteLength = frames2samples(missingFrameCount + decodedFrameRange.length()); if (m_sampleBuffer.writableLength() < sampleBufferWriteLength) { + // Increase the pre-allocated capacity of the sample buffer const auto sampleBufferCapacity = m_sampleBuffer.readableLength() + sampleBufferWriteLength; @@ -1291,6 +1294,7 @@ ReadableSampleFrames SoundSourceFFmpeg::readSampleFramesClamped( } DEBUG_ASSERT(m_sampleBuffer.writableLength() >= sampleBufferWriteLength); if (missingFrameCount > 0) { + // Fill the gap until the first decoded frame with silence const auto clearSampleCount = frames2samples(missingFrameCount); const SampleBuffer::WritableSlice writableSlice( @@ -1302,6 +1306,7 @@ ReadableSampleFrames SoundSourceFFmpeg::readSampleFramesClamped( readFrameIndex += missingFrameCount; } if (!decodedFrameRange.empty()) { + // Copy the decoded samples into the internal buffer const auto copySampleCount = frames2samples(decodedFrameRange.length()); const SampleBuffer::WritableSlice writableSlice( From 04ef6afc6a4bdad3dd41b11f902f20e743b03f93 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Sun, 8 Sep 2019 15:22:19 +0200 Subject: [PATCH 39/43] Add comment about desired channel count and layout --- src/sources/soundsourceffmpeg.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/sources/soundsourceffmpeg.cpp b/src/sources/soundsourceffmpeg.cpp index 879cb16dc97..1b2418ec4aa 100644 --- a/src/sources/soundsourceffmpeg.cpp +++ b/src/sources/soundsourceffmpeg.cpp @@ -506,7 +506,11 @@ SoundSource::OpenResult SoundSourceFFmpeg::tryOpen( // Request output format pavCodecContext->request_sample_fmt = kavSampleFormat; if (params.channelCount().valid()) { - pavCodecContext->request_channel_layout = av_get_default_channel_layout(params.channelCount()); + // A dedicated number of channels for the output signal + // has been requested. Forward this to FFmpeg to avoid + // manual resampling or post-processing after decoding. + pavCodecContext->request_channel_layout = + av_get_default_channel_layout(params.channelCount()); } // Open decoding context From 79938ba9dd84de00997945deec1c27db3c1fcfa2 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Sun, 8 Sep 2019 15:22:55 +0200 Subject: [PATCH 40/43] Add constant and comment about pre-allocated codec sample buffer --- src/sources/soundsourceffmpeg.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/sources/soundsourceffmpeg.cpp b/src/sources/soundsourceffmpeg.cpp index 1b2418ec4aa..92350e72788 100644 --- a/src/sources/soundsourceffmpeg.cpp +++ b/src/sources/soundsourceffmpeg.cpp @@ -33,6 +33,15 @@ constexpr SINT kSamplesPerMP3Frame = 1152; // be sufficient for most use cases when using FFmpeg 4.0.x. constexpr SINT kMinSampleBufferCapacity = 65536; +// A stream packet may produce multiple stream frames when decoded. +// Buffering more than a few codec frames with samples in advance +// should be unlikely. +// NOTE(2019-09-08, uklotzde): This is just a best guess. If the +// number of 4 is too low it would only result in some extra loop +// iterations, because the same packet needs to fed multiple +// times into the decoder. +constexpr SINT kMaxDecodedFramesPerPacket = 4; + const Logger kLogger("SoundSourceFFmpeg"); std::once_flag initFFmpegLibFlag; @@ -604,9 +613,9 @@ SoundSource::OpenResult SoundSourceFFmpeg::tryOpen( DEBUG_ASSERT(!m_pavDecodedFrame); m_pavDecodedFrame = av_frame_alloc(); - // A stream packet may produce multiple stream frames when decoded. Buffering - // more than a few codec frames with samples in advance should be unlikely. - const SINT codecSampleBufferCapacity = 4 * m_pavStream->codecpar->frame_size; + // A stream packet may produce multiple stream frames when decoded. + const SINT codecSampleBufferCapacity = + kMaxDecodedFramesPerPacket * m_pavStream->codecpar->frame_size; if (m_sampleBuffer.capacity() < codecSampleBufferCapacity) { m_sampleBuffer.adjustCapacity(codecSampleBufferCapacity); } From d151852ae99036750a4210edc7053a2466bcd077 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Sun, 8 Sep 2019 15:26:26 +0200 Subject: [PATCH 41/43] Add comment about sample-accurate seeking in the stream --- src/sources/soundsourceffmpeg.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/sources/soundsourceffmpeg.cpp b/src/sources/soundsourceffmpeg.cpp index 92350e72788..ed613c8c680 100644 --- a/src/sources/soundsourceffmpeg.cpp +++ b/src/sources/soundsourceffmpeg.cpp @@ -620,6 +620,9 @@ SoundSource::OpenResult SoundSourceFFmpeg::tryOpen( m_sampleBuffer.adjustCapacity(codecSampleBufferCapacity); } + // FFmpeg does not provide sample-accurate decoding after random seeks + // in the stream out of the box. Depending on the actual codec we need + // to account for this and start decoding before the target position. m_seekPrerollFrameCount = getStreamSeekPrerollFrameCount(*m_pavStream); #if ENABLE_TRACING kLogger.trace() << "Seek preroll frame count:" << m_seekPrerollFrameCount; From d8c78d7e14ed23330b1fb264d57f74e1604d8e86 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Sun, 8 Sep 2019 15:32:35 +0200 Subject: [PATCH 42/43] Add comment about unrecoverable seek errors --- src/sources/soundsourceffmpeg.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/sources/soundsourceffmpeg.cpp b/src/sources/soundsourceffmpeg.cpp index ed613c8c680..feba8805999 100644 --- a/src/sources/soundsourceffmpeg.cpp +++ b/src/sources/soundsourceffmpeg.cpp @@ -873,6 +873,7 @@ bool SoundSourceFFmpeg::adjustCurrentPosition( seekTimestamp, AVSEEK_FLAG_BACKWARD); if (av_seek_frame_result < 0) { + // Unrecoverable seek error: Invalidate the current position and abort kLogger.warning() << "av_seek_frame() failed:" << formatErrorMessage(av_seek_frame_result).toLocal8Bit().constData(); From 5a85b9a58f7ec27cb768e5fa4e4905dff9e791e6 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Sun, 8 Sep 2019 15:48:43 +0200 Subject: [PATCH 43/43] Extract resampling of decoded frame into function --- src/sources/soundsourceffmpeg.cpp | 81 +++++++++++++++++-------------- src/sources/soundsourceffmpeg.h | 1 + 2 files changed, 45 insertions(+), 37 deletions(-) diff --git a/src/sources/soundsourceffmpeg.cpp b/src/sources/soundsourceffmpeg.cpp index feba8805999..e31c5135af4 100644 --- a/src/sources/soundsourceffmpeg.cpp +++ b/src/sources/soundsourceffmpeg.cpp @@ -946,6 +946,45 @@ bool SoundSourceFFmpeg::consumeNextPacket( return true; } +const CSAMPLE* SoundSourceFFmpeg::resampleDecodedFrame() { + if (m_pSwrContext) { + // Decoded frame must be resampled before reading + m_pavResampledFrame->channel_layout = m_avResampledChannelLayout; + m_pavResampledFrame->sample_rate = sampleRate(); + m_pavResampledFrame->format = kavSampleFormat; + if (m_pavDecodedFrame->channel_layout == kavChannelLayoutUndefined) { + // Sometimes the channel layout is undefined. + m_pavDecodedFrame->channel_layout = m_avStreamChannelLayout; + } +#if ENABLE_TRACING + avTrace("Resampling decoded frame", *m_pavDecodedFrame); +#endif + const auto swr_convert_frame_result = + swr_convert_frame( + m_pSwrContext, + m_pavResampledFrame, + m_pavDecodedFrame); + if (swr_convert_frame_result != 0) { + kLogger.warning() + << "swr_convert_frame() failed:" + << formatErrorMessage(swr_convert_frame_result).toLocal8Bit().constData(); + // Discard decoded frame and abort after unrecoverable error + av_frame_unref(m_pavDecodedFrame); + return nullptr; + } +#if ENABLE_TRACING + avTrace("Received resampled frame", *m_pavResampledFrame); +#endif + DEBUG_ASSERT(m_pavDecodedFrame->pts = m_pavResampledFrame->pts); + DEBUG_ASSERT(m_pavDecodedFrame->nb_samples = m_pavResampledFrame->nb_samples); + return reinterpret_cast( + m_pavResampledFrame->extended_data[0]); + } else { + return reinterpret_cast( + m_pavDecodedFrame->extended_data[0]); + } +} + ReadableSampleFrames SoundSourceFFmpeg::readSampleFramesClamped( WritableSampleFrames writableSampleFrames) { const SINT readableStartIndex = writableSampleFrames.frameIndexRange().start(); @@ -1000,7 +1039,6 @@ ReadableSampleFrames SoundSourceFFmpeg::readSampleFramesClamped( DEBUG_ASSERT(writableRange.empty() || m_sampleBuffer.empty()); SINT missingFrameCount = 0; - const CSAMPLE* pDecodedSampleData = nullptr; // Decode next frame IndexRange decodedFrameRange; @@ -1148,42 +1186,11 @@ ReadableSampleFrames SoundSourceFFmpeg::readSampleFramesClamped( // This is expected behavior and will be compensated during 'preskip' // (see below). - if (m_pSwrContext) { - // Decoded frame must be resampled before reading - m_pavResampledFrame->channel_layout = m_avResampledChannelLayout; - m_pavResampledFrame->sample_rate = sampleRate(); - m_pavResampledFrame->format = kavSampleFormat; - if (m_pavDecodedFrame->channel_layout == kavChannelLayoutUndefined) { - // Sometimes the channel layout is undefined. - m_pavDecodedFrame->channel_layout = m_avStreamChannelLayout; - } -#if ENABLE_TRACING - avTrace("Resampling decoded frame", *m_pavDecodedFrame); -#endif - const auto swr_convert_frame_result = - swr_convert_frame( - m_pSwrContext, - m_pavResampledFrame, - m_pavDecodedFrame); - if (swr_convert_frame_result != 0) { - kLogger.warning() - << "swr_convert_frame() failed:" - << formatErrorMessage(swr_convert_frame_result).toLocal8Bit().constData(); - // Abort reading - av_frame_unref(m_pavDecodedFrame); - m_curFrameIndex = kFrameIndexInvalid; - break; - } -#if ENABLE_TRACING - avTrace("Received resampled frame", *m_pavResampledFrame); -#endif - DEBUG_ASSERT(m_pavDecodedFrame->pts = m_pavResampledFrame->pts); - DEBUG_ASSERT(m_pavDecodedFrame->nb_samples = m_pavResampledFrame->nb_samples); - pDecodedSampleData = reinterpret_cast( - m_pavResampledFrame->extended_data[0]); - } else { - pDecodedSampleData = reinterpret_cast( - m_pavDecodedFrame->extended_data[0]); + const CSAMPLE* pDecodedSampleData = resampleDecodedFrame(); + if (!pDecodedSampleData) { + // Invalidate current position and abort reading after unrecoverable error + m_curFrameIndex = kFrameIndexInvalid; + break; } // readFrameIndex diff --git a/src/sources/soundsourceffmpeg.h b/src/sources/soundsourceffmpeg.h index 234b24ca86a..f50b09c82d7 100644 --- a/src/sources/soundsourceffmpeg.h +++ b/src/sources/soundsourceffmpeg.h @@ -33,6 +33,7 @@ class SoundSourceFFmpeg : public SoundSource { bool initResampling( ChannelCount* pResampledChannelCount, SampleRate* pResampledSampleRate); + const CSAMPLE* resampleDecodedFrame(); // Consume as many buffered sample frames as possible and return // the remaining range that could not be filled from the buffer.

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®%WXCM>iXZ|k}vJ;fl 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 z zJsT{G;@4kuD!vtM@0%H?ZD15)FW_M=;%%C1p~MhKUHMc5!!+{qi*(%+axp{Rf!6IB zGsz~s}vFk&?QO|@detrB|neE?s)?io38$NKS;&?95fu+7grenWszV0qT{+;wJ zu@H-#MDZ(d5KWr08&q3*p!ta}8LF(MwHv`Ka*;t@!=JQ#C*}mBzUKRP^PaoB)m?ZK z3}ukUjC!w$7`{GFI`XW%B^@ggxrCHaX+$)lmzoibxm-`e-vmUj?U{9%#_Zg#yY+|p z%lSbBVo!UAn<^Q;v#9VWnh+uA>#rm#;Zb%T{|NU>#yZYCAa6k&rUS69c`VWZ8PlZS z2CbyF;zJ#TedXO>uA2+(Cs}E-rlxm>EI2;G-SVk4p_Rb^J`A#KIepvX7mq!{e@Qh> zG7>*(a4f&!j~|v+luYX1X;#Mg2@kD5hxVfUg;WvHhGBlS7na{m-m1)ryIo2++0frl z2Ne_m`_a&x>7H3X;lNW9MRd54V}>$4zqsaxqp34sfWL0GUepqt%JRY^dWjTtRM(+% zD|L8Iyt?nY`i(wr#6=b6;FiMIn~G@>63P3SZr@U%B#x3gP(Jdl3iZu?zRnnMK?~G0 zYxjx@lcYQ`<-+RCPG!c}@&AM|Uc3TwRg1%w@}Jkjv)+UQL$?b6PFCQRHzw}0Shcw+ zMuu0o(y&Yi$0eu7=3!0AgVnf zLKpB>4hotbw7FygcoDliO1>lU(l@4=h%$wYVs0!yQBq>~W%K#`Ux zPp{pVj11`hCO!1IVM^yx$r?{#|M``-JLYiB3C{B@HHX7P+P68nD!$CubZ!V&PC*ce zaj9B7+TwASmAQC*kRn@|rQUC;pqkQ5k(MnE!LXTNv+{@e*fa$-zQ^BFJqkiiap-tJ zL_2on==;MHo?ZlL)&;Gsl3N!5t*OF94cQM*tT!Y#IyiL)8yB?i%EUcSv4wNF3cCP^ zLX+EYpX$_3)w;W&WOshH^L$Cvj7a&m=AQA{fN)F}10N!4o|(WV)&vUXZn7Cm9Z`1 zHXXz_L;FmO(?Osan%OA5krHd&K;@%RGlA{6-28~vU8v=&A~_r9yqTv6=rAO00>IMn z*)Xc54ZhxB>Bo;}myixIlbllPHSXS5p&&{O{ViNb1&DVmMYbx@E1Fo zeqpa$$HcRHPJ|~vRdN%*>{oEWnkDlkNA-IBM+DoZIt!<2)(loP9}uYNpf<6gz6%Hm zy#*}IV7_vjX8V?iuPD23_XDT1R-KsbaS>nlgY2aF+zQ1s6e;ZYO{&U#n%kZ9puxZ> z(&8AvekLI~YfO7OqKyWxX0RC(=CVTzY@&-5X7jS)=gxP9ejMzAiXD%D-a2U44k-hU zPq=c#=M*jY>CQY=MNzq>m|{}uFQ2kB4IfG5+jO=Qm`G<$OnxJCGY%mze_HH~$p z@~~$qWaJIM2rMW1jEtGQF#aIEz}_dRmDdQM>}r%{9O9JdUd-=*R>6+^Iq3uHY9tAAJ?2%o|sZIk+cSk zw>&yKFgZFtuRj6$9(Mhx)jk(4;7G~PX7i=-HTgmJj@_L^g;FP#jRR1Cs8*U;)QHci)qij z$J>PPaI5(^Hu;-J3R{{7l)RzM@3$RjCg8LR*F#o_rf?5LNl3%mmP4%q4sdjx<=8A-&Ymn zzQfYkYxQOuin3RYj1s&OXNmwN=U@M9Rk+x{ZFi$lPM=MMVX$+}?;0gVqf?SHqsvny zxVkgHAZHL{FpB5TE>20O zUc(ETZJxlRAY)NnRDI5r+{aKc@&4S7QL=Jn;jb+)n(Jf5WUl@1DeBMsxA`1~j`~2+ zeqVYkM)c8L;xj{(zA1#cK;wp}T4JuskF>ZT(S5CphLcsq$*W6>VJJ!#Xl>%hpIhoHT|ZmYt0$g35Tt|M3e8unS0CAZ6O(a; zEe8*Tzi3u6Pm<5|mk|7j;PCs7#?RMR7EVB?qV)tNHnLurOfAIT`%3dr1fmL&zk;TcSHaGTVg^YtU{l$-Ok48T~bL&}1 zlBp59>Nokt@fX-z6D*yUE*#14bTJc%NOCt$!P$nS5Qng@j~WA7C!|BmEg2zgiTbJj zY%%VjyAsQbz85xI50aPOmL^r>Y#Ui=ozARLf%(D~AKB(N&e*AI^i45oYtc7Zil4-~ zGMxkl5B}+k>(Tp6lIja;2CklODjYiP8Na_SS`k=GoSg|Tu|KYe%E9BQmW)=kbBx8L zmkoYRnM4505!ke7T7b{k?B-VMJNZ>nG&hxTQs0Mwm3ILPJNZWMb?4w2{8Dx8ka=?4 z9xm_-J`Q#p>gQzIFbs7xG3tNEn)Ge-;#1DmOjTMN)@c&4noA&aaPLEHG>*G>4z}!YX+v9~i^Ph0k?D|RAL8505F%&sfq7}%R@2KxV zvZWysZ+%a*x609=@LPGk_Db?4`tZ*v&m%G1);-s*;q7z_k6MzN9)RB=b?c^JVZzCp z^tf)HGmmMumdlFJA*N zfk~UkTq_u3pCmnE1Y?E`V}-iUQ>hvP*9SJ@BA|vjr6cG?$~$i$3-_MItiJVE)z8x! z%U)iG5g%}#oQLJB=1FqoqtCKCG0e4075a_Gcg8%LMD7se%>?1vNvluDr)C{z^hx}d z^$?rZrA&uw&#)A0kYAjL=ZfAA{&ZlF!Hj&2 z=yL49D?~YS?MdRqEX2u{JO>pZMk-7HKxjTL^T=5$N}S30}x)s8?HG&calndL+EUjp;YK*g42Xxd_!r)jx^k{ zH9kR0FK0YRBA_6b`C#u^n}*zLZ>l9PiTnLv2bnII2~}HQQ_4*(6rViG*{8;peOnGk z#^mCpQW3U8*8&?>mI5yfoC3~w3RFn6Iq*UR3H2bD1l{r%b z7q}H$KQF%!)i?U}(QRLy8+IZpp^L0-wrLqk+EX)u>rEMl+gd5eF~w>T(95k)pvOwj zaK@>%KnReS`S&&`7jNT$)3nZ-2rh~&F)cMy`E_cmY6o(|8=kkMw&2ERYe1LvX+3S%@-$E z2_T0YBR!r~SdT#3Z}`O5_p_g2A;6uoMe{6!$WX(QmsGs%0(Ygb=?XTYVod!F5zNYU zC~k$_fWQ%SMQ8g915-*5rdQ*`*}{)tEcQETI77kscHf0} zg2Ul{A6<>F!|RgCntUZ3dDoH{Z`4$~1}&(u5J>6xt--zXo|EPWlNIAImqYbG50UPg zPPr18t<+~LaEH&H-{LMjtjLSNsRkupY|e9pb;(SEw^WCnENw?XzvR1OtDO{R2=|mJ zUmiiJ*t`@L(x;E?obAXE&!oieIp%<6)L3lQC6tBm6gG zt<{|oclj}J6CA6Lnf$^cBAx*bV>%eZ#M3v=lVB(J`()X{;b zQxRJvugib;B}b^}`n&S%0N!b3nOWV3S}jOT`&t=Rr=Sn|3l8IKmj{kCnVG%SEswR()9q|_lNxJG@(fzPNERpB#7p9T`k zkd-1U0}T(0W4`nUci%<*X5-d7-3%$cu5BPR5|+dcrMyxxUY0Oky}np#_sCD3Nj%8f zjL>gZCE#x_J2HRfIa%(8(lV%r7)0&r z8Ld{&=Ey7*1Z>C+paxgXn+IS47b>q!7?sfZBl->ghadmXJmP*OLg_*G?|&cdzh|MK zxBoXqGgR#1Xpp%ATao&EuN0cs0=J&YQ#>o=zAeB>9sgR1jza4-KmAR!Ht6=VXCFUC z(Q@$9CEXgits6f|LBYh!s1-~h;ufPLVXS>AOm!$iah1gD!(gV(5s+xx!J(X?vu}UY z)D(D<%$>o9UmM(wqohtV3AfKBPRExKr8ne|meOXA>oo-S|Rm;_AaZVD&Cdx)i(faMYOVcuHK zVt;+%ZYD$FC|eb!cf;ewDzOrOU__}+ zkm*Wp5|qQQdcCZU`q~T!d|%ZoWV%E3-HBYQGaLNPudgjc^v1I%Yso;bT*PK>?78(U zAUjf?cq^9D*-O1cC4h$6j&?a`ZRPF@^gOo1*Td5%*AX0fOR>ulyRo7qV$2|ip|2_J znlLLaFv;v*je0AjjA;AHyttzbV+;+<)=ZM8P6Z zX0fr-vJ z8Xds`3^D16O5%{o23e2DJXVTk?O7ENC!4B&lZojrAqz`{zH--~E;jWvx;l9%H{g21 zjf~omg!eeQJ(y6EP}B@_`TB0um!{at;P)DQy#RJ>jQ6D(mlsT#_y+}V@?=R(g%_#s zeTPQoAD%U)sd)^t+kOJ-vgYgf`{W<(c1WO&3-ps>=V|F21gg z4CSyXobo&lYKkbZAd5zv9SGA$_DO8v4)-J9+b4`7MS#P7FdzBAo>f%6EeqU|u0l2Y z66wkF_EcEP^sOOG74riSnSU*Jk1brXMqR)7e1k&(!Zv~%)9i(a5mC41dXF>Y`0|$1 z@x?9p^VE84{d;;A@QX|IP*HXyKZ8z+=UgYl&UTknp3AzxREQzY&`o!7(`=$eE0-8f zLG*swq3LYxV)a4`^w-dNHp>;*eWKO<2JSQ(-8O2>`P1mj*WUFNXb5MM@wn$B+O(jm z#kw)r3Hs}}Af9TGmE$vfY8t8E4j z99WX~fyL!!c1&`t`OL@_c90eu>V`+Y`~y5yyvqvK-kH1SSy!9-+dlY#5StXD>+u@6 z%}|dF2#8LR*WvSxi71G;a5~&0b#GcD(IRS+{7pA8Y^Y8Qt1{wTY*~%rtWnc9rwjCe zD>VX#OQ(T<`Ne^4EzfZ-88*TsjppgA9r?46X;-U9&$&~V`X$NRGH&B1_{-KVEf_mv zMRA==Y9%~euq>(qM3bd%ZeRn`l&ynyJ!eehH`u6d>D~WV?|?GK&0Ss}Tgw*r}72Yt1e?AkR0HFAAZ1z)}sJ8CCtzFG{I> zjHYxXCC{&lH?IXCmYY1J7?itHBM{8lKsmVl$HLx>C>H;lmj?sXPsvz7yy& zXE;#l2nQAn-*?Hkp|{XIIER6(>dOg=&}m<{2oi268F?a6FJx>PKmZv&tPs@2oo(b=Y15WlrhrEX{L6bcYAM4&F+X*TYcnX~n5V z=)ni%gsU9KOSVy(N&~>rE7)U_hkxp*FMC2;x>Spo^80;K@`T{H;F`VZ!v`$l!qA^) zRsH}&)%8DXsC0Jw=Y2?hr)2?8;f`X+&=ZL#U8pn@bSnM??p=LIeoHOX{z?QY#sd^r zBp<3zT}G+h;t%2wzNhN@;>cih4I;drs+l*2$j^+a#B9~O2-g3o&)JgTyzFXkNJaYJ z$pl%mf#a7iH&=aYj;=|EaKx*8z1Lg_hy4ju%R)rp5;Hexb_KuF`;5 z@Rk62%DXYQFpo2-a;c3-e5_9A*M0TW8WrTRFB)V7gBefJ$1C-VVvyxfpcmFeEHE4} z-);UhkY%Prr>d*H9t~lG&S=DjXtd{B;6-S*!hd;L_e-bC@5s2ForP-={Ulc8H^eEPrUAOw>5*e6ftW5lCq>EV9jLH_>#YDF| z2j=CkE+%JV>TM0RUsQ;hB5gO1Kk9H=a>&zMRA<=!ARvwNjS^ZWF5a0%f1M!(%AKf+ zQ>K1dOe7u!lvXJblOmy^ZAk`S30AJ44p)9XpN&Ek>!?Vsd-8s)-F9?n-e^xyYRG@e zWoo7Ry~&(Qiozyks@d!xvtLRr-Qg5z< z6qFdEbd%_DMjtz!{)ux-r?)>hD6`^YK5$JonaRNewtxy0wc;5F!C*;I1} zA+n^vI^x@K@z@MgI(~f8(axEz1+~z1ap-r)F^|&f&E4T^b1RbOV|YWEpqtMjk8j@- z+0_qxCL>Ahgb)&il{=y1Q${RdFEYulYd>|VO~vl z?|DN6!*l)I;54_icyDRTD&MAx&$hTt9WVPGEX72Bo0`JSjnyKRwNQmMYEW))gAcAE zNS$B|gkC1-2^uSL`^#MT%2fSawF~*g4L>T+3-yVH4py{1kd{Ev6i(ZV^VHonnu=yx zv`W?5>(Z=WxjBuydXHbNluTs^HEci{*_kn`^-X|L{$Wf&F0k=)X(fW!v^-Z%mYbO- z>|MWg*?&!Sh4KOdc3QA6L!Alak=F1A4o-SD?U)MexNPv&j9Q8OlCw<_HS5m}L~AOh z*_FiDezG*(yNX5sm6r2*F@^XW)!1R zUyc-}K_aWNhbc|%(Nduf$SDFduB+jIJ8ku|yk$k&8-dX6=F@?uvMEwJiuA?GIzRk_ z_T@8$eu2gyww8JNglut!+A4f zBtpBhrl9)~%(tX9(p?BrFR!xX z&J627QQNpS25z46E>h=qT5{f3^&orLLp6uS@(la~)vwRyqecWVQByb-QSr|@3;IF| zFMkD=Y@9i}XjnP)&W)Ah1X{YrOf~K$;1O4J zKdh@(!ycis!m8~Z`ajIAM5*6b5*m=DvDd7a9N2tK&2y$kQX9LC?I2_Hz=KK+ma2v_ z3`rwNmK)4cYldj$H!5Cvuc6XC1!b+PDO1)GROHlVd{whV`NRz9r1)@+X{^XEf#X#U>JtsnE8dX?Ec|mK@M`(8+l2s9`MV($i|a ze+rW{rfN|BcPdELl^9?#-JBVslQ70EXM%=W{o1V-Q5O~(isrQcB6rfW%4X!|&Oh-D zuHPJ7c0)P-?e|8o6eV{kXxGCP5gS4OTeM;UQ^jb2yPS>PZSKj+dEBV?t1vhkIRlPs zj*Qxf8*@6y@C>(HxyMHGX8r7%0y0*jNJBj8^8MP`RH4F&Q%uozZeA_YROy6_4Z|(Q zJqD6AVf}mNC>0IooUdGMv%<{=1;1G0tPPuOMU5I{*L~@16C0mE4Xxye0=B0llqP03IsW+ z#!8~dcJL%HJ|YWY@e~Gb4hU>@2&}sCf&I|WQNJ70GuH@|kdqSJX>h0x5F22P+K?!b zL@vPSC41H+x$EK=^nD7Gy`sC{;Y~<7it&a)~(beTx%A`Fd3`tNHnw4;v0Tx_H&Ud;hDDBw_r%7&8hXAI$_c7P19w=n_BwaqD z7B!g*UKq(XdJ^n@kT(LfI+#3lB+;wOhI$))aA>RlF&)q=VW$(3QlPkW3v0Vdo$HoU zCA8O;g~$XY@&zzP-%|-}z;7{Her^T;{vS_o{nupUzway3-3`LXQ4%8^N{k-8(IA}z zX#v5TmW_~&+~@%VMo5>abdByb=u%1hb>Ck;KfJ$x#C1KM*Lj`iahS8hMd_$k{06TV zlUPr({iG{!r#(fVL)%IvIN`k-w6U+enMa8J>U&*aUL5633=IO-C zXqCAfK6o5Jw}n39NuBaZT33>(;VmL{u6$UxB{JI6KA$l-;lI+6)q)&kQ3=}xeu8x= zy~P#Jri;}>t9l*YXVTS3x4hK#o;Ffgl{&7wmw)J?yNjM@6hewPai6s6q0)ES6`UekHs9Z_kw~Y`x+m_`*G{b?%MVsG{&6xy0*0LaHEL#-a{#z;1t5 z`qrx&ypdDUx}ab;w6HKQkY|}TIWW}ZdQa)DJ*E-+4R^g`Cd@++ox|X2UPv~kD}^Yh zbgJ?9FK907cc0N^Uwbu#H?lD=Xm|!j*nD}@;}`D;))y|*IK&qLQJX+CtA0p)I<;Ka zf|@FePY!!8aNV?8C?7x^QGwT9y!W62?Tb;D;zznezctmKJz$ZlE`M&Xq*(HoAOIUb zEnI+LW}}j^w(3qjn}!zv`#d(Bn8TZvH*&+y(B0+9B}NC7S1&541|0Kw1e!I2xbs^G zkk9szOa&a#fgMadtZj*x^qfuUxfp(6Ek{*{l*rOZiZR6ps z;z}&G@K2KrpKTzGv77aH%Ay1DIxzZB2hRc3z57P3%i}rB#OJuW1>@?Xg#9-b7qrU` zI`Qktk_DQFbH%0^xuwjF$uX|lk;w~rmTXg=hmi6K2B|Uqj~NO+a;i^(fxRH0A2p?l zR}DG5Qd2?dCC>v`W0vIPM17pFuj8XbnqaheJ--X z!Bk0}?aLc!VWcRw$`GC5kYQ2VOrAW`J?ZE;-pdtnA(FpqV(j&F0cG3VQ~f<;w)(CT z3@zwu8p!%tb8ZHS)LJ&4;7>&@57EOE%d^Aa+RPQh6?78D>yK4yv_)vltRzPZzvo1- zZnyB1klI4C0HQxph&F=r55o0~-N@Y(cdA|1abzVjS5_6QFKfkhQIPbqPwp$o=?*G3F+x`bT8G=^&-++T7#t*c>|H$9{m$LTH zVCMVfzt@W~ODhT5g{*gzw6e9R>F|ZWw%qj-RUC|Q7Ut9i{i^TDGs)z1_-WBln>H^NB)o>R<^DpnJ`iZw1y^Mr zJWq=ymk?QF>FJi`Yc8O*DHy(&k^u;NP?mgq-`ijT58e9IJY!o9!+ zWC^S~%=N87h+mAK+N*+Z^bhKsEW?aM$?vF}y`21E8gtqMckjvL_V?%UJi2`eb<8+x z%ft$#F^X2tAuT1B_v3yn`ITs`MvIGlS8)#e)acdX6u(CDou*^o%C+VQWj&pI$OWfS zFtK-K#w-A@-^iD*e`TR*O7J6v&ow)g~iVd|%(W7FIwHEznFIIWpC0$r#; z>hMtIX5;B1@|VC=xxELbEqAh4H{f9gNiFkzFo2GN&_U0G;lJq6U2pKBu?ZxZH$aII z{EP0k>iDbJcN$-~B&_Uu&?~udtjt_E&%!I^31<2BKd~{h)&RM4aG0@AUCY#2=+v1v z&Ym0w(}ZQTqYL%fKO5E+vAz~hVl*5ki@RSK@igl9r=e95vtud&{TByg?+IQ{m6MM8 zhkdcI@Q3_uwBx3lR7ON}mk-{^8put+ZH|>!#T6FlWXlWEGZbKchVSuA;$nQQ;7Uqju zd(FjLXJ2aXoo|dNts@Dt;v%tm&D7B@1|-mx`oSbqURUvmRp6P>-%CFqHs#KYtjwgS ztz658hkHv>zw!#iMv+!#fKk@Q1$W-s@#m|Wecdhk+6_LLGBGdd+8t$6(W?Rz_f}n< z@%kYq#cxKtoecUHbPT-8cmb&~;{kXh$>y+L(|ci0p|A5C1n{LcEX1@bQ;Ceo&+1_Y zF<(6Pa@~zhIjc9t8-Q<=-165QHnb%_W}6goFp>}h)oP4B$#{RaKtuG)(%K1dZsQWq zQ7PfkRyTec{&}FgTpH*|;f5jsd+4@V%A}I5RckpJl2p331JqdaH z2>u1|^zJD%{BE3ha&e4hiks6Csn&v5)H$HBv&L&YuyR=RL8^zQakE$6Sqqv{1(vu9 zqoX9`P{yL4z+%jsWV{jOs-nsI!l14v9`c>OhDptPC1+?>_x_shH;yS_8t0j}ihp>|U^dGVq=P|8lrx71 zE5HKns+^;!%T+u__myowpY2`W-~CQ$Quh+NP$Pmv&CyOUb zpW6x5(c~L0KHT~#q2MO!rDS+NXykY-%UNpSQC+(FJ{*cHFc6K<8FfA85Q6L|`&gYa z2W(%ygE>g=PT9z4O;$g}%Ka0Ir9h(UOllRNzNC=bmQ<1C&L}}7v z;q|fvIDFT#CRZ2i&Uy6XDieR6;J3ElAv3~Pu&Zwu^1$xLXBAP7+RT=B@KwDl6BR!o zCTB7ilLIr@5ou20NKtW5^@}h*N|vZ4pkFo~aawEFK3dU|@ysT<6zAQF58qQjbh-iI zS$MEFW`ieKj?*v%2IDXpkv5lnElYU2(i9`)RtopXjcKa>+x3;k&eSVIj*k&~ARFV{ zgcCzM+7OKgC$djkioQV=2Zg8pVB8Bc&_?;bGY=f6pkbwdsT24m4ufdlC_6H#^)3sL zmFv3hd7(SkrE%dE;b<~Xf}mH^%HoP+g_Yt6tS*DIkcHSi3mUsxeA`JaO;*5)J65Lt zwmas3VTq4T4p~F%a;sX0(DDR2<3oCd*#`h6YN!u)p zY94T2l})`~-I%HpRPA}3s*WB!cCvZhb!n<6yBuVhgwK-X655vq^x?nM&RQKmY&z!O z-F_mV*yrt7rM1*&W5UsC()l|tnE>ifuS2hWL9RJmt(`V3g65d>x03khG$Zubf39E$ zR^$pENeywJclTeoZ_NCK<)S$m-lf82ttOB+ya*2li%j=KbcBcPWC= zS$zB~YL$r(pM69Kd&W$(E7VEiK}Is;GIF=%h==%MV)AHc&#;LXP?r)+_90I=B6RbOm8x;Q2L~siW(U2%_Wp%B+HeFY~r}-seU9{$f*a`jGZkzn6Q`oBNcy@9BC>IUZmgKc*7oktA-p#cr9{d zA1#$QLC5$udbjL2L+cq#s?`gOJIt}!WK~+CA5LdB@2?r}$sU5a?iNM==6@0d?${zx zt%nS&4MY```$Bu5-FtAY)`nfvK3;?oyfA-sCc<@(j{+bJSHJdo7f7|7-s!lb4O#l2 zI|0SrmtAZ5DAvj7_y4PDY=7J#dqHda@ACt9CLvn$|19`+H`BA2yXflF+O*tiwT3C< zgAK{F;`y*@$}4OS{8R`8L8sQ1_tEs98vdW#74=}gA4DF0gw#Lq8IICD||Bc z!QVPS@tg9HQBAzt2=H{kTEX8j15(1KelblSx;72$2cbhsg=gvgd;jERIDSkH_TnPy z3UPt0mu1$8HL}u8jT~dHqgAen_52~$93oXWLvR)B8JT5_X&95np-w}{J{9`gK{{|& zbLIFEW*TjZ!G;#oh_&eq8IH6LDl0<($+jBb`mc{;6y#!lGK?@Q)L~g?HYL>mb7tQa zVogx7p5VtyzBiMWooQ?%H0M$_gpMGVw>Zo#KA8c3B?^eY-Po|Y4WY$KZN<0dHug1OxOY3Idf-7m$N zHu6dQ;lN;^8(Z^djg+|fgWxHDya47?Y4;tkq|&t=yP z=c*Vj1gKr7M@LiT8FT_hv6~u}UZL)R>QS20#dl+53%%M0d(n$<|58+F$RMR5hN|R@ zzg0Ve_^geel1?#T#qh^R&z~X=QB{+K?yxNBsat!(joI3HlHq(Qqi?#0Trt-RXy9kb zCus4ro5xR?&9|_0sO=H9WnD`?Gc}Vr$j-pVIwWc-dc~au=~J;-}&ocZ=i>P8%1^505;ny+d3FZ}X6 z7yje~7x}?fII4zk%<C`^dW^Q!EfD_h%IvLKA_hRp9I@rt37;RiXDv9f zZw0Y8BLUI#0D|U3UV8?y&fG^&&5`8|U@_80{HNYs4snyF0%(`;FZrLgFGK>VE7>)tt_&VlW+K@D1~1N3`u=94{Nn|OI!qeY2D)ouD)=qGSx z`S}tyBfkli$%+EYYd4u+47XUQTs)7LfC_zgx|)jxCM?Ya`t!<%{ku|O%*V`Gs(}Tb zi*eXd~r?@@^ zyW15QjzmqL`a*2lLHiJki`aQDF1ohB1JcK&|udmZAdJg1{})stG0)>(>8bcBKTsiA=? zbF%_Ad8{<;RoBykv^lTtIUDY3pvi_OrMa7i?T(70iu}55P3$7*y|Fs)>tAAY#EZFM zhW!NW;PKfj>84kA2I<0Jd1BNLqX@vSQdf}9#vrxUm`&aHa#t?M&E9PaK0BR;&U`FL z4{YD!Yi}u|8$PC6`%?T9=LeP9JeZVGKa!QGY&G7fwB%K9;_pnx&22TtXurLfpY9kp zV_=C@IC>zrY!ecD6A!Qbv4Q0 zeNvQ5$GeE0%Z!6}uirkWb9sXx1bAosuH>6z<57RGjGJo{!!(REEa(_&&fiM@Du@h}@3uyG zZM|ye!dm<_(<#vFqp;Uj@ zhg3DsuNALxnl^8qV2viWUbT_a5900W-hc{9yY`$9xotT0^IfOUP|-DU^;#t|2%#O& zj9(uBD zLUC(Xur%yFTc}_=qO_Gm(%ynjmPvBF^L3TqoWqsIcjri5@Xv?6-I*o)x&lplGg*fo zz|XKQMtwUe)H&c@Tzcj5pKIOEpfHCU`{;yR=I*L#WxwqQl`qM4_7Corr}U)8{+L7MX|wY zO*}0tTD^9ycbT%yU_To(UF{%#icl1fJLB#s)?yX)C;g+!ZOqV_(Vi9FBPmp>u~08P z2$mg;mWXAIhf_8L5t&9fb~3u!AQ3%D2<>t%PInVFq>OQn(1I=f^%+r?2xduANoCDk zb%g3T*Xi5scyE00O<@U+sfLWp)R(4{&=Cdf{s<0a$ql<&-q+s__;of*z^P-g5GSR3~WI zW^y#XdqDJE2ra*uJFZB|+UxnG*C>%z9s3gzDneyZd<@;sWCiC8+aY^fm%233LVPq? zivK%KzwNaXrcC?JIX(F6rmVR{^S1qY2(*1Vk%p6s+5dBg*`bVI3rN7{-@a0i6PuiU zQ5bqZJ2o{optv$i>P%aB8@jl^?A1zcXuqYt${XU*n78%WSGo0KG@)4QI5lR|PTpl| zE@^n8GObFkbZ^W|{kq=i`9MrIV(%51%5xsVL#7BtI>{=8k!KJwS^~H9p=UNwy%aPi zl=@6F?}=DXBx_sPDjuLHK0^hunjrcIjd(~6UrLD8sw}E(qP;+jL{9;@AG%V(HFW~G z43K0H`i*cCDQ`0D>Xc*kHK#goIgXOgbx>SnE-UAm@YRLl!v~p@D@fu`(PfSEjkXV< z{w7oNsUXEay2k2UO-rvfpj1^Tp<+dmdmc4JYe}j$$r|$WHXC;6D4E zWC2^Gt(26DNu4y_3byp*SZ2L_^7mx{^4eiZ@OwbjKo&y*pPZ<1&q&($8JKw9K*wwL z++}G+KKDvq#$XRY|7cda`E_3R_?9Jkq#Gv4kf9qvkNTx%UyFM=7UUXvLDJpTaX_A=;+{O<2-N_t8NCwV z%(i!iwNnf)IEAUevU#hDsJGYj@@L$k$vt21sC=J5Y~AmzJK8!i?~MST#5E58ot@J2 zX`jyb^M?c5ZggeoMo2mOL{>0gur>6<@@7Rxs_DC#fB|? zaPM#0w+zGRVd9-k4YUXs*s_c5i-6~{@I25;;aQ+(nH&INGqqi(HO7|UDI-;&A-N7$ zKa^IPIp#7^=sj^k0sCKPeQNo=haR&m)!B5r4@F|QfbvqrdnS`al8fe|x3kYDUkH~u zJ^3%Qdg(X?_rSjYOSDbCpO7`t`uzLqfRzbKEAU^CTUa3wf>&c@MUy`V9Fe&)-|M&F zBGbBUk7P^UYS%N!$@{gy%+y-0{b>+-O4|4&p~O#nfEur=$~)Ef3Wa1W1_9|FY(VSv6y?9AL@j0=hSLz_N1*SNIhrXFia`g5&;JEyL z_GwOgMgfbpZ{$P-f_!I&H(3ltA^vrNs(@NJbhsDV{iAA#g2D4S?*pcVe+?6FixpBt zwOq|yZ?igOik&M&zN9Qt=E6KxJ4aB5hscj0EHF2rtOxZ?Wo9bgn1<}kQ3mA|u^~eQ=bWh3M%s7_KIcsJu%1rv>FV4!X{AFK{|IG~T4qDf|Dxp)Rj|*3eoQR7q zmFRyB=4ppH!c;2N!;5$@qYIOqLwfwf_$5rj)NZF3<0fm&adEf}a8W%#d}{6XTPSbB z@=W~22m5T4?4(8VkkGF$5tFll8;ZnTJzrsk%KdP6+Ej-m+K*?uB#5tkSk$- zOiUwNLkENQx{6m+ zk2zcqkQAo%?3JL6sk4<91BcNB*EV5du-h`Yo}8@W&k;gL*(VH2_$E(NS+*?@uH3Ma zWihF=$D=Q+NJQAH3N)jDd+fcaBD5vD{?<@Uy9VKIWG(0LHT7TaeS~~&14RP5DK@x= zQ`!$8OL`-l%+G$s|H?D1u!tl+sNp-8eIIlDL}0lqG>onWe#=MCj2N$&h22O#>s0MF zQxqE26e!>D&AV8WrV4lL2l|dyky6v2|NJN1j(k1!_I5?~aFv^V?YN!>Ta{XX^x3gF zvFlXWXe#>vulBR1T*weQY-^WT`!SjVcEu|MA4IabFFsNWD4Og;)U)v>_Kt|h5?@GH zw*cpmhpyJRr3;cshS18vj<$2GsatI~NnELQn52BJ;cD>Kh2pmuWWHBSWp>U5rr zG|y;WIt>zmPtaZY;R}69_FetaIEg$qn`GY1}=4N zh=yBM%9`tmAQ`aifQT>8f$J&i?Y-Uwer)FR*Wg=lZtbx8q zuEs(6b*!lFt|8V^vdK8KqIF6S2k8(}DlKl;EO-hYE4D-8!0^F=8PU>((ccri-CquM z%w7)caGwsWK6L6mj%h93qh2G~kM{ac75Wg4ZKMiH4+=fCJz{xJ3JcHO0;B-9M&f5c zk6#l#zY2Qa*K~ynWI_hMZ^%fIKP!oJ85FR*^B2gUH*?Su9W6XPq(|fd*E`nEZ z_DJ?v#lHMz3cG&b_lMO~&&glfnd8R2b-j@^NOIWk9+V1~bIjddrT@E=(Ic`yT`|G} z%XPN5Ti;a(Ywg1!S`w18+ljz^w-j{TaFEs>)^>t?%(Zl{ldgH_ zuc@OMY?lGgf9_wV1QWe^Sb(|bQ~CESKPXhg%rO*7&5{1je~}(BOF0JjO0<)5RUlZ4 zoVynd*W18%<*ZCKZ0zVO3DaDD>QotL!zw;urM~q=AP3L^H0nw`WRhrQnbMd){;~DY zi1&*8Y#p^s!+CcWFOzEA5u3v*Oc&9q#s37nqSM>p7@+ z@mQL?@J^c}eE5zgaamJTg+gd@$Q$LFRy0i9o*(6CSV!b}lkOM+g z$2R0i^EFd;8Lze9t!+x%xdoQdRCAoNc^D;g9KTrVO2$@<1tm@@wR|<&%pQ0JxbPTJ z{-H&TZBRSO_xl=Ye@TM0OT^|W%gcz^XPrpkrSlTqN66v#P+rDA58gGh+5FYUYcjbm z>xMoCT#0W8ZIPh~!J3OSm-|W64ej^+r)kO)Q1O`jN{q8Yh^ev%3<3$~6H`t?loMZLjZ24E1#%SO9}OC)Cox~I)ip$Ge*1v?;L<*a`vHJ zgQ(YwS&|`PILp5-q%@Gi7Fr>ZAGnN2dBUgkvH#-f)7eVCaaB@e20;NBtWEF zAvS%GGyiXuB>Sk-jR9wam}!Ua^JK_O0FQ_`DEAYoZjxs+p5RL33NMp7dHh^?`w)HA zzodQ-C{bY&khwSBJs}_EF9r}A8Rsu_+mN}|3I58t5GD`Wq#lI{ z-t@sT$C`?v2pyX{M*o?3PCbwK_}FhN!=9A=sSnCf%Ti|l#ZTa2!Z>3N!Cp8F4<8!i zAVUuFSxOX*iT;+ze?nVT?JL9iIbXdI_e;sL)o*7_mTf=^+e!G@`e<=h4-bRk*FMpz zuXT&7EPA}81+t5lsAS;d9%Z*~?T!g{EYDK9p(0WKlO~me+f9|vw4e`pbOhMRY-aTi z8zSDbN0nfr&P-^vGeTY}oRziTlor$98h7cwHbkzQtzD8zKsI6)Vix*iB^ZOwhXUH- zoHhw5N_V!ap*K9=-|9_~rwgwsoL_xhd{lL$N)xpmXvSU3A7&2gIqiL`p>TkYp(a?^ z`}XOR5P929BQ5KmwXa2XVNgj^{uH8VeL3MZA7uhVaT zc}DZ6mmjUjiUr)HMijF=_18h{`L-O5kt#l%_T6~IzHtTyce{P^S^13yokr+ekIHml zdkNDiyG?%XQ}+6X*hl0=%m)8|rNsRESF%1@=YKs8?l7TfAO2@73%+AVYPCx(n(XY- zVkVD2r@Aw6=MFPnf>x9y8yWdf0`px%QE@|ZW*u&7YEE$wJFC*zh`L-Ag)kmm;l=4z zuQKGXv7}cN3P9%mxQ8pb2U$x-f*$=?X=FQ^&~VR4?VlK5G_|u<(U!t17t-=9{Mnmt zVk&$1ENe_dHMvdcA@L>01Hza^ed(3GCqYe7QsuYwiy`Bg5Vey4-q_ia-=GtQ$?bo5 z$8%_8kOfkinWblIiuFN{*perzH#{)ES>TFvGN(Z-_8b)9cS8wONxQwbGv23sUxde$ zRxbZTbQko;P;5dgXfc!JKfDxtDhf0p;>&60@f$H4Z|Y|_4YZZ>E2k=nLJ7BKyVB1K zO{4ENfL4t6U@>$5WAV+g;V4rG5lHpeq?oZkPYjH6PjsW(pOC7SGOKNTC}}kxPF{6p z)4r#d^^bJu&gjgzskC3n^gVBm_eYva`vA4 zd(`RR7sRDiM#j=9>EVEsQ4QIPkoJGn_mMd|u0Tv*_$%YqMdi1;g?(ev**YWH4gJg3 ztZg$b9vglm0OwT< zMXprX=X?j@gr=}tzN2@x3ELtKX`SU$f&;>O2Wbem67DAQ#gIl#*>BR&^fX$TtmzEr zExbQ(OTTS{{Q!bOQ+|r8sYb2J9GWMH_{O67-UlVu(@edm9llPdA%I5jCxutbV5i!N zCwB)8tA${Rv#?MDJz#jYNY=5dH2Wo_;XEym5`F=1_s-l2E)(VSeq|YlcdE}k=fzaN zZ@U!StRd!pz|E#vDllmJy`~n#R$`iqB_O?ByrOcfz_2;B3N5+Ik8DNvM$}DfywDd+ zlo4Woa>qt3Ym*0zx&+h!{(F6#(fh_t#ldevk4-PkoZ$zl?i{YVwf@fw%70Z(R=?-S zkZKC580%8}8Db8*me$ZSjK8S3nWt}?V!K^GhwfxoQM!(SU7UU!Z%#Oh^+R|}3rhc^ zn)ilW?<{?#=GRrH)a$Q#Ke4Lo0<6Tc3Arh^e3}rcSdn&A!B>34OZGQ#=SYqI2}O-B zI4E#;N>a@I6?_-+8DX2h)~)X^pq0`opS3fwuwqZK(gD;dW2IGhXZzNjr&Fql=wokk_?>yfP7>CR5@{qa^c=%Xk`)s;nKAA3HCE7ox}NmW~d`hrx^| zHAwRmu0%e^ZDB(zpJT0-gBHFawT?aoF)h%euA_9ez`6yqt8ydeoy!Sa(bHpgrsxQR zAr;qfo!C2HW67eqUFf}#Y@pgo{jbD7*pW9HZL^ur^@TatEJ*dy3JbjmX)ok67C)ZK zhXjJu1}XcuxuE(iJ+}y*GqJ$==^S|c#=r4Ad$2Yn2gpa1S+NywKwy+}V`N8@$3S6< z2XNVWDEJ#pRG}(r7aJl~+ry-gW53VJ*f-4ivw5x$6C@`VdN8gG?K5D9y=PzN%03I+ zRcf@N?qn~Kjg|A#PHe;I2yW2cw)YkHK1>77OajD2q;VA_m=cM=cvDdSyN1$EzqYxB>gk@n=ko2{ z-rRAK!<=iO|QP{UHIa(^o7O20uCbDlO-hF*i#X`8rR1q*$hhIOqVR+c8*#5 zQh)Sj#Y0NR)HwfG<*^uF?a~(7s%LUnY>$v;X>zF-{nW*6BV%1eCa9L+nIRLdt&Cwc zFJ^jZVNwB7t9Zq^wENiGDI^nxy(P7|jyH}P9M!fND}oo(Dy!oB8?y1OALY`%F{A2e zB`ZPhy*~=%ZK*W5)e%Gr$_n+Dlq+=F88EEup*zVXNXz1k?=AmyzsD;99eb=Tm#GdT?_vs?AsM?}1W zg@Z7mqra`ATCAzla%A-1KJkz99Cj+W##>`OobDX#o3byb$GzU|aUkVI3TRVT60z7a zh5g$hZbqH`VdjoT5x-6>0B-e0*Y1s#;f%3FQ2{^G3VZ!Kb+c13QOpR{$M9>b-Y51J z3M9Tw2P3`1lBR`Ix@vVt-FPEyoVtze6(aL;3%mrR?~xupD+lKrc%K0=i!QrdkT`3!G6^n5IP7wbX8GEx(+rd7s^v>7f(i-*xpDGq;vV9KvWoxFe2Bo!M zBM`1=_r*1z6|XI|yRNFyN+Y(aLa)GRV;p3%9N_Lg_t z`8HI<4mv@d(O=k_7`f^uu&`Ame-t~$9wa&I0N1imPtiH+V-%HmzY}gSoz^}d)pkGP zdfOhL_)U0kT-`IvXf&C`mnVs<$@@MWo;=#Gn0KB1Ng`|W!)YvS#d&QZ zGb2-c{GCt1{hx${=C#PQckkg@U0FQ56H=3#6SHE-8?{H4azW*8!x89m_YhrHS=;kqphZiH1&v7e?Lt=dKThsDa!G!RS-4sHy>Du`4 zwU$;=P-Kj+h)>kL_r*57Z*04Xdn(&qend6wyOa#t6BFvn?hu+=O5Yqn1ySY=UUV2>W08bVm|L5e!d`$;QWB|cfe7}4s&5baWIa}Ay%jH``)20K^VY8 zy{hN?Ny7liT4EkS1=4&gm38Le(;Ii?#d?e;!@^m5@5`x}nvtWJ@RE}&w9oRP<`66m z_m3yhhhXj&Q>jQx=_^W!XGasFym(?=iE^toVO?M(z@xlHlGjd`za~}9V?d&3Pw8M72C z%sUwtt5ipJs%(V;p+bIP>&eHdaL{i(-Q+ZuG;o|3(L=8u25AN|t;)x;l%`5e}gW2>_tnQ3x z^TQ0u`M!CbYUM=rT|%X$3uR!my>L?{87yDErd=0PSl*?H@xKe*Dcs-s(`9{akI9_e zPS5CUlyWSRWh7!NTUEwH8--n|?D<;TQW%LbDT$%`M?$QUQ{-xO`4?;NJwGL{{D8hx zQO8EKB6{2Qh$}m~0N;I@IvnV1(dhC~#6bk0#-?H(_)=HAGz|hiYPFiJq8EE@F_H=m zKlN4zQve)ekKsJ5#JY42+i5{Q-UGC9UHH=Q3V7X_)6KXz>vNzd`?$j)8Dwva9iO5j zxT?RG8)sg_9_Idr6Xe6$>53mE7qBcT9ISI`2yJN8WMlAt+_KeYGy(IR7Oa#XE{|tP zF8E-4kf(-hp{stBsBo1D}kkOu-W@+R1*zwoE^`Q&dAmT*o z{vEKFgt$kSVcW#8hLC&V0d>ruv80v*Vo{F?f3ZjwAU7(tQJsb%EGrr)LWYIWYHY2T z_!r|A)xQOe4}p&;YZRHXim!GJ*nVOaaC>N5lMJu5-@(aCQ!S$k%(gIRvC)5x@-t9P z{J>%z7I#^9k(q5!@A`F`Pf_k~{106oAd3e)~`s}pWX&Aby^9fVC z9jbl%OsYP5Ox5tG*f;sMU*os@(&U<})8$vF?7SSjjb;Vap%-hr9cP!NlFbZ$faLW- zZ@48A?~8GH>YDiBT6(1FKwM`0gSg-Hex6XSfuB_ua?c+I^f@bixXWU%$mejaXL2gg zqE;(btClj-|J#=!?kb%UETKJRZ~)k^Ce%G|5NT+ z#?NH$(YHKL^&(sl$rJxTJ#P8vO*a+Sot7IMTPGY^WZ#h3kbtb?uPPY3y_tBaQ(p0o zi0Oy+rAj!_#>7G_o8x=s)%(=N_9+;7{5@ul-wwQTjT+c7N*N5xMMoyTOc$TZ*@wx> z9qkKArh67sh<&$niT#q(_ zhkx&M@Nz@SD+GV8*4|80tvp|)b{S*8X|OT})qBiaiw=+Yxw2f#2Y-!>2}`v&AIqbe zyXOY^V<1N@D9xiUUFTR+LL7GRRJsxDnt7|A5vyRlzL3N23iX7qN*)H?HyZxs9UGd$ zb^6L#$+lfaT@1ECTY;GxpRa2%aqw@fFWuAFhkLQu>bSp*3X?Xv0 zZyU#mTX~!!b=^C~EafrnQFNS}E#EjS8x^@k=HT zB!s@=Up6BnW4l*lTVxXP+ECB8x~^?hc}(J-$Ya9`IJ)?(qZTOYyiY)Wt^P@<3T=93 z&fl8dYO~@@CswXf_!ZxgU5ixbq6f|jhWQ2N_HOW*5P$_v=;a*a+G#Jfc@Z|U?4c}^ zMTcu6qcFiAo;9yn2r`V~lgjYB6>my3rXzwhO}6&;t9z7&r~+(q7@v(QF6waAUK~aw zrL#_k$WmZL&+KoYJ<(j)xDrjuW@ zN;G*LU1y!G=H$RUn?^iu0)LTNmW$J?9n8xGd%di+4fj^k!HB+b=L3k^mo3-mZ7V&q zT*6v?ZF2Y^(BR>OiCo@($NXGI)#%%2mi87(0<`6s`uJar!kZIP1;J3U>=~kr{oVJY2$7`Z&u?Zc^JE8F*es0#)`jvd6dW6}_EPggsn|EJIddly zM1!zw2-L6Fl`2c7>QMgwyR?nIZ;>6*R{ZbJK91>(7X6=A?uK|9NF6gpYa{det*aB+ zfIJ)79SHv&@_1(Xdx`Pf^bB{%$p_=()j(i&HBl!?1mzu=tFK!X)k_crlf#~mm`H%~ zD6?@_q2UIr>_7Lh#h4O1IXp*Vp>F&(Jj4v^h-F(-Z9d7qZc;gVArqC-`=L<3LpHP+ z@U}-PA8LQ8syx-Juwf%LzF{Pr4b!Of5VtFp*|$JNviJBE9zUgPz1My@!BdqlWBQqk z-)5d<_A+FVJ1f^*SHASnUN!>H@~Jsn{`{?i!BUS<$YTAS$DvP< za+*XFKuPHS_#ec31}>ZKAr?D)ac6emx+q`*iuYaJbSjRpxiUG9!Acxalxk)_mHvXc8zaoL2u6F~?o zmy09*laD(%)bl%D?(wc*VUft%L7H^&2X@hTRs-T1TJCiwm6fJA%MQ)FY5vGoXS`-9 z&cO?DatceLGCAx98mid!Tz!b~Ebd9+or+q)ce#zfpa2!UlB|YYt@8ILTBHuT*&V&g z-EXHcF5)U=`F;xNJwM=F$=Wdc^|{yxR@k$VwGC@e;$QKIMsKmgxNS*ugV7U zu)5=o%&In|&HV#fRm)$BU$51xJr(EJeH^-o5)JqPH;5HrVPi_6~s#vger`bd3oObcNNT@2lNmltZ9sn>Vs1f`65E`fJa+vDJG*%L*G!A#h%tRXci zbIxM!jVVF$5P(Lq9(XD{!W{HkMcrY7j@P*-%{Ba6k7yalVe% zd3=ud`=Dk>#CtrQbMo`edG^`Re*pM*;42Kbwqg#`Lnc3|Vs0NFS@khu=kkwP>C8ix zjqHcaor0CMvzHZkNvfpDuZRiHJ3F{ysC5IUMEq&M_P z0#gvSydnQ!db;H?G~e9YV}>( zAw#^{?L(hQMEHr|%~7O=SKrPYs*mN*4ELo1gM-%stQ!bfu(gglmV>n9t3KyGdIYeH zvH!^8`XuGSUv$Wc`(W|J0KmHFTo=fnKjfl3qjc^0%rDd7X(X?6BUSpjs0406Sgw&S z9j7lR!=-pfu5&5U0_5AwCnCQPvo=>8`J~}(@1D89T@i3~WLy6CqsiDju-QDcMWs;} zG*vC??yi}sWKcEIRe%u>ecVMpI&((#Y)$@}cfytal3CT;{3IY1a@^z*^*36{x)K{9 z?eIvWNJHxcv@^y+y}1Xl8S%DF%on)wzT(FkW)Kz5L(Mc?-4p@Q_6+3SO`Xe;ab`^7 z=2|UV-+hEP7C))dxHn@7;F9>Vj7Kqy`@pni+v3&ZA^4eqkS{j8J!x={r(8c+Zy;O4 z3ouQLARro79#NE9^|hzV6z0?9d|wrhW!SxHW*AiszvX4AS!a&$DDpwgT_v2nL#!Q0 zbByKIJZ~jFtb9JZV=Qp&f-S%>%@2Oz_VF;+5Wa>*IUWueHY{|SIGjMS}76>-= zL?q2k_8d3vn}SgLw;}R zVXG3!Ecoffe4Qd*L){uEHXFQGhzahi6fN)-Cvap0NYu0Qi87=*NKAXxW?`+?G_eZ^ ziMvVA`=*B_FnEc;9Y~eoVIF#Hsy2J-MMT-wH=`wWYKF2fXZ4HfssY88!y7F$#ZR-T z_xrAP^792FR~#8OjXv1=+uC;6g)XM@y=K(+VUad!%bT8HaKhuthH2~3M=yYlyaO!Qhh2*YoT?!u(w*Y)fES0?{wyWMlxnoC)eBcxZ7oR#CxHA=C zQXTlz@Ezo0@wf3y<>SqCX@5#hy19%KG+iuZ9SG)(U&36p7&%O5mTJFsHi5+B%x3Ou z6J`pOrs$(5haVp>K8eyWw{&%qsxUrm}cA5}^m^d%88f?IK zRJcP(L~Moh7nxVfoWP(I;W#)^e#RAj#!@`gKE|JaNzLwh<0{k=hMASE8zvOy$z}8u z6z)48Ot$EgZ{B=3Yo6R^GQ1%%VmuKfDN)8&^1p%Jze{f|ZwVWAK4nP4QQfkiwp=2- zw~{puDTQm^JN2@a|Edf6v&&SeiUCHw>aVH#SyA^TMFO{NTHnVM;8S8!96&lk9M;jv zOZCpx?73rYNrBQnIW>ICM`*cFTY%t&9?mxT!JRtJ9gC*TU%N~H&}HQ>VQP(R`EPgs z^(Mvd=9DcRH9;+_0>6%F=%3ntGFA0PE z#65OpE-ip%c-qv$Q&8v9C8m%ReLERs50_XOKa~$`ZX%Qv;*SW#$g21Sz3fj*i9hVq zwHY&VD}9AQy*E7@#4u0uM0Q^^&}uB8h0xYy!QR* za^x&-+agG4`=>Lrtxc;rv=a_?H?IM(X*Qh^#Z$>!!;s*C_$eU@F#?w^D= z;Dfx%^eX<1YC*pe0{TPIN?FMg$f3pyeOozO+8urpZvMptptq``)UQ5bfvxlDeUeDb zR-2t|ITbIsXk6g-Mcf#pgyx*$T2fB&48o2h>QKtVgFwagd(5SdQe(^P8Fw#jPK^uS z2~^p6J4e#N(s94k=xtrO-lk@((vGDhKJg!tJ8h*CcYb2lqV1TEzB!Rk7wDN(xS?-G zVa6p;rK;xa0@VIdiR4+C@FZ<-d7h|{CDDe#gkxLk5Ug-mUi2iV#cE1!fg96TV!N@Lc-=zR*QJ$k{X#;RD z_dZ}n#4UQhdYFGx^_?LUa`N3H;?MvIs^rfJO0Vggj#jch=tEoCGHDFPhgAbw>!J{B_}NlD2fhA}1qA?J?wnqsihc;))M-im54D^!j!KNFDNw))I88YZ_dj0J2Cx1(Y(JA{HiZx zwdiuZ@0#>}hUXv~Zf>t7m>0sh)b&q*qV!+6Ln0E%yF_d*(*Dits32U%O?Blh-Ex=4 zr%Rr>BRu#`XwFVRECH%QoAPQ+$N2;_>QVPza@*$;dL_c4S-NH*@EZ)7H}v}J7_0;E zwi_mVA=Zi3n|UE79p?*uLb{V8?M!=SAotr$K4r@_yzbDo|DTo`Q&8R-qVt>r*DjN-ic48eA<)OL<+VPF2{XCtLU zf5k#tORldb#9w+C1+!YZq_tL~Y8v`X_!z+bK{$|7CfVnl z8hexh#R_Mz4%O}V#32rI%7Ko^qOYfA^@}?mvjM1cV-YndTF3pLRiWFH*=h25y@*<} zt`$gacS0%Z5Qcs~2IBfDOB|G~3$;>ifaC;~8^_#^5~Z)`thqV1p*4OT~}x@S)sn`Zpxf~?Ska$D-?`6f25L4)qNWM6!5>mfm;vW z!B=(P@{@$#Bu}+I@@?l;>Eh;L8QzTzM*o-n4bHQ)Yl0YIV&ovTzza#T%qoFnS8gaD zwBI3zQ=7o{Va&6MGO8K*Rv`6viRzyx$j4@8iIH@9IsC#e6w4s#-FH5IDxfu!PJ{8K z=iC!-ePCZjQ^?NQ+;v2nis*z##%i*R=iAk%6(0p}{KR#p^>D zsxvV%m>xC^drCptgdDggz4>ou5oO3-GnB7-qR!^`#aj6Ojto^b0ZPV&hG2Cg9G;x= z#ydv)$1Q(g6@KQz5-l^^~&;3?W7SerAr1ZmR`HHfSx$DERX2~z_n>T0>I zr>gxZQ^qx8PUe(Yp;E&|rg7YM)Qp2yk8U=%AArN=ox^p5zh8KSv#WezMOyyz9&#th zi6B#y{n&ars}4wQMF$2ybIH5N_7DMVYoB2TWe#2HOWi z^Q{P5HBHxZ4C4np{3%ax)V z&qLl>LuSZlShrWR9RR3!_DqY!GP`Djjdaa^)Z6hd}|=1ZuV|5bmLpDo6Z}ZfR!l4?*aF zP-+pcFxb3qtSD$T>hhErJ`bduG(*b2$tbiiRK8~`0PtX-XR~O~7#-!9%tR)mZ_yb1 zl6-3r@T5EJ8LHFb27HU{dn+2>|9n5t^F_{pK)nsfOAOvo!VK_yQf;~cv7i@O~% zwXP4&yT;{CK*oa&CH$MuT%DKg+K1r zE^AWTTH@~O3s@e~Xm$Y2Ooa}Faz?07non~&v#A0Mfnhwpmz4U5xq^!;opscWXL6L9 zL|^XudaBBv>RG_2H<^-N4VS_5HD8ETLfP`_OM1C;<{$Xpf6&=-^z`J$X7JfG^{~3? z%c}|;nq8?-+E(wx@|cDuF$-GMD1JA!OYd!H@$-1`K%`)_cf-UEpWy527A*e^f0c0v zREfJN=JfQX^q9J*;0lS^VNt&8!cJ?vp1i5XC9De7=+IsLQmL|vUNNO>r=&p!QalWO{jTE{AQ9^@!T!ej&QNA*-^e5g+6{A zqs-^{#O0VvPdFE&JN&2JBa?H9&ctvZ+Bvxer#E(f&9UCA`b6eV9#cHPdw9c22DHBA zj>X1yH799mp<-!lzrtSp5EN?>oi*0QdQq#Kj2*7dYt*Ov?^5)mU|ti)yDfejdQ<@^ zvqrJsHvLJ+c1_CW&mZ@z8TCZy%hJ}LoT|%VlAOvs^w)U}&c(+v&h|sG>NJ-wm=o(sDqAuoT8^P$X$!M%{ffxA90=Uin{ALwHA zY*d>H?qPboW@vg3mCS?NL#T>~^>e?vQZ&+RwQoX_tU5A$)+t^VD!BsCDo#{Z4Rvwh znX7*wbGrEhcvvSYRzy0Ja!uu$B|SGWpGNJt3&tc4=Ze6`>X}&8`&%<24hnC6l^OP| z$<0P4-SomZoIMZI6<4*u2s^KN(A2_6IpI5Y$?%M|`8{#J$Y=i6f2PO$OcC)F=o(0WRdg1xQ7>2P${s=QlBx*lbb4w?f*OZ43nS?ubo za#9kAxG1479X6Yl^)>ldb!KjP)4e>rq1!T>0>j&)hhEED;@%eT9nCRqYBTj6<8o)4 zehSUu{HwT+ZEV+KM<%P(IW_xbc3u zkUt<6taDTSvbhsE?lJ%4T5w(xI^bTr6F=X%}dIeczY@ZF>}E5Zg_s&P_eE>7Di0Dqk0Acx|zn* z;uvP-{p6kt%SlgXGY^(W!2%&=9zmHgWzG=+!R$RH7fcR!2_Qq28@%PR$)H%m0nQN{T$xuU@$R#QlI~|nXzUJ7Hx_V zIZbjKQP;q44Z<9K?~lHUE>?U@>y+uZRrum(=8vi3t68=ATsHGo=Y|r2*j%+D)tU4u zjFFczxvzTS)&EW4y5HJpRav(FTYs?3`I-gruX;QUyN37#d)7XC!Rt)`t)w!BpGNX7 z3&)MS<>_3^tn@~Ym$>e_5hOuAd>}3LMZ*~+{au$ExFlenab=STDIGjl%*=ATc-b#? zG9RS2my&Oa`|gqDXj7_z%%62%EWq}wLEkx<%+l+_!9F8CfFo5_6;%3wPR5<7tO%bW^dIZywj!C@u^FwLpUGiU_o^} z8{p@At=(b$wVggJIf$t`=gJQ$^C1neY7d4g6|Or75}IZpCRxZqu;fLB<0Ypc@0XEE zqBUzwPAv~SD zdtdf2&1+zn$}O4#WB`w>mG5;FSH4=4IeMRvUFpHPh0y_B=*1V$JU$Y2_!qiUP;g%9 zp{_8sFz&OPnr#?5rO`=4m2rVwn~50q+lI)c3lNt#lh(hqT<-EXLg7krNO5 zg8eF%gebiLoU%ex@F;`3k~;KgTWWymoOBe}GU-hG+eq8GTT3E?2+K)#L=>j$>WP;u zBVK5m5heO29pCpC?C@ZFwZOkv^t9(9Qch6eZuO?|+sR*3(zdS6<^3*idiYVvJN+_zNae z@7Y*kA}6{V5M2Jrc=-JnCXa)@An9^fv2bZZZ9o+km{SYbL%992DSlqa>#NcF)c*M3 z!DFvf9v`j+vn%1$9=Ywk>`!Bf1SeR(ZMW{i9FH(hHWXAgd0r?|sF<8;L6kMbBhJ09 zZ>vw{a<>b@qKKpA@!Hyjh7ayVg+dmps{w9T-&<*r6D7f+j*W&B^fVRmo zPwoo!U|^ho3(%8|;P0HGO3J=TC_DUK(#ethQu)2s%1swBY~7UIS%tSq>%BCS`06nj zse=do6o$jnGkDZ|qk$hz*tXyEtRW0byU7&c99Al0+I`srk00@5P<7~f816R;sNV_y zftbmQNv^w`{_T^Y{j9w=Go_@lInmtKIPp}GQPxvc=Bhtlyl8iDPyFY>LTbaYW`|4m z^f1-6f|4lnkQGSQ3W7yJ{?}PE z>Hvu4GN3I{o|_w`^-fxNixo4aBT=xG!zfc5WfS!5>nl9_DG+3dW9(+&+TwHHopdC$6|hp7qP05Lz89J5QVQz7cAWm`ka-AzooaA5951kn8;g>Cb`*LnCT3QI z&7|BsRtWxs#hfYfLL2@~+Gp)0!6*)?!0=urZn*mN&v||;&^MMRct7(n)mS{!6ekA!-y|*5B=l&My>kl9(1KV&1fSvoT`}h>dIKe zD^235|6?nj+?ZDnx1;JKeSw)gS-t-NuaMb)nEmw}d-Wv2qS{AwRv!f17YakY`9vSd zaGWkWmgcY7cyzubH>ML(#!_VPMs5A~r~;~VAo8arDUk9^vxc1+gQ1Gq4hb1H43FE<2BTka-r>7am=N^5D(&OTrfsm6V)1FY5Yklw zr+?Q}X<>eBl(O6O{h7P`%R*=!*RJFzZQv|lZkdjg{}P}I07_!1w4GgUOs$HrJAit) zh`_3rJ^XrxYx*t%*?G9~Y_mS*qAv6+iew$@o|?u7iG2+n07iO!;Nh4SIPAN8V;O-p z(777!SaQ(vt1y)6Ae%=tOo!CKuJF!mZ3^)M;^3lz0ODT&Nx9c>p_*b(z)bN#LZPg7 z&Uco01I>3bxV!<1=NY^-hHZ8J#;^Oq2jl#=^st9y7AdIOdgn7=-mNm9!#qSvQby3K zwCy9O;C*sru}S@S@0h*!>MP>6Lw>Kk@24M-b>tfsbfs2+*Zo$$@g79Mo}!(YYl}gw z&oP7q`MbL%)w(#Fjq>Mi-BP2tDyRI2w;TVn=@q*-`OyDtP3VM$jw4baTgz@_#mH=h zDKY9f&LZees1>MJ(7!>=4KpFt5{^Oml^P!6HV`ZQm#JU#(Uw2VAw&V`jP4E-rHIo3 zn0V-0@joxB&1%JOB*S|H!^gl^LYjN7O~YCAvK-Bu00O{KH*(SnJn$wc{Oaz#cL*A=I8 zIQDhCk@#_)OP-fP(Fl2of`G_>c;2{bdA}43ihtd!DrFG7Amdpv*i@5tiF>Ak2C?G| z+|jB2^xeI;pAFP|z`B4?h#5 zFJA7>G_qE44A86oy0%}iW|3c`Zk^H)c=nRzTL(B~ilik%5u08~X?S}s-h^S`T&R_| zrq!o(_PfPD>)iUA=HD3=~3;jNirf8XN2?YuD_^Zr!Dy&>H^_%({&wqT=D ztkWVdkJITiK3{S*6zZ3B_g^uWJU9H?F1dQeFvr(xK553E8Wz_?<$~`qRi}ZLm$H^F zLey@EnoJ?NfkUz`P7@eV0aRd}n4k+TVQ*TnT>FX)ZeL&75Jkw>m)I`t^&AD3eoU=d zooXi1!}v+78_ z*vs9(>Lwv($$OH8?bmC<7ZS!Ju76NPK2hT*&ALF3D>JV{J%3f6i4BzM-+otlL87n_ zxS1z(_(;Bj@QYv&6S7F=?~3@c6hRT*c-=h)C4LlD5>ns>CM-|XWD z4r~|$!~-zT6m#iATz}`~JwJf!iIC>3=llN+@7mw$XrX^Yc*#L8=QYcne{a_Qn}Gh$ zFtqB^wG1g;jr0*i8^rDAKs22_NDoq#IS`GGZnP!{m1A=?!j{C^|S1Ke}6$)yd1S`Xha zh7u$Eg2ey&OEcAHk>$G+?8@q3=tl9};-*^JkL6(j^=StxWNpAkh3838r}UwcW>Zg2#r-%wPR_ z|KmmEm-^2SNezi+jX4h8wy9d}>qs74l~sbn1f6P}%5ALFIMfUxW?<^3j}MzVta+j93ua38 z>#%>+RxMe)xOiopI0G=$=@+zHR+V1v>?&2cKtAJ2<+I&6z8+kiYWijIM{-|jqRRG$ zH{Q77+s#=hgYs=b1@K1+I}Nm>4aU*N_b;GA@xJWGXDzX?3`w_}4FSepd_#A}9TAgG zMVUAbJs#ozkXrAWst5$zcpm^KHvYxydxtZ`FM&b;~2qMy~x#!0|W& zScgpMpPuA(EV^TiHvpg^g>P#Rkz);XkZcuU;f=~*=0tBbC|Ew#-mBx!gNCPpX(TML zMtCpgQrDuR>T*wNf4x0#KacN+#+qX%Ox|DQNwsic#>aofFu4g|1I|cJOpPQpq*E|f z-+qs(p=GzEIHl6&iS=mGSXvS{8bL-n$=al|hT~H(7L$(v*VrCq8*eS* zG?VE{LA1KtSqI{zT}7cyBY5f?{Ur6WUSvg+W>B;5@A z_eH(nO9Msp3_d#Xl11JRA3wvC36dcjrqZ+LcAjbU&B;uj$+G(UtkOfgZ7z*4_Cc0D z8m4^lAoKx=_)xI~lzYM^u0pDRqMtiC*E#g3tz6FT=}#{PpqUJ7qGd6kAht@BKm#8M z(sPddDx2S5@vcNIRJw&0Qz24|b#@?K{G`9BBGlN&nY3J{TbqJ4W;~*t!iUEalyJ^E zf>aZGw-Gf4GI}XsWs7`zJmj~Z(I-t9VZIF)Z6C-`%q6YP7&KhDQuEQ=DqA#-w6eU0 zG0aAR{2Z?e?k(#1ez{mC++${nvP7@oyG@f7BdCE~^c*(^oMpEnT>9oEA zuQ+LdR{=_xoTZNR9H0Lfw3@UO8=Fan-pEzTL%P1z``J>f-NdjS&iy$cD3ca(2Dpna z@jb*!di0wuPci2&nG{Hq*I>(`IS{Et#Mn)S2HKU)>)7>i-8gYpkfb>O=$8J zK%-;!NQT{d)5U=glrr9ZHJ|(i$=6XU6p_aFx{hRNz}tEP1(9pjvpy00B|SY=rDsc) ztP2>@9K`|+m`8T&7{w68zY0!%SGxY?igVDIeskCFhW9OcZ=0WXDwkUacr@_ZkfLfQ zI^;dd%*4`peKORKW^F^Hv{lyzzk)`&Ue$e(jtg_TS5w!`y#h#(v7?XOXieM#Epddp za-$&1PHbE6iu)Obzlf-L45@?u;&P&thM*Wdzj9ESOu6?xZiQ4)uS2UsS{s#v^u`R; zgF;c&nbv|hY7` zF}B5~KAH^VYhJWLiBFHuvg6UhvX3A4oYx#aEXitmBDC7gM9wC8ul_!`Oq&vG4L~hw zYH(W)_)TG=E^Q4Q7EgJKrs61>mZ`NXdMW!k__NCc(Ku?JFkd}x7}e9IqV8ecukw70 z^6{?)xc?gumO-{&{!xXr`V^83>6!MV@^%Q>-M!qKy4ybC4!Qrcy%d$#M)&tB3H5cY zSyd~in!%R2ka@S(^+cX%zl=yxo&7x7E8#3G09v+iq~cn6i{u}7<`icXD6`NBtu+aJ&o4w)<;1S3OtC1P{>I<# z%g)(yHa#`th{d(;2_kES+;Ezl9mJnAEc`}7xx(;Kc%~}VNbV7%!rf%yST03_RsyAsRblY(Gg17?$=w$&*XqkYsF}L zT?Qzy0x?y&Vyb#-T@5JoH5b`3k=H`${6git8uc+MI$wsk8Ful5_r8C^qv3q1v#0%XKw>{dyk zn{oZ}KJjNR?!FgKAf4GZGIT`KdikI&nT2L)f^MG zXyeV3(MZS2|9RIQ(b{S{(P+%fjc~|H9FT7q`>)Vf zR95Gd6S3DOj+f{gU}x*i*1Qp3Fjgzhii^+R2u0&)*T?Rp$tV zj=osvCOik6xp+?Y8uM!d3|BLNIr+I_odU0>y~YXRrt{gkzeGI4vFZ7Di6Sax*Jh6Q z%ly6{K5QsURD4`hmi;#Be$(gsp6d-4CnvLqbe2*OTgMEh{wu$}v~X1pwY{6XWNh{R zf4DVR&3b0y&F2R&so8q)f#Y|5)TthUFL+I<^D4UJFKFJu)B z-TVGCM$XmjX=POpHLFjqpyg&*-o*S^Y7UZNn}BR1T8So)Wueo*?S}ip6Nva@B+!ef)0wasd-(2nLx7BAv^X+1 zZBnTPfeO6=fY+KftlT3C<$;Su<00I#nP!vC5k0TD)1SL1c5OZ; z)e3y?dsq?K^I$TUpVprV+{~6$_K%5DD2&92XD{$O4tM&xTVJ&FbnfXslK}W*Qr0{~ zdfY;sAB&S`+Yr!d^=Y30wogM}CJJzO;BKn|o`^h8%^7^cOuG zu`f>`0f#mYQ`Yb0uiPe{(*wr=*)~c^P?v5`I~&cPbX&uO559prlv%8^3)LDSV7BjiS=0XVqcV<{ z{TIkw_Uy$gv^vt)pUing{|~=jzkKP0qN<6b6ZXPRJ_IqIdPtLT)U!l)&E~NdXlHNCAA~{Oj1X^OQlzh`bI`vL_dk^cD?d=04 zzelbwJyIp?@=eveUDKo*)%-ivSL>JT#b$}<#`;V<>v3Yuy4ova9^Md6wr&U4Pq#zU zA^kLr~9sf?9=@twjt<$8`Sq70rlADO%l zR=1cY-q*e4hV)rHlThIAai%Zbo{qwt+)9~pQL%>-M8$%o6j!*bl^1_N>q`Zun1n$f zbVj~~+~f=TDQ|7w)PTSazQf{=|uYXN}w{BIM0DC`{XC!R&%}u0y`vN2q$_KdBf~JhxJIy_) zPzXB!tuz7ZNT0#yW(ZiQg5A|zgnhG_jhjNh`;NUy*egVHd-B|HKuTzR>}d?We6Fb_ z(%n#EpX81-#6;Q|xLbm)SXxS*p2%|mZ zsDDjQiUGmZqXuFWu7<1+q558`NykXKzp&5{Br!i#wW{z)3vrPoX*gI^JmWXnc7>iP zzwt6fx-dbaP$aG5ZnVIMq+Hs9iFbEz+nmJKO{Og|CR$5j1lN+UWdfg4Gz6czJM>nj zbCWYe*KY> z+SoaLWF0pJZ6yDmQq(By%mo`X7}e zzGkjxIbhtDW@9O)b`_(UrTz3GP!qTk%G;+w`R;SHc7rc>%r}m(I!ZnsiAb;NF~7