45 audioEncoder_.reset();
53 muxContext_.reset(
socketPair.createIOContext(mtu_));
57 JAMI_DBG(
"audioEncoder_->openOutput %s", dest_.c_str());
58 audioEncoder_->openOutput(dest_,
"rtp");
59 audioEncoder_->setOptions(args_);
60 auto codec = std::static_pointer_cast<SystemAudioCodecInfo>(args_.
codec);
61 auto ms =
MediaStream(
"audio sender", codec->audioformat);
62 audioEncoder_->setOptions(ms);
63 audioEncoder_->addStream(*args_.
codec);
64 audioEncoder_->setInitSeqVal(seqVal_);
65 audioEncoder_->setIOContext(muxContext_->getContext());
66 }
catch (
const MediaEncoderException&
e) {
71 audioEncoder_->print_sdp();
79 const std::shared_ptr<jami::MediaFrame>&
framePtr)
83 sent_samples +=
frame->nb_samples;
91 voiceCallback_(voice_);
93 JAMI_ERR(
"AudioSender no voice callback!");
97 if (audioEncoder_->encodeAudio(*std::static_pointer_cast<AudioFrame>(
framePtr)) < 0)
105 voiceCallback_ = std::move(
cb);
107 JAMI_ERR(
"AudioSender attempting to set invalid voice callback");
114 return audioEncoder_->getLastSeqValue();
125 return audioEncoder_->setPacketLoss(
pl);
AudioSender(const std::string &dest, const MediaDescription &args, SocketPair &socketPair, const uint16_t seqVal, const uint16_t mtu)
void setVoiceCallback(std::function< void(bool)> cb)
int setPacketLoss(uint64_t pl)
uint16_t getLastSeqValue()
void update(Observable< std::shared_ptr< jami::MediaFrame > > *, const std::shared_ptr< jami::MediaFrame > &) override
void emitSignal(Args... args)