Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c642199d authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change Ibd7b43bb into eclair-mr2

* changes:
  Separated private from public header files.
parents fe324a61 bd7b43bb
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -19,10 +19,11 @@
#define HTTP_DATASOURCE_H_
#define HTTP_DATASOURCE_H_


#include <media/stagefright/DataSource.h>
#include <media/stagefright/DataSource.h>
#include <media/stagefright/HTTPStream.h>


namespace android {
namespace android {


class HTTPStream;

class HTTPDataSource : public DataSource {
class HTTPDataSource : public DataSource {
public:
public:
    HTTPDataSource(const char *host, int port, const char *path);
    HTTPDataSource(const char *host, int port, const char *path);
@@ -40,7 +41,7 @@ private:
        kBufferSize = 64 * 1024
        kBufferSize = 64 * 1024
    };
    };


    HTTPStream mHttp;
    HTTPStream *mHttp;
    char *mHost;
    char *mHost;
    int mPort;
    int mPort;
    char *mPath;
    char *mPath;
+1 −1
Original line number Original line Diff line number Diff line
@@ -14,7 +14,7 @@
 * limitations under the License.
 * limitations under the License.
 */
 */


#include <media/stagefright/ESDS.h>
#include "include/ESDS.h"


#include <string.h>
#include <string.h>


+23 −17
Original line number Original line Diff line number Diff line
@@ -14,17 +14,19 @@
 * limitations under the License.
 * limitations under the License.
 */
 */


#include "include/string.h"
#include "include/HTTPStream.h"

#include <stdlib.h>
#include <stdlib.h>


#include <media/stagefright/HTTPDataSource.h>
#include <media/stagefright/HTTPDataSource.h>
#include <media/stagefright/HTTPStream.h>
#include <media/stagefright/MediaDebug.h>
#include <media/stagefright/MediaDebug.h>
#include <media/stagefright/string.h>


namespace android {
namespace android {


HTTPDataSource::HTTPDataSource(const char *uri)
HTTPDataSource::HTTPDataSource(const char *uri)
    : mHost(NULL),
    : mHttp(new HTTPStream),
      mHost(NULL),
      mPort(0),
      mPort(0),
      mPath(NULL),
      mPath(NULL),
      mBuffer(malloc(kBufferSize)),
      mBuffer(malloc(kBufferSize)),
@@ -65,29 +67,33 @@ HTTPDataSource::HTTPDataSource(const char *uri)
    mPort = port;
    mPort = port;
    mPath = strdup(path.c_str());
    mPath = strdup(path.c_str());


    status_t err = mHttp.connect(mHost, mPort);
    status_t err = mHttp->connect(mHost, mPort);
    CHECK_EQ(err, OK);
    CHECK_EQ(err, OK);
}
}


HTTPDataSource::HTTPDataSource(const char *host, int port, const char *path)
HTTPDataSource::HTTPDataSource(const char *host, int port, const char *path)
    : mHost(strdup(host)),
    : mHttp(new HTTPStream),
      mHost(strdup(host)),
      mPort(port),
      mPort(port),
      mPath(strdup(path)),
      mPath(strdup(path)),
      mBuffer(malloc(kBufferSize)),
      mBuffer(malloc(kBufferSize)),
      mBufferLength(0),
      mBufferLength(0),
      mBufferOffset(0) {
      mBufferOffset(0) {
    status_t err = mHttp.connect(mHost, mPort);
    status_t err = mHttp->connect(mHost, mPort);
    CHECK_EQ(err, OK);
    CHECK_EQ(err, OK);
}
}


HTTPDataSource::~HTTPDataSource() {
HTTPDataSource::~HTTPDataSource() {
    mHttp.disconnect();
    mHttp->disconnect();


    free(mBuffer);
    free(mBuffer);
    mBuffer = NULL;
    mBuffer = NULL;


    free(mPath);
    free(mPath);
    mPath = NULL;
    mPath = NULL;

    delete mHttp;
    mHttp = NULL;
}
}


ssize_t HTTPDataSource::read_at(off_t offset, void *data, size_t size) {
ssize_t HTTPDataSource::read_at(off_t offset, void *data, size_t size) {
@@ -120,19 +126,19 @@ ssize_t HTTPDataSource::read_at(off_t offset, void *data, size_t size) {
    status_t err;
    status_t err;
    int attempt = 1;
    int attempt = 1;
    for (;;) {
    for (;;) {
        if ((err = mHttp.send("GET ")) != OK
        if ((err = mHttp->send("GET ")) != OK
            || (err = mHttp.send(mPath)) != OK
            || (err = mHttp->send(mPath)) != OK
            || (err = mHttp.send(" HTTP/1.1\r\n")) != OK
            || (err = mHttp->send(" HTTP/1.1\r\n")) != OK
            || (err = mHttp.send(host)) != OK
            || (err = mHttp->send(host)) != OK
            || (err = mHttp.send(range)) != OK
            || (err = mHttp->send(range)) != OK
            || (err = mHttp.send("\r\n")) != OK
            || (err = mHttp->send("\r\n")) != OK
            || (err = mHttp.receive_header(&http_status)) != OK) {
            || (err = mHttp->receive_header(&http_status)) != OK) {


            if (attempt == 3) {
            if (attempt == 3) {
                return err;
                return err;
            }
            }


            mHttp.connect(mHost, mPort);
            mHttp->connect(mHost, mPort);
            ++attempt;
            ++attempt;
        } else {
        } else {
            break;
            break;
@@ -144,14 +150,14 @@ ssize_t HTTPDataSource::read_at(off_t offset, void *data, size_t size) {
    }
    }


    string value;
    string value;
    if (!mHttp.find_header_value("Content-Length", &value)) {
    if (!mHttp->find_header_value("Content-Length", &value)) {
        return UNKNOWN_ERROR;
        return UNKNOWN_ERROR;
    }
    }


    char *end;
    char *end;
    unsigned long contentLength = strtoul(value.c_str(), &end, 10);
    unsigned long contentLength = strtoul(value.c_str(), &end, 10);


    ssize_t num_bytes_received = mHttp.receive(mBuffer, contentLength);
    ssize_t num_bytes_received = mHttp->receive(mBuffer, contentLength);


    if (num_bytes_received <= 0) {
    if (num_bytes_received <= 0) {
        return num_bytes_received;
        return num_bytes_received;
+2 −1
Original line number Original line Diff line number Diff line
@@ -14,6 +14,8 @@
 * limitations under the License.
 * limitations under the License.
 */
 */


#include "include/HTTPStream.h"

#include <sys/socket.h>
#include <sys/socket.h>


#include <arpa/inet.h>
#include <arpa/inet.h>
@@ -25,7 +27,6 @@
#include <string.h>
#include <string.h>
#include <unistd.h>
#include <unistd.h>


#include <media/stagefright/HTTPStream.h>
#include <media/stagefright/MediaDebug.h>
#include <media/stagefright/MediaDebug.h>


namespace android {
namespace android {
+2 −1
Original line number Original line Diff line number Diff line
@@ -17,6 +17,8 @@
#define LOG_TAG "MPEG4Extractor"
#define LOG_TAG "MPEG4Extractor"
#include <utils/Log.h>
#include <utils/Log.h>


#include "include/SampleTable.h"

#include <arpa/inet.h>
#include <arpa/inet.h>


#include <ctype.h>
#include <ctype.h>
@@ -32,7 +34,6 @@
#include <media/stagefright/MediaDefs.h>
#include <media/stagefright/MediaDefs.h>
#include <media/stagefright/MediaSource.h>
#include <media/stagefright/MediaSource.h>
#include <media/stagefright/MetaData.h>
#include <media/stagefright/MetaData.h>
#include <media/stagefright/SampleTable.h>
#include <media/stagefright/Utils.h>
#include <media/stagefright/Utils.h>
#include <utils/String8.h>
#include <utils/String8.h>


Loading