Added support for underscores in streamname to HTTP/RTMP connectors.
This commit is contained in:
parent
0f905b612e
commit
b318e41e96
2 changed files with 6 additions and 7 deletions
|
@ -215,7 +215,7 @@ namespace Connector_HTTP{
|
||||||
}
|
}
|
||||||
streamname = "/tmp/shared_socket_";
|
streamname = "/tmp/shared_socket_";
|
||||||
for (std::string::iterator i=Movie.end()-1; i>=Movie.begin(); --i){
|
for (std::string::iterator i=Movie.end()-1; i>=Movie.begin(); --i){
|
||||||
if (!isalpha(*i) && !isdigit(*i)){
|
if (!isalpha(*i) && !isdigit(*i) && *i != '_'){
|
||||||
Movie.erase(i);
|
Movie.erase(i);
|
||||||
}else{
|
}else{
|
||||||
*i=tolower(*i);
|
*i=tolower(*i);
|
||||||
|
@ -228,11 +228,10 @@ namespace Connector_HTTP{
|
||||||
//in het geval progressive nemen we aan dat de URL de streamname is, met .flv erachter
|
//in het geval progressive nemen we aan dat de URL de streamname is, met .flv erachter
|
||||||
streamname = HTTP_R.url.substr(0, HTTP_R.url.size()-4);//strip de .flv
|
streamname = HTTP_R.url.substr(0, HTTP_R.url.size()-4);//strip de .flv
|
||||||
for (std::string::iterator i=streamname.end()-1; i>=streamname.begin(); --i){
|
for (std::string::iterator i=streamname.end()-1; i>=streamname.begin(); --i){
|
||||||
if (!isalpha(*i) && !isdigit(*i)){streamname.erase(i);}else{*i=tolower(*i);}//strip nonalphanumeric
|
if (!isalpha(*i) && !isdigit(*i) && *i != '_'){streamname.erase(i);}else{*i=tolower(*i);}//strip nonalphanumeric
|
||||||
}
|
}
|
||||||
streamname = "/tmp/shared_socket_" + streamname;//dit is dan onze shared_socket
|
streamname = "/tmp/shared_socket_" + streamname;//dit is dan onze shared_socket
|
||||||
//normaal zouden we ook een position uitlezen uit de URL, maar bij LIVE streams is dat zinloos
|
//normaal zouden we ook een position uitlezen uit de URL, maar bij LIVE streams is dat zinloos
|
||||||
printf("Streamname: %s\n", streamname.c_str());
|
|
||||||
ready4data = true;
|
ready4data = true;
|
||||||
}//PROGRESSIVE handler
|
}//PROGRESSIVE handler
|
||||||
HTTP_R.CleanForNext(); //maak schoon na verwerken voor eventuele volgende requests...
|
HTTP_R.CleanForNext(); //maak schoon na verwerken voor eventuele volgende requests...
|
||||||
|
|
|
@ -355,7 +355,7 @@ void Connector_RTMP::parseChunk(){
|
||||||
streamname = amfdata.getContentP(3)->StrValue();
|
streamname = amfdata.getContentP(3)->StrValue();
|
||||||
for (std::string::iterator i=streamname.begin(); i != streamname.end(); ++i){
|
for (std::string::iterator i=streamname.begin(); i != streamname.end(); ++i){
|
||||||
if (*i == '?'){streamname.erase(i, streamname.end()); break;}
|
if (*i == '?'){streamname.erase(i, streamname.end()); break;}
|
||||||
if (!isalpha(*i) && !isdigit(*i)){
|
if (!isalpha(*i) && !isdigit(*i) && *i != '_'){
|
||||||
streamname.erase(i);
|
streamname.erase(i);
|
||||||
--i;
|
--i;
|
||||||
}else{
|
}else{
|
||||||
|
@ -423,7 +423,7 @@ void Connector_RTMP::parseChunk(){
|
||||||
//send streambegin
|
//send streambegin
|
||||||
streamname = amfdata.getContentP(3)->StrValue();
|
streamname = amfdata.getContentP(3)->StrValue();
|
||||||
for (std::string::iterator i=streamname.end()-1; i>=streamname.begin(); --i){
|
for (std::string::iterator i=streamname.end()-1; i>=streamname.begin(); --i){
|
||||||
if (!isalpha(*i) && !isdigit(*i)){streamname.erase(i);}else{*i=tolower(*i);}
|
if (!isalpha(*i) && !isdigit(*i) && *i != '_'){streamname.erase(i);}else{*i=tolower(*i);}
|
||||||
}
|
}
|
||||||
streamname = "/tmp/shared_socket_" + streamname;
|
streamname = "/tmp/shared_socket_" + streamname;
|
||||||
Socket.write(RTMPStream::SendUSR(0, 1));//send UCM StreamBegin (0), stream 1
|
Socket.write(RTMPStream::SendUSR(0, 1));//send UCM StreamBegin (0), stream 1
|
||||||
|
@ -575,7 +575,7 @@ void Connector_RTMP::parseChunk(){
|
||||||
streamname = amfdata.getContentP(3)->StrValue();
|
streamname = amfdata.getContentP(3)->StrValue();
|
||||||
for (std::string::iterator i=streamname.begin(); i != streamname.end(); ++i){
|
for (std::string::iterator i=streamname.begin(); i != streamname.end(); ++i){
|
||||||
if (*i == '?'){streamname.erase(i, streamname.end()); break;}
|
if (*i == '?'){streamname.erase(i, streamname.end()); break;}
|
||||||
if (!isalpha(*i) && !isdigit(*i)){
|
if (!isalpha(*i) && !isdigit(*i) && *i != '_'){
|
||||||
streamname.erase(i);
|
streamname.erase(i);
|
||||||
--i;
|
--i;
|
||||||
}else{
|
}else{
|
||||||
|
@ -643,7 +643,7 @@ void Connector_RTMP::parseChunk(){
|
||||||
//send streambegin
|
//send streambegin
|
||||||
streamname = amfdata.getContentP(3)->StrValue();
|
streamname = amfdata.getContentP(3)->StrValue();
|
||||||
for (std::string::iterator i=streamname.end()-1; i>=streamname.begin(); --i){
|
for (std::string::iterator i=streamname.end()-1; i>=streamname.begin(); --i){
|
||||||
if (!isalpha(*i) && !isdigit(*i)){streamname.erase(i);}else{*i=tolower(*i);}
|
if (!isalpha(*i) && !isdigit(*i) && *i != '_'){streamname.erase(i);}else{*i=tolower(*i);}
|
||||||
}
|
}
|
||||||
streamname = "/tmp/shared_socket_" + streamname;
|
streamname = "/tmp/shared_socket_" + streamname;
|
||||||
Socket.write(RTMPStream::SendUSR(0, 1));//send UCM StreamBegin (0), stream 1
|
Socket.write(RTMPStream::SendUSR(0, 1));//send UCM StreamBegin (0), stream 1
|
||||||
|
|
Loading…
Add table
Reference in a new issue