blob: 94c43fcfab872c1c7d9b06109feb0c65bf08b92c [file] [log] [blame]
/*
* 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.media@1.0::types;
/**
* Ref: frameworks/av/media/libmedia/aidl/android/IOMXBufferSource.aidl
*
* IOmxBufferSource is an interface for a listener for certain events from an
* IOmxNode instance. Use IOmxNode::setInputSurface() to attach an
* IOmxBufferSource instance to an IOmxNode instance.
*
* @see OMX_STATETYPE in the OpenMax IL standard.
*/
interface IOmxBufferSource {
/**
* onOmxExecuting() is invoked when the node state changes to
* OMX_StateExecuting state.
*/
oneway onOmxExecuting();
/**
* onOmxIdle() is invoked when the node transitions from OMX_StateExecuting
* to OMX_StateIdle.
*/
oneway onOmxIdle();
/**
* onOmxLoaded() is invoked when the node transitions from OMX_StateIdle or
* OMX_StateExecuting to OMX_StateLoaded.
*/
oneway onOmxLoaded();
/**
* onInputBufferAdded() is invoked after a new input buffer is added to the
* node. This may happen within IOmxNode::allocateSecureBuffer() or
* IOmxNode::useBuffer().
*
* @param[in] buffer is the id of the added buffer.
*/
oneway onInputBufferAdded(BufferId buffer);
/**
* onInputBufferEmptied() is invoked after an input buffer is emptied. This
* may happen within IOmxNode::emptyBuffer().
*
* @param[in] buffer is the id of the emptied buffer.
* @param[in] fence is the fence associated with the buffer.
*/
oneway onInputBufferEmptied(BufferId buffer, Fence fence);
};