summaryrefslogtreecommitdiff
path: root/isoparser/src/main/java/com/coremedia/iso/.svn/text-base/ChannelHelper.java.svn-base
diff options
context:
space:
mode:
Diffstat (limited to 'isoparser/src/main/java/com/coremedia/iso/.svn/text-base/ChannelHelper.java.svn-base')
-rw-r--r--isoparser/src/main/java/com/coremedia/iso/.svn/text-base/ChannelHelper.java.svn-base90
1 files changed, 0 insertions, 90 deletions
diff --git a/isoparser/src/main/java/com/coremedia/iso/.svn/text-base/ChannelHelper.java.svn-base b/isoparser/src/main/java/com/coremedia/iso/.svn/text-base/ChannelHelper.java.svn-base
deleted file mode 100644
index 2ec1d05..0000000
--- a/isoparser/src/main/java/com/coremedia/iso/.svn/text-base/ChannelHelper.java.svn-base
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright 2012 Sebastian Annies, Hamburg
- *
- * 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.
- */
-package com.coremedia.iso;
-
-import java.io.EOFException;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.channels.FileChannel;
-import java.nio.channels.ReadableByteChannel;
-import java.nio.channels.SelectionKey;
-import java.nio.channels.WritableByteChannel;
-
-import static com.googlecode.mp4parser.util.CastUtils.l2i;
-
-
-public class ChannelHelper {
- public static ByteBuffer readFully(final ReadableByteChannel channel, long size) throws IOException {
-
- if (channel instanceof FileChannel && size > 1024 * 1024) {
- ByteBuffer bb = ((FileChannel) channel).map(FileChannel.MapMode.READ_ONLY, ((FileChannel) channel).position(), size);
- ((FileChannel) channel).position(((FileChannel) channel).position() + size);
- return bb;
- } else {
- ByteBuffer buf = ByteBuffer.allocate(l2i(size));
- readFully(channel, buf, buf.limit());
- buf.rewind();
- assert buf.limit() == size;
-
- return buf;
- }
-
- }
-
-
- public static void readFully(final ReadableByteChannel channel, final ByteBuffer buf)
- throws IOException {
- readFully(channel, buf, buf.remaining());
- }
-
- public static int readFully(final ReadableByteChannel channel, final ByteBuffer buf, final int length)
- throws IOException {
- int n, count = 0;
- while (-1 != (n = channel.read(buf))) {
- count += n;
- if (count == length) {
- break;
- }
- }
- if (n == -1) {
- throw new EOFException("End of file. No more boxes.");
- }
- return count;
- }
-
-
- public static void writeFully(final WritableByteChannel channel, final ByteBuffer buf)
- throws IOException {
- do {
- int written = channel.write(buf);
- if (written < 0) {
- throw new EOFException();
- }
- } while (buf.hasRemaining());
- }
-
-
- public static void close(SelectionKey key) {
- try {
- key.channel().close();
- } catch (IOException e) {
- // nop
- }
-
- }
-
-
-} \ No newline at end of file