@@ -46,14 +46,6 @@ ISrsSrtTarget::~ISrsSrtTarget()
4646{
4747}
4848
49- ISrsRtcBridge::ISrsRtcBridge ()
50- {
51- }
52-
53- ISrsRtcBridge::~ISrsRtcBridge ()
54- {
55- }
56-
5749ISrsRtmpBridge::ISrsRtmpBridge ()
5850{
5951}
@@ -345,6 +337,14 @@ srs_error_t SrsSrtBridge::on_frame(SrsMediaPacket *frame)
345337 return err;
346338}
347339
340+ ISrsRtcBridge::ISrsRtcBridge ()
341+ {
342+ }
343+
344+ ISrsRtcBridge::~ISrsRtcBridge ()
345+ {
346+ }
347+
348348SrsRtcBridge::SrsRtcBridge ()
349349{
350350 req_ = NULL ;
@@ -448,240 +448,3 @@ srs_error_t SrsRtcBridge::on_rtp(SrsRtpPacket *pkt)
448448
449449 return err;
450450}
451-
452- ISrsStreamBridge::ISrsStreamBridge ()
453- {
454- }
455-
456- ISrsStreamBridge::~ISrsStreamBridge ()
457- {
458- }
459-
460- SrsFrameToRtmpBridge::SrsFrameToRtmpBridge (SrsSharedPtr<SrsLiveSource> source)
461- {
462- source_ = source;
463- }
464-
465- SrsFrameToRtmpBridge::~SrsFrameToRtmpBridge ()
466- {
467- }
468-
469- srs_error_t SrsFrameToRtmpBridge::initialize (ISrsRequest *r)
470- {
471- return srs_success;
472- }
473-
474- srs_error_t SrsFrameToRtmpBridge::on_publish ()
475- {
476- srs_error_t err = srs_success;
477-
478- // TODO: FIXME: Should sync with bridge?
479- if ((err = source_->on_publish ()) != srs_success) {
480- return srs_error_wrap (err, " source publish" );
481- }
482-
483- return err;
484- }
485-
486- void SrsFrameToRtmpBridge::on_unpublish ()
487- {
488- // TODO: FIXME: Should sync with bridge?
489- source_->on_unpublish ();
490- }
491-
492- srs_error_t SrsFrameToRtmpBridge::on_frame (SrsMediaPacket *frame)
493- {
494- return source_->on_frame (frame);
495- }
496-
497- SrsFrameToRtcBridge::SrsFrameToRtcBridge (SrsSharedPtr<SrsRtcSource> source)
498- {
499- source_ = source;
500-
501- #if defined(SRS_FFMPEG_FIT)
502- // Use lazy initialization - no need to determine codec/track parameters here
503- rtp_builder_ = new SrsRtcRtpBuilder (this , source);
504- #endif
505- }
506-
507- SrsFrameToRtcBridge::~SrsFrameToRtcBridge ()
508- {
509- #ifdef SRS_FFMPEG_FIT
510- srs_freep (rtp_builder_);
511- #endif
512- }
513-
514- srs_error_t SrsFrameToRtcBridge::initialize (ISrsRequest *r)
515- {
516- #ifdef SRS_FFMPEG_FIT
517- return rtp_builder_->initialize (r);
518- #else
519- return srs_success;
520- #endif
521- }
522-
523- srs_error_t SrsFrameToRtcBridge::on_publish ()
524- {
525- srs_error_t err = srs_success;
526-
527- // TODO: FIXME: Should sync with bridge?
528- if ((err = source_->on_publish ()) != srs_success) {
529- return srs_error_wrap (err, " source publish" );
530- }
531-
532- #ifdef SRS_FFMPEG_FIT
533- if ((err = rtp_builder_->on_publish ()) != srs_success) {
534- return srs_error_wrap (err, " rtp builder publish" );
535- }
536- #endif
537-
538- return err;
539- }
540-
541- void SrsFrameToRtcBridge::on_unpublish ()
542- {
543- #ifdef SRS_FFMPEG_FIT
544- rtp_builder_->on_unpublish ();
545- #endif
546-
547- // @remark This bridge might be disposed here, so never use it.
548- // TODO: FIXME: Should sync with bridge?
549- source_->on_unpublish ();
550- }
551-
552- srs_error_t SrsFrameToRtcBridge::on_frame (SrsMediaPacket *frame)
553- {
554- #ifdef SRS_FFMPEG_FIT
555- return rtp_builder_->on_frame (frame);
556- #else
557- return srs_success;
558- #endif
559- }
560-
561- srs_error_t SrsFrameToRtcBridge::on_rtp (SrsRtpPacket *pkt)
562- {
563- return source_->on_rtp (pkt);
564- }
565-
566- #ifdef SRS_RTSP
567- SrsFrameToRtspBridge::SrsFrameToRtspBridge (SrsSharedPtr<SrsRtspSource> source)
568- {
569- source_ = source;
570-
571- // Use lazy initialization - no need to determine codec/track parameters here
572- rtp_builder_ = new SrsRtspRtpBuilder (this , source);
573- }
574-
575- SrsFrameToRtspBridge::~SrsFrameToRtspBridge ()
576- {
577- srs_freep (rtp_builder_);
578- }
579-
580- srs_error_t SrsFrameToRtspBridge::initialize (ISrsRequest *r)
581- {
582- return rtp_builder_->initialize (r);
583- }
584-
585- srs_error_t SrsFrameToRtspBridge::on_publish ()
586- {
587- srs_error_t err = srs_success;
588-
589- // TODO: FIXME: Should sync with bridge?
590- if ((err = source_->on_publish ()) != srs_success) {
591- return srs_error_wrap (err, " source publish" );
592- }
593-
594- if ((err = rtp_builder_->on_publish ()) != srs_success) {
595- return srs_error_wrap (err, " rtp builder publish" );
596- }
597-
598- return err;
599- }
600-
601- void SrsFrameToRtspBridge::on_unpublish ()
602- {
603- rtp_builder_->on_unpublish ();
604-
605- // @remark This bridge might be disposed here, so never use it.
606- // TODO: FIXME: Should sync with bridge?
607- source_->on_unpublish ();
608- }
609-
610- srs_error_t SrsFrameToRtspBridge::on_frame (SrsMediaPacket *frame)
611- {
612- return rtp_builder_->on_frame (frame);
613- }
614-
615- srs_error_t SrsFrameToRtspBridge::on_rtp (SrsRtpPacket *pkt)
616- {
617- return source_->on_rtp (pkt);
618- }
619- #endif
620-
621- SrsCompositeBridge::SrsCompositeBridge ()
622- {
623- }
624-
625- SrsCompositeBridge::~SrsCompositeBridge ()
626- {
627- for (vector<ISrsStreamBridge *>::iterator it = bridges_.begin (); it != bridges_.end (); ++it) {
628- ISrsStreamBridge *bridge = *it;
629- srs_freep (bridge);
630- }
631- }
632-
633- srs_error_t SrsCompositeBridge::initialize (ISrsRequest *r)
634- {
635- srs_error_t err = srs_success;
636-
637- for (vector<ISrsStreamBridge *>::iterator it = bridges_.begin (); it != bridges_.end (); ++it) {
638- ISrsStreamBridge *bridge = *it;
639- if ((err = bridge->initialize (r)) != srs_success) {
640- return err;
641- }
642- }
643-
644- return err;
645- }
646-
647- srs_error_t SrsCompositeBridge::on_publish ()
648- {
649- srs_error_t err = srs_success;
650-
651- for (vector<ISrsStreamBridge *>::iterator it = bridges_.begin (); it != bridges_.end (); ++it) {
652- ISrsStreamBridge *bridge = *it;
653- if ((err = bridge->on_publish ()) != srs_success) {
654- return err;
655- }
656- }
657-
658- return err;
659- }
660-
661- void SrsCompositeBridge::on_unpublish ()
662- {
663- for (vector<ISrsStreamBridge *>::iterator it = bridges_.begin (); it != bridges_.end (); ++it) {
664- ISrsStreamBridge *bridge = *it;
665- bridge->on_unpublish ();
666- }
667- }
668-
669- srs_error_t SrsCompositeBridge::on_frame (SrsMediaPacket *frame)
670- {
671- srs_error_t err = srs_success;
672-
673- for (vector<ISrsStreamBridge *>::iterator it = bridges_.begin (); it != bridges_.end (); ++it) {
674- ISrsStreamBridge *bridge = *it;
675- if ((err = bridge->on_frame (frame)) != srs_success) {
676- return err;
677- }
678- }
679-
680- return err;
681- }
682-
683- SrsCompositeBridge *SrsCompositeBridge::append (ISrsStreamBridge *bridge)
684- {
685- bridges_.push_back (bridge);
686- return this ;
687- }
0 commit comments