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