From f5090b13172b44cf413f46ef9540f2c070aa2a0e Mon Sep 17 00:00:00 2001 From: Mike Sinkovsky Date: Thu, 3 May 2018 18:01:53 +0500 Subject: [PATCH] samples/videoplayer: migrate from libavresample to libswresample (#1551) --- samples/videoplayer/README.md | 2 +- samples/videoplayer/src/main/c_interop/ffmpeg.def | 12 ++++++------ samples/videoplayer/src/main/kotlin/DecoderWorker.kt | 8 ++++---- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/samples/videoplayer/README.md b/samples/videoplayer/README.md index b1d47528baa..5e0059f5948 100644 --- a/samples/videoplayer/README.md +++ b/samples/videoplayer/README.md @@ -7,7 +7,7 @@ ffmpeg and SDL2 is needed for that to work, i.e. port install ffmpeg-devel brew install ffmpeg sdl2 apt install libavcodec-dev libavformat-dev libavutil-dev libswscale-dev \ - libavresample-dev + libswresample-dev apt install libsdl2-dev pacman -S mingw-w64-x86_64-SDL2 mingw-w64-x86_64-ffmpeg diff --git a/samples/videoplayer/src/main/c_interop/ffmpeg.def b/samples/videoplayer/src/main/c_interop/ffmpeg.def index 28321009864..d61602082a2 100644 --- a/samples/videoplayer/src/main/c_interop/ffmpeg.def +++ b/samples/videoplayer/src/main/c_interop/ffmpeg.def @@ -1,9 +1,9 @@ package = ffmpeg headers = libavcodec/avcodec.h libavformat/avformat.h libavutil/pixfmt.h libavutil/opt.h \ - libswscale/swscale.h libavresample/avresample.h + libswscale/swscale.h libswresample/swresample.h headerFilter = libavcodec/** libavformat/** libavutil/** \ - libswscale/** libavresample/** -linkerOpts = -lavutil -lavformat -lavcodec -lswscale -lavresample + libswscale/** libswresample/** +linkerOpts = -lavutil -lavformat -lavcodec -lswscale -lswresample --- static void av_buffer_unref2(AVBufferRef* ref) { @@ -21,7 +21,7 @@ static void avformat_free_context2(AVFormatContext* ref) { avformat_free_context(©); } -static void avresample_free2(AVAudioResampleContext* ref) { - AVAudioResampleContext* copy = ref; - avresample_free(©); +static void swr_free2(SwrContext* ref) { + SwrContext* copy = ref; + swr_free(©); } diff --git a/samples/videoplayer/src/main/kotlin/DecoderWorker.kt b/samples/videoplayer/src/main/kotlin/DecoderWorker.kt index 249001d2d1e..46b90cc8441 100644 --- a/samples/videoplayer/src/main/kotlin/DecoderWorker.kt +++ b/samples/videoplayer/src/main/kotlin/DecoderWorker.kt @@ -190,8 +190,8 @@ private class AudioDecoder( disposable(create = ::av_frame_alloc, dispose = ::av_frame_unref).pointed private val resampledAudioFrame: AVFrame = disposable(create = ::av_frame_alloc, dispose = ::av_frame_unref).pointed - private val resampleContext: CPointer = - disposable(create = ::avresample_alloc_context, dispose = ::avresample_free2) + private val resampleContext: CPointer = + disposable(create = ::swr_alloc, dispose = ::swr_free2) private val audioQueue = Queue(100) @@ -214,7 +214,7 @@ private class AudioDecoder( setResampleOpt("in_sample_fmt", sample_fmt) setResampleOpt("out_sample_fmt", output.sampleFormat) } - avresample_open(resampleContext) + swr_init(resampleContext) } private fun setResampleOpt(name: String, value: Int) = @@ -248,7 +248,7 @@ private class AudioDecoder( val size = avcodec_decode_audio4(audioCodecContext.ptr, audioFrame.ptr, frameFinished.ptr, packet.ptr) if (frameFinished.value != 0) { // Put audio frame to decoder's queue. - avresample_convert_frame(resampleContext, resampledAudioFrame.ptr, audioFrame.ptr).checkAVError() + swr_convert_frame(resampleContext, resampledAudioFrame.ptr, audioFrame.ptr).checkAVError() with (resampledAudioFrame) { val audioFrameSize = av_samples_get_buffer_size(null, channels, nb_samples, format, 1) val buffer = av_buffer_alloc(audioFrameSize)!!