1cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom/* 2cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom * Copyright (C) 2011 The Android Open Source Project 3cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom * 4cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom * Licensed under the Apache License, Version 2.0 (the "License"); 5cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom * you may not use this file except in compliance with the License. 6cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom * You may obtain a copy of the License at 7cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom * 8cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom * http://www.apache.org/licenses/LICENSE-2.0 9cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom * 10cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom * Unless required by applicable law or agreed to in writing, software 11cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom * distributed under the License is distributed on an "AS IS" BASIS, 12cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom * See the License for the specific language governing permissions and 14cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom * limitations under the License. 15cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom */ 16cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom 17cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom 18cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrompackage android.filterpacks.base; 19cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom 20cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstromimport android.filterfw.core.Filter; 21cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstromimport android.filterfw.core.FilterContext; 22cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstromimport android.filterfw.core.Frame; 23cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstromimport android.filterfw.core.FrameFormat; 24cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstromimport android.filterfw.core.GenerateFieldPort; 25cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom 26cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom/** 27cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom * @hide 28e9af8901fc4ed7c05d085e2e492f5dcc857f0146Brian Carlstrom */ 29e9af8901fc4ed7c05d085e2e492f5dcc857f0146Brian Carlstrompublic class FrameStore extends Filter { 30e9af8901fc4ed7c05d085e2e492f5dcc857f0146Brian Carlstrom 31e9af8901fc4ed7c05d085e2e492f5dcc857f0146Brian Carlstrom @GenerateFieldPort(name = "key") 32e9af8901fc4ed7c05d085e2e492f5dcc857f0146Brian Carlstrom private String mKey; 33cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom 34cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom public FrameStore(String name) { 35cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom super(name); 36cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom } 37e9af8901fc4ed7c05d085e2e492f5dcc857f0146Brian Carlstrom 38e9af8901fc4ed7c05d085e2e492f5dcc857f0146Brian Carlstrom @Override 39e9af8901fc4ed7c05d085e2e492f5dcc857f0146Brian Carlstrom public void setupPorts() { 40e9af8901fc4ed7c05d085e2e492f5dcc857f0146Brian Carlstrom addInputPort("frame"); 41e9af8901fc4ed7c05d085e2e492f5dcc857f0146Brian Carlstrom } 42e9af8901fc4ed7c05d085e2e492f5dcc857f0146Brian Carlstrom 43e9af8901fc4ed7c05d085e2e492f5dcc857f0146Brian Carlstrom public void process(FilterContext context) { 44e9af8901fc4ed7c05d085e2e492f5dcc857f0146Brian Carlstrom // Get input frame 45cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom Frame input = pullInput("frame"); 46cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom 47cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom // Store frame 48cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom context.storeFrame(mKey, input); 49e9af8901fc4ed7c05d085e2e492f5dcc857f0146Brian Carlstrom } 50cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom 51cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom} 52cfa84a2aac159bb8a1763298882df7aa98f7fc6fBrian Carlstrom