From de48b477ae5ad3b1697df1ed2cc5bdfc0a703cc1 Mon Sep 17 00:00:00 2001 From: winlin Date: Wed, 19 Aug 2015 14:23:12 +0800 Subject: [PATCH] drop the metadata when drop sequence header --- trunk/src/app/srs_app_source.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/trunk/src/app/srs_app_source.cpp b/trunk/src/app/srs_app_source.cpp index e8063b85e..0acec6134 100755 --- a/trunk/src/app/srs_app_source.cpp +++ b/trunk/src/app/srs_app_source.cpp @@ -1450,6 +1450,12 @@ int SrsSource::on_meta_data(SrsCommonMessage* msg, SrsOnMetaDataPacket* metadata return ret; } + // when already got metadata, drop when reduce sequence header. + bool drop_for_reduce = false; + if (cache_metadata && _srs_config->get_reduce_sequence_header(_req->vhost)) { + drop_for_reduce = true; + } + // create a shared ptr message. srs_freep(cache_metadata); cache_metadata = new SrsSharedPtrMessage(); @@ -1463,10 +1469,6 @@ int SrsSource::on_meta_data(SrsCommonMessage* msg, SrsOnMetaDataPacket* metadata srs_verbose("initialize shared ptr metadata success."); // copy to all consumer - bool drop_for_reduce = false; - if (cache_metadata && _srs_config->get_reduce_sequence_header(_req->vhost)) { - drop_for_reduce = true; - } if (!drop_for_reduce) { std::vector::iterator it; for (it = consumers.begin(); it != consumers.end(); ++it) {