1d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih/*
2d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih * Copyright 2017, The Android Open Source Project
3d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih *
4d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih * Licensed under the Apache License, Version 2.0 (the "License");
5d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih * you may not use this file except in compliance with the License.
6d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih * You may obtain a copy of the License at
7d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih *
8d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih *      http://www.apache.org/licenses/LICENSE-2.0
9d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih *
10d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih * Unless required by applicable law or agreed to in writing, software
11d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih * distributed under the License is distributed on an "AS IS" BASIS,
12d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih * See the License for the specific language governing permissions and
14d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih * limitations under the License.
15d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih */
16d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih
17d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih#ifndef IOMX_NODE_WRAPPER_SOURCE_H_
18d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih#define IOMX_NODE_WRAPPER_SOURCE_H_
19d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih
20d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih#include <utils/RefBase.h>
21d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih#include <utils/StrongPointer.h>
22d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih#include <ui/GraphicBuffer.h>
23d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih
24d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih#include <stdint.h>
25d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih
26d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shihnamespace android {
27d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih
28d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shihstruct IOmxNodeWrapper : public RefBase {
29d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih    virtual status_t emptyBuffer(
30d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih            int32_t bufferId, uint32_t flags,
31d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih            const sp<GraphicBuffer> &buffer = nullptr,
32d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih            int64_t timestamp = 0, int fenceFd = -1) = 0;
33d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih    virtual void dispatchDataSpaceChanged(
34d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih            int32_t dataSpace, int32_t aspects, int32_t pixelFormat) = 0;
35d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih};
36d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih
37d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih}  // namespace android
38d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih
39d095e65c8c125c555046c60539a0f7abf0ccf271Robert Shih#endif  // ANDROID_HARDWARE_MEDIA_OMX_V1_0_WGRAPHICBUFFERSOURCE_H
40