summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/mpeg2ts/ATSParser.cpp
diff options
context:
space:
mode:
authorRobert Shih <robertshih@google.com>2015-04-08 09:06:54 -0700
committerRobert Shih <robertshih@google.com>2015-04-16 19:01:15 -0700
commit0852843d304006e3ab333081fddda13b07193de8 (patch)
treef60be26aad988e89bc135a86f6e4ae8853c69a49 /media/libstagefright/mpeg2ts/ATSParser.cpp
parent3d66eb4128aebef31bb0fa44c4d53d6122294a26 (diff)
downloadframeworks_av-0852843d304006e3ab333081fddda13b07193de8.zip
frameworks_av-0852843d304006e3ab333081fddda13b07193de8.tar.gz
frameworks_av-0852843d304006e3ab333081fddda13b07193de8.tar.bz2
stagefright: initial timed id3 support in hls
Change-Id: I00a8a786b3f4b74742c34770edd94e937abe20a8
Diffstat (limited to 'media/libstagefright/mpeg2ts/ATSParser.cpp')
-rw-r--r--media/libstagefright/mpeg2ts/ATSParser.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/media/libstagefright/mpeg2ts/ATSParser.cpp b/media/libstagefright/mpeg2ts/ATSParser.cpp
index 14ae81c..5411821 100644
--- a/media/libstagefright/mpeg2ts/ATSParser.cpp
+++ b/media/libstagefright/mpeg2ts/ATSParser.cpp
@@ -132,6 +132,7 @@ struct ATSParser::Stream : public RefBase {
bool isAudio() const;
bool isVideo() const;
+ bool isMeta() const;
protected:
virtual ~Stream();
@@ -604,6 +605,11 @@ ATSParser::Stream::Stream(
ElementaryStreamQueue::AC3);
break;
+ case STREAMTYPE_METADATA:
+ mQueue = new ElementaryStreamQueue(
+ ElementaryStreamQueue::METADATA);
+ break;
+
default:
break;
}
@@ -722,6 +728,13 @@ bool ATSParser::Stream::isAudio() const {
}
}
+bool ATSParser::Stream::isMeta() const {
+ if (mStreamType == STREAMTYPE_METADATA) {
+ return true;
+ }
+ return false;
+}
+
void ATSParser::Stream::signalDiscontinuity(
DiscontinuityType type, const sp<AMessage> &extra) {
mExpectedContinuityCounter = -1;
@@ -1037,6 +1050,14 @@ sp<MediaSource> ATSParser::Stream::getSource(SourceType type) {
break;
}
+ case META:
+ {
+ if (isMeta()) {
+ return mSource;
+ }
+ break;
+ }
+
default:
break;
}