| /* |
| * DecoderTop.cpp |
| * |
| * Copyright 2021 HIMSA II K/S - www.himsa.com. Represented by EHIMA - |
| * www.ehima.com |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #include "DecoderTop.hpp" |
| |
| namespace Lc3Dec { |
| |
| DecoderTop::DecoderTop(uint16_t fs_, DatapointContainer* datapoints_) |
| : DecoderTop(Lc3Config(fs_, Lc3Config::FrameDuration::d10ms, 1), |
| datapoints_) {} |
| |
| DecoderTop::DecoderTop(Lc3Config lc3Config_, DatapointContainer* datapoints_) |
| : lc3Config(lc3Config_), |
| datapoints(datapoints_), |
| decoderCurrentFrame(nullptr), |
| decoderPreviousFrame(nullptr), |
| residualSpectrum(lc3Config_.NE), |
| spectralNoiseShaping(lc3Config), |
| packetLossConcealment(lc3Config_.NE), |
| mdctDec(lc3Config) { |
| if (nullptr != datapoints) { |
| residualSpectrum.registerDatapoints(datapoints); |
| spectralNoiseShaping.registerDatapoints(datapoints); |
| packetLossConcealment.registerDatapoints(datapoints); |
| mdctDec.registerDatapoints(datapoints); |
| } |
| } |
| |
| DecoderTop::~DecoderTop() { |
| if (nullptr != decoderPreviousFrame) { |
| delete decoderPreviousFrame; |
| } |
| if (nullptr != decoderCurrentFrame) { |
| delete decoderCurrentFrame; |
| } |
| } |
| |
| } // namespace Lc3Dec |