winlin

merge from feilong, fix memory leak.

@@ -639,8 +639,7 @@ int SrsGopCache::dump(SrsConsumer* consumer, bool atc, int tba, int tbv, SrsRtmp @@ -639,8 +639,7 @@ int SrsGopCache::dump(SrsConsumer* consumer, bool atc, int tba, int tbv, SrsRtmp
639 std::vector<SrsSharedPtrMessage*>::iterator it; 639 std::vector<SrsSharedPtrMessage*>::iterator it;
640 for (it = gop_cache.begin(); it != gop_cache.end(); ++it) { 640 for (it = gop_cache.begin(); it != gop_cache.end(); ++it) {
641 SrsSharedPtrMessage* msg = *it; 641 SrsSharedPtrMessage* msg = *it;
642 - SrsSharedPtrMessage* copy = msg->copy();  
643 - if ((ret = consumer->enqueue(copy, atc, tba, tbv, jitter_algorithm)) != ERROR_SUCCESS) { 642 + if ((ret = consumer->enqueue(msg, atc, tba, tbv, jitter_algorithm)) != ERROR_SUCCESS) {
644 srs_error("dispatch cached gop failed. ret=%d", ret); 643 srs_error("dispatch cached gop failed. ret=%d", ret);
645 return ret; 644 return ret;
646 } 645 }