winlin

drop the metadata when drop sequence header

@@ -1450,6 +1450,12 @@ int SrsSource::on_meta_data(SrsCommonMessage* msg, SrsOnMetaDataPacket* metadata @@ -1450,6 +1450,12 @@ int SrsSource::on_meta_data(SrsCommonMessage* msg, SrsOnMetaDataPacket* metadata
1450 return ret; 1450 return ret;
1451 } 1451 }
1452 1452
  1453 + // when already got metadata, drop when reduce sequence header.
  1454 + bool drop_for_reduce = false;
  1455 + if (cache_metadata && _srs_config->get_reduce_sequence_header(_req->vhost)) {
  1456 + drop_for_reduce = true;
  1457 + }
  1458 +
1453 // create a shared ptr message. 1459 // create a shared ptr message.
1454 srs_freep(cache_metadata); 1460 srs_freep(cache_metadata);
1455 cache_metadata = new SrsSharedPtrMessage(); 1461 cache_metadata = new SrsSharedPtrMessage();
@@ -1463,10 +1469,6 @@ int SrsSource::on_meta_data(SrsCommonMessage* msg, SrsOnMetaDataPacket* metadata @@ -1463,10 +1469,6 @@ int SrsSource::on_meta_data(SrsCommonMessage* msg, SrsOnMetaDataPacket* metadata
1463 srs_verbose("initialize shared ptr metadata success."); 1469 srs_verbose("initialize shared ptr metadata success.");
1464 1470
1465 // copy to all consumer 1471 // copy to all consumer
1466 - bool drop_for_reduce = false;  
1467 - if (cache_metadata && _srs_config->get_reduce_sequence_header(_req->vhost)) {  
1468 - drop_for_reduce = true;  
1469 - }  
1470 if (!drop_for_reduce) { 1472 if (!drop_for_reduce) {
1471 std::vector<SrsConsumer*>::iterator it; 1473 std::vector<SrsConsumer*>::iterator it;
1472 for (it = consumers.begin(); it != consumers.end(); ++it) { 1474 for (it = consumers.begin(); it != consumers.end(); ++it) {