aboutsummaryrefslogtreecommitdiff
path: root/externals/oboe/src/common/FixedBlockWriter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'externals/oboe/src/common/FixedBlockWriter.cpp')
-rw-r--r--externals/oboe/src/common/FixedBlockWriter.cpp73
1 files changed, 0 insertions, 73 deletions
diff --git a/externals/oboe/src/common/FixedBlockWriter.cpp b/externals/oboe/src/common/FixedBlockWriter.cpp
deleted file mode 100644
index b3156097c8..0000000000
--- a/externals/oboe/src/common/FixedBlockWriter.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <stdint.h>
-#include <memory.h>
-
-#include "FixedBlockAdapter.h"
-#include "FixedBlockWriter.h"
-
-FixedBlockWriter::FixedBlockWriter(FixedBlockProcessor &fixedBlockProcessor)
- : FixedBlockAdapter(fixedBlockProcessor) {}
-
-
-int32_t FixedBlockWriter::writeToStorage(uint8_t *buffer, int32_t numBytes) {
- int32_t bytesToStore = numBytes;
- int32_t roomAvailable = mSize - mPosition;
- if (bytesToStore > roomAvailable) {
- bytesToStore = roomAvailable;
- }
- memcpy(mStorage.get() + mPosition, buffer, bytesToStore);
- mPosition += bytesToStore;
- return bytesToStore;
-}
-
-int32_t FixedBlockWriter::write(uint8_t *buffer, int32_t numBytes) {
- int32_t bytesLeft = numBytes;
-
- // If we already have data in storage then add to it.
- if (mPosition > 0) {
- int32_t bytesWritten = writeToStorage(buffer, bytesLeft);
- buffer += bytesWritten;
- bytesLeft -= bytesWritten;
- // If storage full then flush it out
- if (mPosition == mSize) {
- bytesWritten = mFixedBlockProcessor.onProcessFixedBlock(mStorage.get(), mSize);
- if (bytesWritten < 0) return bytesWritten;
- mPosition = 0;
- if (bytesWritten < mSize) {
- // Only some of the data was written! This should not happen.
- return -1;
- }
- }
- }
-
- // Write through if enough for a complete block.
- while(bytesLeft > mSize) {
- int32_t bytesWritten = mFixedBlockProcessor.onProcessFixedBlock(buffer, mSize);
- if (bytesWritten < 0) return bytesWritten;
- buffer += bytesWritten;
- bytesLeft -= bytesWritten;
- }
-
- // Save any remaining partial blocks for next time.
- if (bytesLeft > 0) {
- int32_t bytesWritten = writeToStorage(buffer, bytesLeft);
- bytesLeft -= bytesWritten;
- }
-
- return numBytes - bytesLeft;
-}