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