platform_hardware_interfaces/media/omx/1.0/IOmx.hal
Pawin Vongmasa 4a3cd13ddc Move IGraphicBufferProducer to graphics/bufferqueue.
Test: With CtsMediaTestCases.apk installed,
adb shell am instrument -e size small -w
'android.media.cts/android.support.test.runner.AndroidJUnitRunner'

Bug: 35442034
Change-Id: Ia1ef0eb069fcd97f7afcf42bf3bb16c8c6a752c4
2017-03-15 11:42:40 -07:00

83 lines
2.3 KiB
Text

/*
* Copyright (C) 2016 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.hardware.media.omx@1.0;
import android.hardware.graphics.bufferqueue@1.0::IGraphicBufferProducer;
import android.hardware.media@1.0::types;
import IOmxNode;
import IOmxObserver;
import IGraphicBufferSource;
/**
* Ref: frameworks/av/include/media/IOMX.h: IOMX
*
* IOmx is the main entry point for communicating with OMX components.
*/
interface IOmx {
/**
* Information for an IOmxNode component.
*/
struct ComponentInfo {
string mName;
vec<string> mRoles;
};
/**
* List available components.
*
* @param[out] status The status of the call.
* @param[out] nodeList The list of ComponentInfo.
*/
listNodes(
) generates (
Status status,
vec<ComponentInfo> nodeList
);
/**
* Allocate an IOmxNode instance with the specified component name.
*
* @param[in] name The name of the component to create.
* @param[in] observer An observer object that will receive messages from
* the created instance.
* @param[out] status The status of the call.
* @param[out] omxNode The allocated instance of IOmxNode.
*/
allocateNode(
string name,
IOmxObserver observer
) generates (
Status status,
IOmxNode omxNode
);
/**
* Create an input surface for recording.
*
* @param[out] producer The associated producer end of the buffer queue.
* @param[out] source The associated `IGraphicBufferSource`.
*/
createInputSurface(
) generates (
Status status,
IGraphicBufferProducer producer,
IGraphicBufferSource source
);
};