MCPcopy Create free account
hub / github.com/anyrtcIO-Community/anyRTC-RTMP-OpenSource / Encode

Method Encode

AnyCore/avcodec.cc:115–137  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

113 }
114}
115int A_AACEncoder::Encode(const void* audioSamples, const size_t nSamples, const size_t nBytesPerSample,
116 const size_t nChannels, const uint32_t samplesPerSec, const uint32_t totalDelayMS)
117{
118 int status = 0;
119 if(encoder_)
120 {
121 unsigned int outlen = 0;
122 uint32_t curtime = rtc::Time();
123 uint8_t encoded[1024];
124 if(muted_)
125 {// mute audio
126 memset((uint8_t*)audioSamples, 0, nSamples*nBytesPerSample*nChannels);
127 }
128 status = aac_encoder_encode_frame(encoder_, (uint8_t*)audioSamples, nSamples*nBytesPerSample*nChannels, encoded, &outlen);
129 if(outlen > 0)
130 {
131 //ALOGE("Encode aac len:%d", outlen);
132 callback_.OnEncodeDataCallback(true, encoded, outlen, curtime);
133 }
134 }
135
136 return status;
137}
138
139void A_AACEncoder::OnData(const Data& audio)
140{

Callers 1

RunMethod · 0.45

Calls 3

TimeFunction · 0.85
aac_encoder_encode_frameFunction · 0.85
OnEncodeDataCallbackMethod · 0.80

Tested by

no test coverage detected