mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
for ExoPlayer, remove duration for live.
This commit is contained in:
parent
50a7b9c1ff
commit
ef00005ab4
4 changed files with 34 additions and 0 deletions
|
@ -336,6 +336,7 @@ Remark:
|
||||||
|
|
||||||
## History
|
## History
|
||||||
|
|
||||||
|
* v2.0, 2015-10-28, for [ExoPlayer #828][exo #828], remove duration for live.
|
||||||
* v2.0, 2015-10-28, for [ExoPlayer #828][exo #828], add av tag in flv header. 2.0.197
|
* v2.0, 2015-10-28, for [ExoPlayer #828][exo #828], add av tag in flv header. 2.0.197
|
||||||
* v2.0, 2015-10-27, for [#512][bug #512] partical hotfix the hls pure audio. 2.0.196
|
* v2.0, 2015-10-27, for [#512][bug #512] partical hotfix the hls pure audio. 2.0.196
|
||||||
* <strong>v2.0, 2015-10-08, [2.0 alpha2(2.0.195)][r2.0a2] released. 89358 lines.</strong>
|
* <strong>v2.0, 2015-10-08, [2.0 alpha2(2.0.195)][r2.0a2] released. 89358 lines.</strong>
|
||||||
|
|
|
@ -1400,6 +1400,11 @@ int SrsSource::on_meta_data(SrsCommonMessage* msg, SrsOnMetaDataPacket* metadata
|
||||||
|
|
||||||
SrsAmf0Any* prop = NULL;
|
SrsAmf0Any* prop = NULL;
|
||||||
|
|
||||||
|
// when exists the duration, remove it to make ExoPlayer happy.
|
||||||
|
if (metadata->metadata->get_property("duration") != NULL) {
|
||||||
|
metadata->metadata->remove("duration");
|
||||||
|
}
|
||||||
|
|
||||||
// generate metadata info to print
|
// generate metadata info to print
|
||||||
std::stringstream ss;
|
std::stringstream ss;
|
||||||
if ((prop = metadata->metadata->ensure_property_number("width")) != NULL) {
|
if ((prop = metadata->metadata->ensure_property_number("width")) != NULL) {
|
||||||
|
|
|
@ -513,6 +513,24 @@ SrsAmf0Any* SrsUnSortedHashtable::ensure_property_number(string name)
|
||||||
return prop;
|
return prop;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SrsUnSortedHashtable::remove(string name)
|
||||||
|
{
|
||||||
|
std::vector<SrsAmf0ObjectPropertyType>::iterator it;
|
||||||
|
|
||||||
|
for (it = properties.begin(); it != properties.end();) {
|
||||||
|
std::string key = it->first;
|
||||||
|
SrsAmf0Any* any = it->second;
|
||||||
|
|
||||||
|
if (key == name) {
|
||||||
|
srs_freep(any);
|
||||||
|
|
||||||
|
it = properties.erase(it);
|
||||||
|
} else {
|
||||||
|
++it;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void SrsUnSortedHashtable::copy(SrsUnSortedHashtable* src)
|
void SrsUnSortedHashtable::copy(SrsUnSortedHashtable* src)
|
||||||
{
|
{
|
||||||
std::vector<SrsAmf0ObjectPropertyType>::iterator it;
|
std::vector<SrsAmf0ObjectPropertyType>::iterator it;
|
||||||
|
@ -787,6 +805,11 @@ SrsAmf0Any* SrsAmf0Object::ensure_property_number(string name)
|
||||||
return properties->ensure_property_number(name);
|
return properties->ensure_property_number(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SrsAmf0Object::remove(string name)
|
||||||
|
{
|
||||||
|
properties->remove(name);
|
||||||
|
}
|
||||||
|
|
||||||
SrsAmf0EcmaArray::SrsAmf0EcmaArray()
|
SrsAmf0EcmaArray::SrsAmf0EcmaArray()
|
||||||
{
|
{
|
||||||
_count = 0;
|
_count = 0;
|
||||||
|
|
|
@ -405,6 +405,10 @@ public:
|
||||||
* @remark user should never free the returned value, copy it if needed.
|
* @remark user should never free the returned value, copy it if needed.
|
||||||
*/
|
*/
|
||||||
virtual SrsAmf0Any* ensure_property_number(std::string name);
|
virtual SrsAmf0Any* ensure_property_number(std::string name);
|
||||||
|
/**
|
||||||
|
* remove the property specified by name.
|
||||||
|
*/
|
||||||
|
virtual void remove(std::string name);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -803,6 +807,7 @@ namespace _srs_internal
|
||||||
virtual SrsAmf0Any* get_property(std::string name);
|
virtual SrsAmf0Any* get_property(std::string name);
|
||||||
virtual SrsAmf0Any* ensure_property_string(std::string name);
|
virtual SrsAmf0Any* ensure_property_string(std::string name);
|
||||||
virtual SrsAmf0Any* ensure_property_number(std::string name);
|
virtual SrsAmf0Any* ensure_property_number(std::string name);
|
||||||
|
virtual void remove(std::string name);
|
||||||
public:
|
public:
|
||||||
virtual void copy(SrsUnSortedHashtable* src);
|
virtual void copy(SrsUnSortedHashtable* src);
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue