Camera3StreamBufferListener.h revision 7b82efe7a376c882f8f938e1c41b8311a8cdda4a
123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)/* 223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) * Copyright (C) 2013 The Android Open Source Project 323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) * 423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) * Licensed under the Apache License, Version 2.0 (the "License"); 55f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) * you may not use this file except in compliance with the License. 623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) * You may obtain a copy of the License at 723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) * 823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) * http://www.apache.org/licenses/LICENSE-2.0 923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) * 101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * Unless required by applicable law or agreed to in writing, software 1123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) * distributed under the License is distributed on an "AS IS" BASIS, 1223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) * See the License for the specific language governing permissions and 1423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) * limitations under the License. 1523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) */ 1623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 175f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#ifndef ANDROID_SERVERS_CAMERA3_STREAMBUFFERLISTENER_H 185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#define ANDROID_SERVERS_CAMERA3_STREAMBUFFERLISTENER_H 196e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include <gui/Surface.h> 2103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include <utils/RefBase.h> 2223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 2323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)namespace android { 2423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 2523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)namespace camera3 { 2623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 2723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)class Camera3StreamBufferListener : public virtual RefBase { 28116680a4aac90f2aa7413d9095a592090648e557Ben Murdochpublic: 29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) struct BufferInfo { 316e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) bool mOutput; // if false then input buffer 3223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) Rect mCrop; 3323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) uint32_t mTransform; 3423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) uint32_t mScalingMode; 3523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) int64_t mTimestamp; 3623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) uint64_t mFrameNumber; 3723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) }; 3823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 3923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) // Buffer was acquired by the HAL 4023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) virtual void onBufferAcquired(const BufferInfo& bufferInfo) = 0; 4123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) // Buffer was released by the HAL 4223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) virtual void onBufferReleased(const BufferInfo& bufferInfo) = 0; 435f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)}; 445f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 4523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)}; //namespace camera3 4623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)}; //namespace android 4723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 4823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#endif 49f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)