Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
void ExternalOutput::initializePipeline() {
  stats_->getNode()["total"].insertStat("senderBitrateEstimation",
      CumulativeStat{static_cast<uint64_t>(kExternalOutputMaxBitrate)});

  handler_manager_ = std::make_shared<HandlerManager>(shared_from_this());
  pipeline_->addService(handler_manager_);
  pipeline_->addService(quality_manager_);
  pipeline_->addService(stats_);

  pipeline_->addFront(LayerBitrateCalculationHandler());
  pipeline_->addFront(QualityFilterHandler());

  pipeline_->addFront(ExternalOuputWriter(shared_from_this()));
  pipeline_->finalize();
  pipeline_initialized_ = true;
}