Merge "Pass application packagename to drm plugin."
diff --git a/media/libstagefright/avc_utils.cpp b/media/libstagefright/avc_utils.cpp
index a1c4979..6e7ef35 100644
--- a/media/libstagefright/avc_utils.cpp
+++ b/media/libstagefright/avc_utils.cpp
@@ -457,7 +457,10 @@
     const uint8_t *nalStart;
     size_t nalSize;
     while (getNextNALUnit(&data, &size, &nalStart, &nalSize, true) == OK) {
-        CHECK_GT(nalSize, 0u);
+        if (nalSize == 0u) {
+            ALOGW("skipping empty nal unit from potentially malformed bitstream");
+            continue;
+        }
 
         unsigned nalType = nalStart[0] & 0x1f;
 
diff --git a/services/mediaanalytics/MediaAnalyticsService.cpp b/services/mediaanalytics/MediaAnalyticsService.cpp
index eacafdd..35c1f5b 100644
--- a/services/mediaanalytics/MediaAnalyticsService.cpp
+++ b/services/mediaanalytics/MediaAnalyticsService.cpp
@@ -280,6 +280,7 @@
     nsecs_t ts_since = 0;
     String16 clearOption("-clear");
     String16 sinceOption("-since");
+    String16 helpOption("-help");
     int n = args.size();
     for (int i = 0; i < n; i++) {
         String8 myarg(args[i]);
@@ -298,6 +299,16 @@
             } else {
                 ts_since = 0;
             }
+            // command line is milliseconds; internal units are nano-seconds
+            ts_since *= 1000*1000;
+        } else if (args[i] == helpOption) {
+            result.append("Recognized parameters:\n");
+            result.append("-help        this help message\n");
+            result.append("-clear       clears out saved records\n");
+            result.append("-since XXX   include records since XXX\n");
+            result.append("             (XXX is milliseconds since the UNIX epoch)\n");
+            write(fd, result.string(), result.size());
+            return NO_ERROR;
         }
     }
 
@@ -364,8 +375,6 @@
 }
 
 String8 MediaAnalyticsService::dumpQueue(List<MediaAnalyticsItem *> *theList, nsecs_t ts_since) {
-    const size_t SIZE = 512;
-    char buffer[SIZE];
     String8 result;
     int slot = 0;
 
@@ -379,12 +388,7 @@
                 continue;
             }
             AString entry = (*it)->toString();
-            snprintf(buffer, sizeof(buffer), "%4d: %s",
-                        slot, entry.c_str());
-            result.append(buffer);
-            buffer[0] = '\n';
-            buffer[1] = '\0';
-            result.append(buffer);
+            result.appendFormat("%5d: %s\n", slot, entry.c_str());
             slot++;
         }
     }