Android Open Source - peepers Memory Output Stream






From Project

Back to project page peepers.

License

The source code is released under:

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 ...

If you think the Android project peepers listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/* Copyright 2013 Foxdog Studios Ltd
 */*w w  w.j a va2  s  .c o m*/
 * 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.foxdogstudios.peepers;

import java.io.IOException;
import java.io.OutputStream;

/* package */ final class MemoryOutputStream extends OutputStream
{
    private final byte[] mBuffer;
    private int mLength = 0;

    /* package */ MemoryOutputStream(final int size)
    {
        this(new byte[size]);
    } // constructor(int)

    /* package */ MemoryOutputStream(final byte[] buffer)
    {
        super();
        mBuffer = buffer;
    } // constructor(byte[])

    @Override
    public void write(final byte[] buffer, final int offset, final int count)
            throws IOException
    {
        checkSpace(count);
        System.arraycopy(buffer, offset, mBuffer, mLength, count);
        mLength += count;
    } // write(buffer, offset, count)

    @Override
    public void write(final byte[] buffer) throws IOException
    {
        checkSpace(buffer.length);
        System.arraycopy(buffer, 0, mBuffer, mLength, buffer.length);
        mLength += buffer.length;
    } // write(byte[])

    @Override
    public void write(final int oneByte) throws IOException
    {
        checkSpace(1);
        mBuffer[mLength++] = (byte) oneByte;
    } // write(int)

    private void checkSpace(final int length) throws IOException
    {
        if (mLength + length >= mBuffer.length)
        {
            throw new IOException("insufficient space in buffer");
        } // if
    } // checkSpace(int)

    /* package */ void seek(final int index)
    {
        mLength = index;
    } // seek(int)

    /* package */ byte[] getBuffer()
    {
        return mBuffer;
    } // getBuffer()

    /* package */ int getLength()
    {
        return mLength;
    } // getLength()

} // class MemoryOutputStream





Java Source Code List

com.foxdogstudios.peepers.CameraStreamer.java
com.foxdogstudios.peepers.MJpegHttpStreamer.java
com.foxdogstudios.peepers.MemoryOutputStream.java
com.foxdogstudios.peepers.MovingAverage.java
com.foxdogstudios.peepers.PeepersApplication.java
com.foxdogstudios.peepers.PeepersPreferenceActivity.java
com.foxdogstudios.peepers.StreamCameraActivity.java
com.foxdogstudios.peepers.WebcamStreamer.java