1 /*
2  * Copyright (C) 2019 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 #ifndef EVS_SUPPORT_LIBRARY_BASERENDERCALLBACK_H_
17 #define EVS_SUPPORT_LIBRARY_BASERENDERCALLBACK_H_
18 
19 #include "Frame.h"
20 
21 namespace android {
22 namespace automotive {
23 namespace evs {
24 namespace support {
25 
26 class BaseRenderCallback {
27 public:
28     // TODO(b/130246434): Rename the callback to a more accurate name since
29     // the callback itself is about image inline processing. Also avoid
30     // passing in two frames, since the two frames are almost identical except
31     // for the data pointer. Instead, pass in one input frame and one output
32     // data pointer.
33     virtual void render(const Frame& in, const Frame& out) = 0;
~BaseRenderCallback()34     virtual ~BaseRenderCallback() {}
35 };
36 
37 }  // namespace support
38 }  // namespace evs
39 }  // namespace automotive
40 }  // namespace android
41 
42 #endif  // EVS_SUPPORT_LIBRARY_BASERENDERCALLBACK_H_
43