Home | History | Annotate | Download | only in core
      1 /*
      2  * Copyright (C) 2011 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 
     18 package android.filterfw.core;
     19 
     20 import android.filterfw.core.FrameFormat;
     21 import android.filterfw.core.KeyValueMap;
     22 
     23 import java.util.Arrays;
     24 
     25 /**
     26  * @hide
     27  */
     28 public class MutableFrameFormat extends FrameFormat {
     29 
     30     public MutableFrameFormat() {
     31         super();
     32     }
     33 
     34     public MutableFrameFormat(int baseType, int target) {
     35         super(baseType, target);
     36     }
     37 
     38     public void setBaseType(int baseType) {
     39         mBaseType = baseType;
     40         mBytesPerSample = bytesPerSampleOf(baseType);
     41     }
     42 
     43     public void setTarget(int target) {
     44         mTarget = target;
     45     }
     46 
     47     public void setBytesPerSample(int bytesPerSample) {
     48         mBytesPerSample = bytesPerSample;
     49         mSize = SIZE_UNKNOWN;
     50     }
     51 
     52     public void setDimensions(int[] dimensions) {
     53         mDimensions = (dimensions == null) ? null : Arrays.copyOf(dimensions, dimensions.length);
     54         mSize = SIZE_UNKNOWN;
     55     }
     56 
     57     public void setDimensions(int size) {
     58         int[] dimensions = new int[1];
     59         dimensions[0] = size;
     60         mDimensions = dimensions;
     61         mSize = SIZE_UNKNOWN;
     62     }
     63 
     64     public void setDimensions(int width, int height) {
     65         int[] dimensions = new int[2];
     66         dimensions[0] = width;
     67         dimensions[1] = height;
     68         mDimensions = dimensions;
     69         mSize = SIZE_UNKNOWN;
     70     }
     71 
     72     public void setDimensions(int width, int height, int depth) {
     73         int[] dimensions = new int[3];
     74         dimensions[0] = width;
     75         dimensions[1] = height;
     76         dimensions[2] = depth;
     77         mDimensions = dimensions;
     78         mSize = SIZE_UNKNOWN;
     79     }
     80 
     81     public void setDimensionCount(int count) {
     82         mDimensions = new int[count];
     83     }
     84 
     85     public void setObjectClass(Class objectClass) {
     86         mObjectClass = objectClass;
     87     }
     88 
     89     public void setMetaValue(String key, Object value) {
     90         if (mMetaData == null) {
     91             mMetaData = new KeyValueMap();
     92         }
     93         mMetaData.put(key, value);
     94     }
     95 
     96 }
     97