1*ec779b8eSAndroid Build Coastguard Worker /* 2*ec779b8eSAndroid Build Coastguard Worker * Copyright 2019 The Android Open Source Project 3*ec779b8eSAndroid Build Coastguard Worker * 4*ec779b8eSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*ec779b8eSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*ec779b8eSAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*ec779b8eSAndroid Build Coastguard Worker * 8*ec779b8eSAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*ec779b8eSAndroid Build Coastguard Worker * 10*ec779b8eSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*ec779b8eSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*ec779b8eSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*ec779b8eSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*ec779b8eSAndroid Build Coastguard Worker * limitations under the License. 15*ec779b8eSAndroid Build Coastguard Worker */ 16*ec779b8eSAndroid Build Coastguard Worker 17*ec779b8eSAndroid Build Coastguard Worker #ifndef OMX_2_IGRAPHICBUFFERSOURCE_H_ 18*ec779b8eSAndroid Build Coastguard Worker #define OMX_2_IGRAPHICBUFFERSOURCE_H_ 19*ec779b8eSAndroid Build Coastguard Worker 20*ec779b8eSAndroid Build Coastguard Worker #include <android/BnGraphicBufferSource.h> 21*ec779b8eSAndroid Build Coastguard Worker #include <media/stagefright/omx/OmxGraphicBufferSource.h> 22*ec779b8eSAndroid Build Coastguard Worker 23*ec779b8eSAndroid Build Coastguard Worker namespace android { 24*ec779b8eSAndroid Build Coastguard Worker 25*ec779b8eSAndroid Build Coastguard Worker using BnStatus = ::android::binder::Status; 26*ec779b8eSAndroid Build Coastguard Worker 27*ec779b8eSAndroid Build Coastguard Worker struct Omx2IGraphicBufferSource : public BnGraphicBufferSource { 28*ec779b8eSAndroid Build Coastguard Worker sp<OmxGraphicBufferSource> mBase; 29*ec779b8eSAndroid Build Coastguard Worker sp<IOMXBufferSource> mOMXBufferSource; 30*ec779b8eSAndroid Build Coastguard Worker Omx2IGraphicBufferSource(sp<OmxGraphicBufferSource> const& base); 31*ec779b8eSAndroid Build Coastguard Worker BnStatus configure(const sp<IOMXNode>& omxNode, int32_t dataSpace) override; 32*ec779b8eSAndroid Build Coastguard Worker BnStatus setSuspend(bool suspend, int64_t timeUs) override; 33*ec779b8eSAndroid Build Coastguard Worker BnStatus setRepeatPreviousFrameDelayUs(int64_t repeatAfterUs) override; 34*ec779b8eSAndroid Build Coastguard Worker BnStatus setMaxFps(float maxFps) override; 35*ec779b8eSAndroid Build Coastguard Worker BnStatus setTimeLapseConfig(double fps, double captureFps) override; 36*ec779b8eSAndroid Build Coastguard Worker BnStatus setStartTimeUs(int64_t startTimeUs) override; 37*ec779b8eSAndroid Build Coastguard Worker BnStatus setStopTimeUs(int64_t stopTimeUs) override; 38*ec779b8eSAndroid Build Coastguard Worker BnStatus getStopTimeOffsetUs(int64_t *stopTimeOffsetUs) override; 39*ec779b8eSAndroid Build Coastguard Worker BnStatus setColorAspects(int32_t aspects) override; 40*ec779b8eSAndroid Build Coastguard Worker BnStatus setTimeOffsetUs(int64_t timeOffsetsUs) override; 41*ec779b8eSAndroid Build Coastguard Worker BnStatus signalEndOfInputStream() override; 42*ec779b8eSAndroid Build Coastguard Worker }; 43*ec779b8eSAndroid Build Coastguard Worker 44*ec779b8eSAndroid Build Coastguard Worker } // namespace android 45*ec779b8eSAndroid Build Coastguard Worker 46*ec779b8eSAndroid Build Coastguard Worker #endif // OMX_2_IGRAPHICBUFFERSOURCE_H_ 47*ec779b8eSAndroid Build Coastguard Worker 48