summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/rtsp/AMPEG4AudioAssembler.h
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-10-27 13:59:59 -0700
committerAndreas Huber <andih@google.com>2010-10-27 14:33:18 -0700
commitfc9ac988e08a8b4c42e58999300265989f26f24c (patch)
tree14d7a1cc8e79eba57418b3b54f834f34f881d5ff /media/libstagefright/rtsp/AMPEG4AudioAssembler.h
parentc8b3ca3caf7edc08d652937d29724ae7a496655a (diff)
downloadframeworks_av-fc9ac988e08a8b4c42e58999300265989f26f24c.zip
frameworks_av-fc9ac988e08a8b4c42e58999300265989f26f24c.tar.gz
frameworks_av-fc9ac988e08a8b4c42e58999300265989f26f24c.tar.bz2
Better support for MP4A-LATM RTP disassembly. This used to fail if mNumSubFrames > 1 and the sub frames did not align with RTP packet boundaries.
Change-Id: I20e3b86f52b7f0f41663ffe8bc1f4db92280e884
Diffstat (limited to 'media/libstagefright/rtsp/AMPEG4AudioAssembler.h')
-rw-r--r--media/libstagefright/rtsp/AMPEG4AudioAssembler.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/media/libstagefright/rtsp/AMPEG4AudioAssembler.h b/media/libstagefright/rtsp/AMPEG4AudioAssembler.h
index bf9f204..9cef94c 100644
--- a/media/libstagefright/rtsp/AMPEG4AudioAssembler.h
+++ b/media/libstagefright/rtsp/AMPEG4AudioAssembler.h
@@ -27,9 +27,11 @@
namespace android {
struct AMessage;
+struct AString;
struct AMPEG4AudioAssembler : public ARTPAssembler {
- AMPEG4AudioAssembler(const sp<AMessage> &notify);
+ AMPEG4AudioAssembler(
+ const sp<AMessage> &notify, const AString &params);
protected:
virtual ~AMPEG4AudioAssembler();
@@ -40,6 +42,13 @@ protected:
private:
sp<AMessage> mNotifyMsg;
+
+ bool mMuxConfigPresent;
+ unsigned mNumSubFrames;
+ unsigned mFrameLengthType;
+ bool mOtherDataPresent;
+ unsigned mOtherDataLenBits;
+
uint32_t mAccessUnitRTPTime;
bool mNextExpectedSeqNoValid;
uint32_t mNextExpectedSeqNo;
@@ -49,6 +58,8 @@ private:
AssemblyStatus addPacket(const sp<ARTPSource> &source);
void submitAccessUnit();
+ sp<ABuffer> removeLATMFraming(const sp<ABuffer> &buffer);
+
DISALLOW_EVIL_CONSTRUCTORS(AMPEG4AudioAssembler);
};