void MediaStream::initializePipeline() { pipeline_->addService(shared_from_this()); pipeline_->addService(rtcp_processor_); pipeline_->addService(stats_); pipeline_->addService(quality_manager_); pipeline_->addService(packet_buffer_); pipeline_->addFront(PacketReader(this)); pipeline_->addFront(LayerDetectorHandler()); pipeline_->addFront(RtcpProcessorHandler()); pipeline_->addFront(FecReceiverHandler()); pipeline_->addFront(LayerBitrateCalculationHandler()); pipeline_->addFront(QualityFilterHandler()); pipeline_->addFront(IncomingStatsHandler()); pipeline_->addFront(RtpTrackMuteHandler()); pipeline_->addFront(RtpSlideShowHandler()); pipeline_->addFront(RtpPaddingGeneratorHandler()); pipeline_->addFront(PliPacerHandler()); pipeline_->addFront(BandwidthEstimationHandler()); pipeline_->addFront(RtpPaddingRemovalHandler()); pipeline_->addFront(RtcpFeedbackGenerationHandler()); pipeline_->addFront(RtpRetransmissionHandler()); pipeline_->addFront(SRPacketHandler()); pipeline_->addFront(SenderBandwidthEstimationHandler()); pipeline_->addFront(OutgoingStatsHandler()); pipeline_->addFront(PacketWriter(this)); pipeline_->finalize(); pipeline_initialized_ = true; }
void PipeNode::connectDone() { if(activate()) { listener_(pcConnected, PacketReader()); Connection::start(); } }