[vlc-commits] demux: adaptive: compute new location when processing header

2018-02-15 Thread Francois Cartegnie
vlc/vlc-3.0 | branch: master | Francois Cartegnie  | Tue Feb 
13 13:46:11 2018 +0100| [32302c9fe79471c9b4a06f59a89600e3dbf5bd44] | committer: 
Francois Cartegnie

demux: adaptive: compute new location when processing header

(cherry picked from commit b952a7fea62ddefeee4e9157354d5a9ae756f769)

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=32302c9fe79471c9b4a06f59a89600e3dbf5bd44
---

 modules/demux/adaptive/http/HTTPConnection.cpp | 15 +--
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/modules/demux/adaptive/http/HTTPConnection.cpp 
b/modules/demux/adaptive/http/HTTPConnection.cpp
index 971f0c84a7..f30022aa4c 100644
--- a/modules/demux/adaptive/http/HTTPConnection.cpp
+++ b/modules/demux/adaptive/http/HTTPConnection.cpp
@@ -135,6 +135,7 @@ int HTTPConnection::request(const std::string , const 
BytesRange )
 
 /* Set new path for this query */
 params.setPath(path);
+locationparams = ConnectionParams();
 
 msg_Dbg(p_object, "Retrieving %s @%zu", params.getUrl().c_str(),
range.isValid() ? range.getStartByte() : 0);
@@ -179,11 +180,6 @@ int HTTPConnection::request(const std::string , const 
BytesRange )
 else if(i_ret == VLC_ETIMEOUT) /* redir */
 {
 socket->disconnect();
-if(locationparams.getScheme().empty())
-params.setPath(locationparams.getPath());
-else
-params = locationparams;
-locationparams = ConnectionParams();
 }
 else if(i_ret == VLC_EGENERIC)
 {
@@ -386,7 +382,14 @@ void HTTPConnection::onHeader(const std::string ,
 }
 else if(key == "Location")
 {
-locationparams = ConnectionParams( value );
+locationparams = ConnectionParams();
+ConnectionParams loc = ConnectionParams( value );
+if(loc.getScheme().empty())
+{
+locationparams = params;
+locationparams.setPath(loc.getPath());
+}
+else locationparams = loc;
 }
 else if(key == "Set-Cookie" && authStorage)
 {

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] demux: adaptive: compute new location when processing header

2018-02-13 Thread Francois Cartegnie
vlc | branch: master | Francois Cartegnie  | Tue Feb 13 
13:46:11 2018 +0100| [b952a7fea62ddefeee4e9157354d5a9ae756f769] | committer: 
Francois Cartegnie

demux: adaptive: compute new location when processing header

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=b952a7fea62ddefeee4e9157354d5a9ae756f769
---

 modules/demux/adaptive/http/HTTPConnection.cpp | 15 +--
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/modules/demux/adaptive/http/HTTPConnection.cpp 
b/modules/demux/adaptive/http/HTTPConnection.cpp
index 971f0c84a7..f30022aa4c 100644
--- a/modules/demux/adaptive/http/HTTPConnection.cpp
+++ b/modules/demux/adaptive/http/HTTPConnection.cpp
@@ -135,6 +135,7 @@ int HTTPConnection::request(const std::string , const 
BytesRange )
 
 /* Set new path for this query */
 params.setPath(path);
+locationparams = ConnectionParams();
 
 msg_Dbg(p_object, "Retrieving %s @%zu", params.getUrl().c_str(),
range.isValid() ? range.getStartByte() : 0);
@@ -179,11 +180,6 @@ int HTTPConnection::request(const std::string , const 
BytesRange )
 else if(i_ret == VLC_ETIMEOUT) /* redir */
 {
 socket->disconnect();
-if(locationparams.getScheme().empty())
-params.setPath(locationparams.getPath());
-else
-params = locationparams;
-locationparams = ConnectionParams();
 }
 else if(i_ret == VLC_EGENERIC)
 {
@@ -386,7 +382,14 @@ void HTTPConnection::onHeader(const std::string ,
 }
 else if(key == "Location")
 {
-locationparams = ConnectionParams( value );
+locationparams = ConnectionParams();
+ConnectionParams loc = ConnectionParams( value );
+if(loc.getScheme().empty())
+{
+locationparams = params;
+locationparams.setPath(loc.getPath());
+}
+else locationparams = loc;
 }
 else if(key == "Set-Cookie" && authStorage)
 {

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits