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

Commit 99cef1ef authored by Chong Zhang's avatar Chong Zhang
Browse files

allow HLS streams with CLOSED-CAPTIONS tag to play

bug: 19284568
Change-Id: I2ccf1c5952c13d1332b6a91f967af0bd3ee67451
parent 9578a90c
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ struct M3UParser::MediaGroup : public RefBase {
        TYPE_AUDIO,
        TYPE_VIDEO,
        TYPE_SUBS,
        TYPE_CC,
    };

    enum FlagBits {
@@ -991,6 +992,8 @@ status_t M3UParser::parseMedia(const AString &line) {
                groupType = MediaGroup::TYPE_AUDIO;
            } else if (!strcasecmp("video", val.c_str())) {
                groupType = MediaGroup::TYPE_VIDEO;
            } else if (!strcasecmp("closed-captions", val.c_str())){
                groupType = MediaGroup::TYPE_CC;
            } else {
                ALOGE("Invalid media group type '%s'", val.c_str());
                return ERROR_MALFORMED;
@@ -1103,6 +1106,13 @@ status_t M3UParser::parseMedia(const AString &line) {
        return ERROR_MALFORMED;
    }

    if (groupType == MediaGroup::TYPE_CC) {
        // TODO: ignore this for now.
        // CC track will be detected by CCDecoder. But we still need to
        // pass the CC track flags (lang, auto) to the app in the future.
        return OK;
    }

    uint32_t flags = 0;
    if (haveGroupAutoselect && groupAutoselect) {
        flags |= MediaGroup::FLAG_AUTOSELECT;