vlc | branch: master | Francois Cartegnie <[email protected]> | Wed Oct 16 19:10:10 2019 +0200| [d40a43173dd0c03899782376ce6fe02ca99bc322] | committer: Francois Cartegnie
demux: adaptive: set playlist local flah on conn manager > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=d40a43173dd0c03899782376ce6fe02ca99bc322 --- modules/demux/adaptive/SharedResources.cpp | 7 +++++-- modules/demux/adaptive/SharedResources.hpp | 2 +- modules/demux/adaptive/adaptive.cpp | 16 +++++++++++++--- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/modules/demux/adaptive/SharedResources.cpp b/modules/demux/adaptive/SharedResources.cpp index f09c088569..05c7a9288f 100644 --- a/modules/demux/adaptive/SharedResources.cpp +++ b/modules/demux/adaptive/SharedResources.cpp @@ -30,11 +30,14 @@ using namespace adaptive; -SharedResources::SharedResources(vlc_object_t *obj) +SharedResources::SharedResources(vlc_object_t *obj, bool local) { authStorage = new AuthStorage(obj); encryptionKeyring = new Keyring(obj); - connManager = new HTTPConnectionManager(obj, authStorage); + HTTPConnectionManager *m = new HTTPConnectionManager(obj, authStorage); + if(m && local) + m->setLocalConnectionsAllowed(); + connManager = m; } SharedResources::~SharedResources() diff --git a/modules/demux/adaptive/SharedResources.hpp b/modules/demux/adaptive/SharedResources.hpp index 5eff6eec06..0ef5256da5 100644 --- a/modules/demux/adaptive/SharedResources.hpp +++ b/modules/demux/adaptive/SharedResources.hpp @@ -41,7 +41,7 @@ namespace adaptive class SharedResources { public: - SharedResources(vlc_object_t *); + SharedResources(vlc_object_t *, bool = false); ~SharedResources(); AuthStorage *getAuthStorage(); Keyring *getKeyring(); diff --git a/modules/demux/adaptive/adaptive.cpp b/modules/demux/adaptive/adaptive.cpp index d6424b0e69..e8857bb7fd 100644 --- a/modules/demux/adaptive/adaptive.cpp +++ b/modules/demux/adaptive/adaptive.cpp @@ -257,6 +257,13 @@ static void Close(vlc_object_t *p_obj) /***************************************************************************** * *****************************************************************************/ +static bool IsLocalResource(const std::string & url) +{ + ConnectionParams params(url); + return params.isLocal(); +} + + static PlaylistManager * HandleDash(demux_t *p_demux, DOMParser &xmlParser, const std::string & playlisturl, AbstractAdaptationLogic::LogicType logic) @@ -275,7 +282,8 @@ static PlaylistManager * HandleDash(demux_t *p_demux, DOMParser &xmlParser, return NULL; } - SharedResources *resources = new (std::nothrow) SharedResources(VLC_OBJECT(p_demux)); + SharedResources *resources = new (std::nothrow) SharedResources(VLC_OBJECT(p_demux), + IsLocalResource(playlisturl)); DASHStreamFactory *factory = new (std::nothrow) DASHStreamFactory; DASHManager *manager = NULL; if(!resources || !factory || @@ -307,7 +315,8 @@ static PlaylistManager * HandleSmooth(demux_t *p_demux, DOMParser &xmlParser, return NULL; } - SharedResources *resources = new (std::nothrow) SharedResources(VLC_OBJECT(p_demux)); + SharedResources *resources = new (std::nothrow) SharedResources(VLC_OBJECT(p_demux), + IsLocalResource(playlisturl)); SmoothStreamFactory *factory = new (std::nothrow) SmoothStreamFactory; SmoothManager *manager = NULL; if(!resources || !factory || @@ -325,7 +334,8 @@ static PlaylistManager * HandleHLS(demux_t *p_demux, const std::string & playlisturl, AbstractAdaptationLogic::LogicType logic) { - SharedResources *resources = new SharedResources(VLC_OBJECT(p_demux)); + SharedResources *resources = new SharedResources(VLC_OBJECT(p_demux), + IsLocalResource(playlisturl)); if(!resources) return NULL; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
