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

Commit aa0390b7 authored by Marco Nelissen's avatar Marco Nelissen Committed by Android Git Automerger
Browse files

am 4ee5d2b9: Merge "LiveSession: Use the actual, possibly redirected url as base in the M3U"

* commit '4ee5d2b9':
  LiveSession: Use the actual, possibly redirected url as base in the M3U
parents 8dad284a 4ee5d2b9
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -514,7 +514,8 @@ sp<PlaylistFetcher> LiveSession::addFetcher(const char *uri) {

status_t LiveSession::fetchFile(
        const char *url, sp<ABuffer> *out,
        int64_t range_offset, int64_t range_length) {
        int64_t range_offset, int64_t range_length,
        String8 *actualUrl) {
    *out = NULL;

    sp<DataSource> source;
@@ -599,6 +600,12 @@ status_t LiveSession::fetchFile(
    }

    *out = buffer;
    if (actualUrl != NULL) {
        *actualUrl = source->getUri();
        if (actualUrl->isEmpty()) {
            *actualUrl = url;
        }
    }

    return OK;
}
@@ -610,7 +617,8 @@ sp<M3UParser> LiveSession::fetchPlaylist(
    *unchanged = false;

    sp<ABuffer> buffer;
    status_t err = fetchFile(url, &buffer);
    String8 actualUrl;
    status_t err = fetchFile(url, &buffer, 0, -1, &actualUrl);

    if (err != OK) {
        return NULL;
@@ -641,7 +649,7 @@ sp<M3UParser> LiveSession::fetchPlaylist(
#endif

    sp<M3UParser> playlist =
        new M3UParser(url, buffer->data(), buffer->size());
        new M3UParser(actualUrl.string(), buffer->data(), buffer->size());

    if (playlist->initCheck() != OK) {
        ALOGE("failed to parse .m3u8 playlist");
+2 −1
Original line number Diff line number Diff line
@@ -147,7 +147,8 @@ private:

    status_t fetchFile(
            const char *url, sp<ABuffer> *out,
            int64_t range_offset = 0, int64_t range_length = -1);
            int64_t range_offset = 0, int64_t range_length = -1,
            String8 *actualUrl = NULL);

    sp<M3UParser> fetchPlaylist(
            const char *url, uint8_t *curPlaylistHash, bool *unchanged);