64-bit file size/offset support for media framework

Change-Id: I3452bc2c0f1d990cc67285df2fce1f9f86ff8e10
diff --git a/media/libstagefright/AMRWriter.cpp b/media/libstagefright/AMRWriter.cpp
index c0b1abe..ecbd96c 100644
--- a/media/libstagefright/AMRWriter.cpp
+++ b/media/libstagefright/AMRWriter.cpp
@@ -29,6 +29,7 @@
 
 AMRWriter::AMRWriter(const char *filename)
     : mFile(fopen(filename, "wb")),
+      mFd(mFile == NULL? -1: fileno(mFile)),
       mInitCheck(mFile != NULL ? OK : NO_INIT),
       mStarted(false),
       mPaused(false),
@@ -37,6 +38,7 @@
 
 AMRWriter::AMRWriter(int fd)
     : mFile(fdopen(fd, "wb")),
+      mFd(mFile == NULL? -1: fileno(mFile)),
       mInitCheck(mFile != NULL ? OK : NO_INIT),
       mStarted(false),
       mPaused(false),
@@ -91,7 +93,7 @@
 
     const char *kHeader = isWide ? "#!AMR-WB\n" : "#!AMR\n";
     size_t n = strlen(kHeader);
-    if (fwrite(kHeader, 1, n, mFile) != n) {
+    if (write(mFd, kHeader, n) != n) {
         return ERROR_IO;
     }
 
@@ -240,11 +242,9 @@
             notify(MEDIA_RECORDER_EVENT_INFO, MEDIA_RECORDER_INFO_MAX_DURATION_REACHED, 0);
             break;
         }
-        ssize_t n = fwrite(
-                (const uint8_t *)buffer->data() + buffer->range_offset(),
-                1,
-                buffer->range_length(),
-                mFile);
+        ssize_t n = write(mFd,
+                        (const uint8_t *)buffer->data() + buffer->range_offset(),
+                        buffer->range_length());
 
         if (n < (ssize_t)buffer->range_length()) {
             buffer->release();