diff --git a/CUETools.Codecs.ffmpeg/AudioDecoder.cs b/CUETools.Codecs.ffmpeg/AudioDecoder.cs index a0991fc..0d95855 100644 --- a/CUETools.Codecs.ffmpeg/AudioDecoder.cs +++ b/CUETools.Codecs.ffmpeg/AudioDecoder.cs @@ -164,7 +164,7 @@ namespace CUETools.Codecs.ffmpegdll int channels = new_fmt_ctx->streams[audio_stream_index]->codecpar->channels; int sample_rate = new_fmt_ctx->streams[audio_stream_index]->codecpar->sample_rate; ulong channel_layout = new_fmt_ctx->streams[audio_stream_index]->codecpar->channel_layout; - pcm = new AudioPCMConfig(bps, channels, sample_rate, (AudioPCMConfig.SpeakerConfig)0); + pcm = new AudioPCMConfig(bps, channels, sample_rate, (AudioPCMConfig.SpeakerConfig)channel_layout); // ret = ffmpeg.av_read_frame(new_fmt_ctx, pkt); @@ -172,7 +172,7 @@ namespace CUETools.Codecs.ffmpegdll //m_stream.Seek(0, SeekOrigin.Begin); - codec = ffmpeg.avcodec_find_decoder(m_settings.Codec); + codec = ffmpeg.avcodec_find_decoder(fmt_ctx->streams[audio_stream_index]->codecpar->codec_id); if (codec == null) throw new Exception("Codec not found"); @@ -185,7 +185,7 @@ namespace CUETools.Codecs.ffmpegdll c->request_sample_fmt = AVSampleFormat.AV_SAMPLE_FMT_S32; /* open it */ - if (ffmpeg.avcodec_open2(c, codec, null) < 0) + if (ffmpeg.avcodec_open2(c, null, null) < 0) throw new Exception("Could not open codec"); m_decoded_frame_offset = 0; diff --git a/CUETools.Codecs.ffmpeg/DecoderSettings.cs b/CUETools.Codecs.ffmpeg/DecoderSettings.cs index 5c1bf5c..32e5c4b 100644 --- a/CUETools.Codecs.ffmpeg/DecoderSettings.cs +++ b/CUETools.Codecs.ffmpeg/DecoderSettings.cs @@ -30,8 +30,6 @@ namespace CUETools.Codecs.ffmpegdll } #endregion - public abstract AVCodecID Codec { get; } - public abstract string Format { get; } // [DisplayName("Version")] @@ -43,7 +41,6 @@ namespace CUETools.Codecs.ffmpegdll { public override string Extension => "mlp"; public override string Format => "mlp"; - public override AVCodecID Codec => AVCodecID.AV_CODEC_ID_MLP; public MLPDecoderSettings() { this.Init(); @@ -53,7 +50,6 @@ namespace CUETools.Codecs.ffmpegdll { public override string Extension => "flac"; public override string Format => "flac"; - public override AVCodecID Codec => AVCodecID.AV_CODEC_ID_FLAC; public FLACDecoderSettings() { this.Init(); @@ -63,7 +59,6 @@ namespace CUETools.Codecs.ffmpegdll { public override string Extension => "wv"; public override string Format => "wv"; - public override AVCodecID Codec => AVCodecID.AV_CODEC_ID_WAVPACK; public WavPackDecoderSettings() { this.Init(); @@ -73,7 +68,6 @@ namespace CUETools.Codecs.ffmpegdll { public override string Extension => "tta"; public override string Format => "tta"; - public override AVCodecID Codec => AVCodecID.AV_CODEC_ID_TTA; public TtaDecoderSettings() { this.Init(); @@ -83,7 +77,6 @@ namespace CUETools.Codecs.ffmpegdll { public override string Extension => "shn"; public override string Format => "shn"; - public override AVCodecID Codec => AVCodecID.AV_CODEC_ID_SHORTEN; public ShnDecoderSettings() { this.Init(); @@ -93,7 +86,6 @@ namespace CUETools.Codecs.ffmpegdll { public override string Extension => "m4a"; public override string Format => "m4a"; - public override AVCodecID Codec => AVCodecID.AV_CODEC_ID_ALAC; public AlacDecoderSettings() { this.Init(); @@ -103,7 +95,6 @@ namespace CUETools.Codecs.ffmpegdll { public override string Extension => "ape"; public override string Format => "ape"; - public override AVCodecID Codec => AVCodecID.AV_CODEC_ID_APE; public APEDecoderSettings() { this.Init();