116a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala/* 216a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala * Copyright (C) 2014 The Android Open Source Project 316a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala * 416a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala * Licensed under the Apache License, Version 2.0 (the "License"); 516a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala * you may not use this file except in compliance with the License. 616a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala * You may obtain a copy of the License at 716a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala * 816a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala * http://www.apache.org/licenses/LICENSE-2.0 916a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala * 1016a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala * Unless required by applicable law or agreed to in writing, software 1116a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala * distributed under the License is distributed on an "AS IS" BASIS, 1216a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1316a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala * See the License for the specific language governing permissions and 1416a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala * limitations under the License. 1516a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala */ 1616a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala 1716a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala#define LOG_TAG "Camera3-DummyStream" 1816a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala#define ATRACE_TAG ATRACE_TAG_CAMERA 1916a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala//#define LOG_NDEBUG 0 2016a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala 2116a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala#include <utils/Log.h> 2216a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala#include <utils/Trace.h> 2316a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala#include "Camera3DummyStream.h" 2416a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala 2516a2ada049447c156648812b94d25be07869f284Eino-Ville Talvalanamespace android { 2616a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala 2716a2ada049447c156648812b94d25be07869f284Eino-Ville Talvalanamespace camera3 { 2816a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala 2916a2ada049447c156648812b94d25be07869f284Eino-Ville TalvalaCamera3DummyStream::Camera3DummyStream(int id) : 3016a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala Camera3IOStreamBase(id, CAMERA3_STREAM_OUTPUT, DUMMY_WIDTH, DUMMY_HEIGHT, 3116a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala /*maxSize*/0, DUMMY_FORMAT) { 3216a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala 3316a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala} 3416a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala 3516a2ada049447c156648812b94d25be07869f284Eino-Ville TalvalaCamera3DummyStream::~Camera3DummyStream() { 3616a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala 3716a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala} 3816a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala 3916a2ada049447c156648812b94d25be07869f284Eino-Ville Talvalastatus_t Camera3DummyStream::getBufferLocked(camera3_stream_buffer *buffer) { 4016a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala ATRACE_CALL(); 4116a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala ALOGE("%s: Stream %d: Dummy stream cannot produce buffers!", mId); 4216a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala return INVALID_OPERATION; 4316a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala} 4416a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala 4516a2ada049447c156648812b94d25be07869f284Eino-Ville Talvalastatus_t Camera3DummyStream::returnBufferLocked( 4616a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala const camera3_stream_buffer &buffer, 4716a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala nsecs_t timestamp) { 4816a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala ATRACE_CALL(); 4916a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala ALOGE("%s: Stream %d: Dummy stream cannot return buffers!", mId); 5016a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala return INVALID_OPERATION; 5116a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala} 5216a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala 5316a2ada049447c156648812b94d25be07869f284Eino-Ville Talvalastatus_t Camera3DummyStream::returnBufferCheckedLocked( 5416a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala const camera3_stream_buffer &buffer, 5516a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala nsecs_t timestamp, 5616a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala bool output, 5716a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala /*out*/ 5816a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala sp<Fence> *releaseFenceOut) { 5916a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala ATRACE_CALL(); 6016a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala ALOGE("%s: Stream %d: Dummy stream cannot return buffers!", mId); 6116a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala return INVALID_OPERATION; 6216a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala} 6316a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala 6416a2ada049447c156648812b94d25be07869f284Eino-Ville Talvalavoid Camera3DummyStream::dump(int fd, const Vector<String16> &args) const { 6516a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala (void) args; 6616a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala String8 lines; 6716a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala lines.appendFormat(" Stream[%d]: Dummy\n", mId); 6816a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala write(fd, lines.string(), lines.size()); 6916a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala 7016a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala Camera3IOStreamBase::dump(fd, args); 7116a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala} 7216a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala 7316a2ada049447c156648812b94d25be07869f284Eino-Ville Talvalastatus_t Camera3DummyStream::setTransform(int transform) { 7416a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala ATRACE_CALL(); 7516a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala // Do nothing 7616a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala return OK; 7716a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala} 7816a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala 7916a2ada049447c156648812b94d25be07869f284Eino-Ville Talvalastatus_t Camera3DummyStream::configureQueueLocked() { 8016a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala // Do nothing 8116a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala return OK; 8216a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala} 8316a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala 8416a2ada049447c156648812b94d25be07869f284Eino-Ville Talvalastatus_t Camera3DummyStream::disconnectLocked() { 8516a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala mState = (mState == STATE_IN_RECONFIG) ? STATE_IN_CONFIG 8616a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala : STATE_CONSTRUCTED; 8716a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala return OK; 8816a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala} 8916a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala 9016a2ada049447c156648812b94d25be07869f284Eino-Ville Talvalastatus_t Camera3DummyStream::getEndpointUsage(uint32_t *usage) { 9116a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala *usage = DUMMY_USAGE; 9216a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala return OK; 9316a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala} 9416a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala 9516a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala}; // namespace camera3 9616a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala 9716a2ada049447c156648812b94d25be07869f284Eino-Ville Talvala}; // namespace android 98