summaryrefslogtreecommitdiff
path: root/media/libstagefright/wifi-display/source/TSPacketizer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/libstagefright/wifi-display/source/TSPacketizer.cpp')
-rw-r--r--media/libstagefright/wifi-display/source/TSPacketizer.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/media/libstagefright/wifi-display/source/TSPacketizer.cpp b/media/libstagefright/wifi-display/source/TSPacketizer.cpp
index e5abd57d..7e660724 100644
--- a/media/libstagefright/wifi-display/source/TSPacketizer.cpp
+++ b/media/libstagefright/wifi-display/source/TSPacketizer.cpp
@@ -47,6 +47,7 @@ struct TSPacketizer::Track : public RefBase {
bool isVideo() const;
bool isH264() const;
+ bool isAAC() const;
bool lacksADTSHeader() const;
sp<ABuffer> prependCSD(const sp<ABuffer> &accessUnit) const;
@@ -139,6 +140,10 @@ bool TSPacketizer::Track::isH264() const {
return !strcasecmp(mMIME.c_str(), MEDIA_MIMETYPE_VIDEO_AVC);
}
+bool TSPacketizer::Track::isAAC() const {
+ return !strcasecmp(mMIME.c_str(), MEDIA_MIMETYPE_AUDIO_AAC);
+}
+
bool TSPacketizer::Track::lacksADTSHeader() const {
return mAudioLacksATDSHeaders;
}
@@ -247,6 +252,10 @@ ssize_t TSPacketizer::addTrack(const sp<AMessage> &format) {
streamType = 0x0f;
streamIDStart = 0xc0;
streamIDStop = 0xdf;
+ } else if (!strcasecmp(mime.c_str(), MEDIA_MIMETYPE_AUDIO_RAW)) {
+ streamType = 0x83;
+ streamIDStart = 0xbd;
+ streamIDStop = 0xbd;
} else {
return ERROR_UNSUPPORTED;
}
@@ -298,7 +307,7 @@ status_t TSPacketizer::packetize(
&& IsIDR(accessUnit)) {
// prepend codec specific data, i.e. SPS and PPS.
accessUnit = track->prependCSD(accessUnit);
- } else if (track->isAudio() && track->lacksADTSHeader()) {
+ } else if (track->isAAC() && track->lacksADTSHeader()) {
CHECK(!(flags & IS_ENCRYPTED));
accessUnit = track->prependADTSHeader(accessUnit);
}