예제 #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;
}
예제 #2
0
파일: PipeNode.cpp 프로젝트: spolitov/lib
void PipeNode::connectDone()
{
    if(activate())
    {
        listener_(pcConnected, PacketReader());
        Connection::start();
    }
}