vlc | branch: master | Francois Cartegnie <[email protected]> | Thu Feb 25 22:59:03 2016 +0100| [8f4cf91d8e4d9bc93910519aa90ac74cce94d696] | committer: Francois Cartegnie
demux: adaptive: allow regular http access > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=8f4cf91d8e4d9bc93910519aa90ac74cce94d696 --- modules/demux/adaptive/adaptive.cpp | 4 ++++ modules/demux/adaptive/http/HTTPConnectionManager.cpp | 13 +++++++++---- modules/demux/adaptive/http/HTTPConnectionManager.h | 4 ++-- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/modules/demux/adaptive/adaptive.cpp b/modules/demux/adaptive/adaptive.cpp index bbeb16e..1d18dd4 100644 --- a/modules/demux/adaptive/adaptive.cpp +++ b/modules/demux/adaptive/adaptive.cpp @@ -72,6 +72,9 @@ static void Close (vlc_object_t *); #define ADAPT_LOGIC_TEXT N_("Adaptation Logic") +#define ADAPT_ACCESS_TEXT N_("Use regular HTTP modules") +#define ADAPT_ACCESS_LONGTEXT N_("Connect using http access instead of custom http code") + static const int pi_logics[] = {AbstractAdaptationLogic::RateBased, AbstractAdaptationLogic::FixedRate, AbstractAdaptationLogic::AlwaysLowest, @@ -94,6 +97,7 @@ vlc_module_begin () add_integer( "adaptive-width", 480, ADAPT_WIDTH_TEXT, ADAPT_WIDTH_TEXT, true ) add_integer( "adaptive-height", 360, ADAPT_HEIGHT_TEXT, ADAPT_HEIGHT_TEXT, true ) add_integer( "adaptive-bw", 250, ADAPT_BW_TEXT, ADAPT_BW_LONGTEXT, false ) + add_bool ( "adaptive-use-access", false, ADAPT_ACCESS_TEXT, ADAPT_ACCESS_LONGTEXT, true ); set_callbacks( Open, Close ) vlc_module_end () diff --git a/modules/demux/adaptive/http/HTTPConnectionManager.cpp b/modules/demux/adaptive/http/HTTPConnectionManager.cpp index 371756b..969fd10 100644 --- a/modules/demux/adaptive/http/HTTPConnectionManager.cpp +++ b/modules/demux/adaptive/http/HTTPConnectionManager.cpp @@ -34,15 +34,20 @@ using namespace adaptive::http; -HTTPConnectionManager::HTTPConnectionManager (vlc_object_t *stream, ConnectionFactory *factory_) : - stream (stream), +HTTPConnectionManager::HTTPConnectionManager (vlc_object_t *p_object_, ConnectionFactory *factory_) : + p_object (p_object_), rateObserver (NULL) { vlc_mutex_init(&lock); downloader = new (std::nothrow) Downloader(); downloader->start(); if(!factory_) - factory = new (std::nothrow) ConnectionFactory(); + { + if(var_InheritBool(p_object, "adaptive-use-access")) + factory = new (std::nothrow) StreamUrlConnectionFactory(); + else + factory = new (std::nothrow) ConnectionFactory(); + } else factory = factory_; } @@ -90,7 +95,7 @@ AbstractConnection * HTTPConnectionManager::getConnection(ConnectionParams ¶ AbstractConnection *conn = reuseConnection(params); if(!conn) { - conn = factory->createConnection(stream, params); + conn = factory->createConnection(p_object, params); connectionPool.push_back(conn); diff --git a/modules/demux/adaptive/http/HTTPConnectionManager.h b/modules/demux/adaptive/http/HTTPConnectionManager.h index 638bc55..755df86 100644 --- a/modules/demux/adaptive/http/HTTPConnectionManager.h +++ b/modules/demux/adaptive/http/HTTPConnectionManager.h @@ -47,7 +47,7 @@ namespace adaptive class HTTPConnectionManager : public IDownloadRateObserver { public: - HTTPConnectionManager (vlc_object_t *stream, ConnectionFactory * = NULL); + HTTPConnectionManager (vlc_object_t *p_object, ConnectionFactory * = NULL); virtual ~HTTPConnectionManager (); void closeAllConnections (); @@ -61,7 +61,7 @@ namespace adaptive void releaseAllConnections (); vlc_mutex_t lock; std::vector<AbstractConnection *> connectionPool; - vlc_object_t *stream; + vlc_object_t *p_object; IDownloadRateObserver *rateObserver; ConnectionFactory *factory; AbstractConnection * reuseConnection(ConnectionParams &); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
