diff --git a/media/libstagefright/httplive/LiveSource.cpp b/media/libstagefright/httplive/LiveSource.cpp index 9e3aa7b8cd359..001afc4213b36 100644 --- a/media/libstagefright/httplive/LiveSource.cpp +++ b/media/libstagefright/httplive/LiveSource.cpp @@ -18,12 +18,10 @@ #include #include "include/LiveSource.h" - -#include "include/HTTPStream.h" #include "include/M3UParser.h" +#include "include/NuHTTPDataSource.h" #include -#include #include namespace android { @@ -33,6 +31,7 @@ LiveSource::LiveSource(const char *url) mInitCheck(NO_INIT), mPlaylistIndex(0), mLastFetchTimeUs(-1), + mSource(new NuHTTPDataSource), mSourceSize(0), mOffsetBias(0) { if (switchToNext()) { @@ -115,8 +114,7 @@ bool LiveSource::switchToNext() { CHECK(mPlaylist->itemAt(mPlaylistIndex, &uri)); LOGI("switching to %s", uri.c_str()); - mSource = new HTTPDataSource(uri.c_str()); - if (mSource->connect() != OK + if (mSource->connect(uri.c_str()) != OK || mSource->getSize(&mSourceSize) != OK) { return false; } @@ -156,8 +154,7 @@ ssize_t LiveSource::readAt(off_t offset, void *data, size_t size) { status_t LiveSource::fetchM3U(const char *url, sp *out) { *out = NULL; - mSource = new HTTPDataSource(url); - status_t err = mSource->connect(); + status_t err = mSource->connect(url); if (err != OK) { return err; diff --git a/media/libstagefright/include/LiveSource.h b/media/libstagefright/include/LiveSource.h index 321863367ef53..c55508c06871f 100644 --- a/media/libstagefright/include/LiveSource.h +++ b/media/libstagefright/include/LiveSource.h @@ -26,7 +26,7 @@ namespace android { struct ABuffer; -struct HTTPDataSource; +struct NuHTTPDataSource; struct M3UParser; struct LiveSource : public DataSource { @@ -52,7 +52,7 @@ private: size_t mPlaylistIndex; int64_t mLastFetchTimeUs; - sp mSource; + sp mSource; off_t mSourceSize; off_t mOffsetBias;