summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/httplive
diff options
context:
space:
mode:
authorChong Zhang <chz@google.com>2015-02-05 17:25:32 -0800
committerChong Zhang <chz@google.com>2015-02-05 17:29:17 -0800
commit99cef1ef1cf1232966fabf3793ce7964c01474d7 (patch)
tree397790b7c584c7c4ee5688d8743f910fdbe982d8 /media/libstagefright/httplive
parent9578a90c214e430334b8696999f921290c35d067 (diff)
downloadframeworks_av-99cef1ef1cf1232966fabf3793ce7964c01474d7.zip
frameworks_av-99cef1ef1cf1232966fabf3793ce7964c01474d7.tar.gz
frameworks_av-99cef1ef1cf1232966fabf3793ce7964c01474d7.tar.bz2
allow HLS streams with CLOSED-CAPTIONS tag to play
bug: 19284568 Change-Id: I2ccf1c5952c13d1332b6a91f967af0bd3ee67451
Diffstat (limited to 'media/libstagefright/httplive')
-rw-r--r--media/libstagefright/httplive/M3UParser.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/media/libstagefright/httplive/M3UParser.cpp b/media/libstagefright/httplive/M3UParser.cpp
index eb62c7a..997b694 100644
--- a/media/libstagefright/httplive/M3UParser.cpp
+++ b/media/libstagefright/httplive/M3UParser.cpp
@@ -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;