diff options
Diffstat (limited to 'extern/audaspace')
-rw-r--r-- | extern/audaspace/plugins/ffmpeg/FFMPEGReader.cpp | 2 | ||||
-rw-r--r-- | extern/audaspace/plugins/ffmpeg/FFMPEGWriter.cpp | 39 |
2 files changed, 21 insertions, 20 deletions
diff --git a/extern/audaspace/plugins/ffmpeg/FFMPEGReader.cpp b/extern/audaspace/plugins/ffmpeg/FFMPEGReader.cpp index de3ca099696..69bb45119a6 100644 --- a/extern/audaspace/plugins/ffmpeg/FFMPEGReader.cpp +++ b/extern/audaspace/plugins/ffmpeg/FFMPEGReader.cpp @@ -177,7 +177,7 @@ void FFMPEGReader::init(int stream) // get a decoder and open it #ifndef FFMPEG_OLD_CODE - AVCodec* aCodec = avcodec_find_decoder(m_formatCtx->streams[m_stream]->codecpar->codec_id); + const AVCodec* aCodec = avcodec_find_decoder(m_formatCtx->streams[m_stream]->codecpar->codec_id); if(!aCodec) AUD_THROW(FileException, "File couldn't be read, no decoder found with ffmpeg."); diff --git a/extern/audaspace/plugins/ffmpeg/FFMPEGWriter.cpp b/extern/audaspace/plugins/ffmpeg/FFMPEGWriter.cpp index 10517d1d596..32eb2330594 100644 --- a/extern/audaspace/plugins/ffmpeg/FFMPEGWriter.cpp +++ b/extern/audaspace/plugins/ffmpeg/FFMPEGWriter.cpp @@ -23,6 +23,7 @@ extern "C" { #include <libavcodec/avcodec.h> #include <libavformat/avio.h> +#include <libavutil/channel_layout.h> } AUD_NAMESPACE_BEGIN @@ -171,66 +172,66 @@ FFMPEGWriter::FFMPEGWriter(std::string filename, DeviceSpecs specs, Container fo if(avformat_alloc_output_context2(&m_formatCtx, nullptr, formats[format], filename.c_str()) < 0) AUD_THROW(FileException, "File couldn't be written, format couldn't be found with ffmpeg."); - AVOutputFormat* outputFmt = m_formatCtx->oformat; + const AVOutputFormat* outputFmt = m_formatCtx->oformat; if(!outputFmt) { avformat_free_context(m_formatCtx); AUD_THROW(FileException, "File couldn't be written, output format couldn't be found with ffmpeg."); } - outputFmt->audio_codec = AV_CODEC_ID_NONE; + AVCodecID audio_codec = AV_CODEC_ID_NONE; switch(codec) { case CODEC_AAC: - outputFmt->audio_codec = AV_CODEC_ID_AAC; + audio_codec = AV_CODEC_ID_AAC; break; case CODEC_AC3: - outputFmt->audio_codec = AV_CODEC_ID_AC3; + audio_codec = AV_CODEC_ID_AC3; break; case CODEC_FLAC: - outputFmt->audio_codec = AV_CODEC_ID_FLAC; + audio_codec = AV_CODEC_ID_FLAC; break; case CODEC_MP2: - outputFmt->audio_codec = AV_CODEC_ID_MP2; + audio_codec = AV_CODEC_ID_MP2; break; case CODEC_MP3: - outputFmt->audio_codec = AV_CODEC_ID_MP3; + audio_codec = AV_CODEC_ID_MP3; break; case CODEC_OPUS: - outputFmt->audio_codec = AV_CODEC_ID_OPUS; + audio_codec = AV_CODEC_ID_OPUS; break; case CODEC_PCM: switch(specs.format) { case FORMAT_U8: - outputFmt->audio_codec = AV_CODEC_ID_PCM_U8; + audio_codec = AV_CODEC_ID_PCM_U8; break; case FORMAT_S16: - outputFmt->audio_codec = AV_CODEC_ID_PCM_S16LE; + audio_codec = AV_CODEC_ID_PCM_S16LE; break; case FORMAT_S24: - outputFmt->audio_codec = AV_CODEC_ID_PCM_S24LE; + audio_codec = AV_CODEC_ID_PCM_S24LE; break; case FORMAT_S32: - outputFmt->audio_codec = AV_CODEC_ID_PCM_S32LE; + audio_codec = AV_CODEC_ID_PCM_S32LE; break; case FORMAT_FLOAT32: - outputFmt->audio_codec = AV_CODEC_ID_PCM_F32LE; + audio_codec = AV_CODEC_ID_PCM_F32LE; break; case FORMAT_FLOAT64: - outputFmt->audio_codec = AV_CODEC_ID_PCM_F64LE; + audio_codec = AV_CODEC_ID_PCM_F64LE; break; default: - outputFmt->audio_codec = AV_CODEC_ID_NONE; + audio_codec = AV_CODEC_ID_NONE; break; } break; case CODEC_VORBIS: - outputFmt->audio_codec = AV_CODEC_ID_VORBIS; + audio_codec = AV_CODEC_ID_VORBIS; break; default: - outputFmt->audio_codec = AV_CODEC_ID_NONE; + audio_codec = AV_CODEC_ID_NONE; break; } @@ -268,10 +269,10 @@ FFMPEGWriter::FFMPEGWriter(std::string filename, DeviceSpecs specs, Container fo try { - if(outputFmt->audio_codec == AV_CODEC_ID_NONE) + if(audio_codec == AV_CODEC_ID_NONE) AUD_THROW(FileException, "File couldn't be written, audio codec not found with ffmpeg."); - AVCodec* codec = avcodec_find_encoder(outputFmt->audio_codec); + const AVCodec* codec = avcodec_find_encoder(audio_codec); if(!codec) AUD_THROW(FileException, "File couldn't be written, audio encoder couldn't be found with ffmpeg."); |