49 lines · 1.3 KB · C
RawDownload
////  MixedProcessedAudioStream.h//  libraries/audio/src////  Created by Yixin Wang on 8/4/14.//  Copyright 2013 High Fidelity, Inc.////  Distributed under the Apache License, Version 2.0.//  See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html// #ifndef hifi_MixedProcessedAudioStream_h#define hifi_MixedProcessedAudioStream_h #include "InboundAudioStream.h" class AudioClient; class MixedProcessedAudioStream  : public InboundAudioStream {    Q_OBJECTpublic:    MixedProcessedAudioStream(int numFramesCapacity, int numStaticJitterFrames = -1); signals:     void addedSilence(int silentSamplesPerChannel);    void addedLastFrameRepeatedWithFade(int samplesPerChannel);    void addedStereoSamples(const QByteArray& samples);     void processSamples(const QByteArray& inputBuffer, QByteArray& outputBuffer); public:    void outputFormatChanged(int sampleRate, int channelCount); protected:    int writeDroppableSilentFrames(int silentFrames) override;    int parseAudioData(const QByteArray& packetAfterStreamProperties) override;    int lostAudioData(int numPackets) override; private:    int networkToDeviceFrames(int networkFrames);    int deviceToNetworkFrames(int deviceFrames); private:    quint64 _outputSampleRate;    quint64 _outputChannelCount;}; #endif // hifi_MixedProcessedAudioStream_h