winlin

rename base message to ISrsMessage

@@ -63,6 +63,12 @@ SrsSource::SrsSource(std::string _stream_url) @@ -63,6 +63,12 @@ SrsSource::SrsSource(std::string _stream_url)
63 63
64 SrsSource::~SrsSource() 64 SrsSource::~SrsSource()
65 { 65 {
  66 + std::vector<SrsConsumer*>::iterator it;
  67 + for (it = consumers.begin(); it != consumers.end(); ++it) {
  68 + SrsConsumer* consumer = *it;
  69 + srs_freep(consumer);
  70 + }
  71 + consumers.clear();
66 } 72 }
67 73
68 int SrsSource::on_meta_data(SrsCommonMessage* msg, SrsOnMetaDataPacket* metadata) 74 int SrsSource::on_meta_data(SrsCommonMessage* msg, SrsOnMetaDataPacket* metadata)
@@ -90,6 +96,7 @@ int SrsSource::on_video(SrsCommonMessage* audio) @@ -90,6 +96,7 @@ int SrsSource::on_video(SrsCommonMessage* audio)
90 SrsConsumer* SrsSource::create_consumer() 96 SrsConsumer* SrsSource::create_consumer()
91 { 97 {
92 SrsConsumer* consumer = new SrsConsumer(); 98 SrsConsumer* consumer = new SrsConsumer();
  99 + consumers.push_back(consumer);
93 return consumer; 100 return consumer;
94 } 101 }
95 102
@@ -71,6 +71,7 @@ public: @@ -71,6 +71,7 @@ public:
71 static SrsSource* find(std::string stream_url); 71 static SrsSource* find(std::string stream_url);
72 private: 72 private:
73 std::string stream_url; 73 std::string stream_url;
  74 + std::vector<SrsConsumer*> consumers;
74 public: 75 public:
75 SrsSource(std::string _stream_url); 76 SrsSource(std::string _stream_url);
76 virtual ~SrsSource(); 77 virtual ~SrsSource();