- fixes
This commit is contained in:
parent
f94960ebbb
commit
5b3c57b750
|
|
@ -33,7 +33,7 @@ WaveFormatEx;
|
|||
|
||||
#define LOG_SUBSYSTEM "WavFileReader"
|
||||
|
||||
#define LOCK std::unique_lock<std::mutex> lock(mFileMtx);
|
||||
#define LOCK std::unique_lock<std::recursive_mutex> lock(mFileMtx);
|
||||
|
||||
using namespace Audio;
|
||||
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ namespace Audio
|
|||
short mBits;
|
||||
int mRate;
|
||||
std::tstring mFileName;
|
||||
mutable std::mutex mFileMtx;
|
||||
mutable std::recursive_mutex mFileMtx;
|
||||
unsigned mDataOffset;
|
||||
unsigned mDataLength;
|
||||
Resampler mResampler;
|
||||
|
|
@ -57,12 +57,13 @@ namespace Audio
|
|||
class WavFileWriter
|
||||
{
|
||||
protected:
|
||||
FILE* mHandle; /// Handle of audio file.
|
||||
std::tstring mFileName; /// Path to requested audio file.
|
||||
std::mutex mFileMtx; /// Mutex to protect this instance.
|
||||
int mWritten; /// Amount of written data (in bytes)
|
||||
int mLengthOffset; /// Position of length field.
|
||||
int mRate, mChannels;
|
||||
FILE* mHandle; /// Handle of audio file.
|
||||
std::tstring mFileName; /// Path to requested audio file.
|
||||
std::recursive_mutex mFileMtx; /// Mutex to protect this instance.
|
||||
int mWritten; /// Amount of written data (in bytes)
|
||||
int mLengthOffset; /// Position of length field.
|
||||
int mRate,
|
||||
mChannels;
|
||||
|
||||
void checkWriteResult(int result);
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -13,7 +13,7 @@
|
|||
using namespace MT;
|
||||
|
||||
SingleAudioStream::SingleAudioStream(const CodecList::Settings& codecSettings, Statistics& stat)
|
||||
:mReceiver(codecSettings, stat), mDtmfReceiver(stat)
|
||||
:mReceiver(codecSettings, stat), mDtmfReceiver(stat)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
@ -23,20 +23,20 @@ SingleAudioStream::~SingleAudioStream()
|
|||
|
||||
void SingleAudioStream::process(std::shared_ptr<jrtplib::RTPPacket> packet)
|
||||
{
|
||||
ICELogMedia(<< "Processing incoming RTP/RTCP packet");
|
||||
if (packet->GetPayloadType() == 101/*resip::Codec::TelephoneEvent.payloadType()*/)
|
||||
mDtmfReceiver.add(packet);
|
||||
else
|
||||
mReceiver.add(packet);
|
||||
ICELogMedia(<< "Processing incoming RTP/RTCP packet");
|
||||
if (packet->GetPayloadType() == 101/*resip::Codec::TelephoneEvent.payloadType()*/)
|
||||
mDtmfReceiver.add(packet);
|
||||
else
|
||||
mReceiver.add(packet);
|
||||
}
|
||||
|
||||
void SingleAudioStream::copyPcmTo(Audio::DataWindow& output, int needed)
|
||||
{
|
||||
while (output.filled() < needed)
|
||||
if (!mReceiver.getAudio(output))
|
||||
break;
|
||||
while (output.filled() < needed)
|
||||
if (!mReceiver.getAudio(output))
|
||||
break;
|
||||
|
||||
if (output.filled() < needed)
|
||||
ICELogError(<< "Not enough data for speaker's mixer");
|
||||
if (output.filled() < needed)
|
||||
ICELogError(<< "Not enough data for speaker's mixer");
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue