summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorJames Dong <jdong@google.com>2011-05-14 07:22:40 -0700
committerJames Dong <jdong@google.com>2011-05-17 12:21:57 -0700
commit07ec01904613a0bac32caaa8444b4690998faed7 (patch)
treedeee18aea572871265d3b2188928b5cfec5b72d0 /media
parentdc449831cf73a7f1c0f242d1ba655dbeca01e8f7 (diff)
downloadframeworks_av-07ec01904613a0bac32caaa8444b4690998faed7.zip
frameworks_av-07ec01904613a0bac32caaa8444b4690998faed7.tar.gz
frameworks_av-07ec01904613a0bac32caaa8444b4690998faed7.tar.bz2
Make track informational event optional, depending on system property
o also add a track informational event to return the encoded data in kilo-bytes Change-Id: I7c383360d57048c8a3606d0b8141ba53e4f4b224
Diffstat (limited to 'media')
-rw-r--r--media/libstagefright/MPEG4Writer.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/media/libstagefright/MPEG4Writer.cpp b/media/libstagefright/MPEG4Writer.cpp
index 9dc83a6..988392e 100644
--- a/media/libstagefright/MPEG4Writer.cpp
+++ b/media/libstagefright/MPEG4Writer.cpp
@@ -33,6 +33,7 @@
#include <media/stagefright/MediaSource.h>
#include <media/stagefright/Utils.h>
#include <media/mediarecorder.h>
+#include <cutils/properties.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
@@ -760,7 +761,27 @@ void MPEG4Writer::writeFtypBox(const MetaData *param) {
endBox();
}
+static bool isTestModeEnabled() {
+#if (PROPERTY_VALUE_MAX < 5)
+#error "PROPERTY_VALUE_MAX must be at least 5"
+#endif
+
+ // Test mode is enabled only if rw.media.record.test system
+ // property is enabled.
+ char value[PROPERTY_VALUE_MAX];
+ if (property_get("rw.media.record.test", value, NULL) &&
+ (!strcasecmp(value, "true") || !strcasecmp(value, "1"))) {
+ return true;
+ }
+ return false;
+}
+
void MPEG4Writer::sendSessionSummary() {
+ // Send session summary only if test mode is enabled
+ if (!isTestModeEnabled()) {
+ return;
+ }
+
for (List<ChunkInfo>::iterator it = mChunkInfos.begin();
it != mChunkInfos.end(); ++it) {
int trackNum = it->mTrack->getTrackId() << 28;
@@ -2227,6 +2248,12 @@ status_t MPEG4Writer::Track::threadEntry() {
}
void MPEG4Writer::Track::sendTrackSummary(bool hasMultipleTracks) {
+
+ // Send track summary only if test mode is enabled.
+ if (!isTestModeEnabled()) {
+ return;
+ }
+
int trackNum = (mTrackId << 28);
mOwner->notify(MEDIA_RECORDER_TRACK_EVENT_INFO,
@@ -2256,6 +2283,10 @@ void MPEG4Writer::Track::sendTrackSummary(bool hasMultipleTracks) {
(initialDelayUs) / 1000);
}
+ mOwner->notify(MEDIA_RECORDER_TRACK_EVENT_INFO,
+ trackNum | MEDIA_RECORDER_TRACK_INFO_DATA_KBYTES,
+ mMdatSizeBytes / 1024);
+
if (hasMultipleTracks) {
mOwner->notify(MEDIA_RECORDER_TRACK_EVENT_INFO,
trackNum | MEDIA_RECORDER_TRACK_INFO_MAX_CHUNK_DUR_MS,