11900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen/* 21900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen * Copyright (C) 2015 The Android Open Source Project 31900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen * 41900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen * Licensed under the Apache License, Version 2.0 (the "License"); 51900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen * you may not use this file except in compliance with the License. 61900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen * You may obtain a copy of the License at 71900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen * 81900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen * http://www.apache.org/licenses/LICENSE-2.0 91900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen * 101900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen * Unless required by applicable law or agreed to in writing, software 111900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen * distributed under the License is distributed on an "AS IS" BASIS, 121900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 131900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen * See the License for the specific language governing permissions and 141900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen * limitations under the License. 151900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen */ 161900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen 171900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen#ifndef ANDROID_IMEDIACODECSERVICE_H 181900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen#define ANDROID_IMEDIACODECSERVICE_H 191900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen 201900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen#include <binder/IInterface.h> 211900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen#include <binder/IMemory.h> 221900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen#include <binder/Parcel.h> 231900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen#include <media/IDataSource.h> 241900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen#include <include/OMX.h> 251900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen 261900e77bac4276f247f80fd06d19316cac598f57Marco Nelissennamespace android { 271900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen 281900e77bac4276f247f80fd06d19316cac598f57Marco Nelissenclass IMediaCodecService: public IInterface 291900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen{ 301900e77bac4276f247f80fd06d19316cac598f57Marco Nelissenpublic: 311900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen DECLARE_META_INTERFACE(MediaCodecService); 321900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen 331900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen virtual sp<IOMX> getOMX() = 0; 341900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen}; 351900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen 361900e77bac4276f247f80fd06d19316cac598f57Marco Nelissenclass BnMediaCodecService: public BnInterface<IMediaCodecService> 371900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen{ 381900e77bac4276f247f80fd06d19316cac598f57Marco Nelissenpublic: 391900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen virtual status_t onTransact(uint32_t code, const Parcel& data, Parcel* reply, 401900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen uint32_t flags = 0); 411900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen}; 421900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen 431900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen} // namespace android 441900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen 451900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen#endif // ANDROID_IMEDIACODECSERVICE_H 46