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