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#define LOG_TAG "MediaCodecService"
181900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen//#define LOG_NDEBUG 0
191900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen#include <utils/Log.h>
201900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen
211900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen#include "MediaCodecService.h"
221900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen
231900e77bac4276f247f80fd06d19316cac598f57Marco Nelissennamespace android {
241900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen
251900e77bac4276f247f80fd06d19316cac598f57Marco Nelissensp<IOMX> MediaCodecService::getOMX() {
261900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen
271900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen    Mutex::Autolock autoLock(mLock);
281900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen
291900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen    if (mOMX.get() == NULL) {
301900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen        mOMX = new OMX;
311900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen    }
321900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen
331900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen    return mOMX;
341900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen}
351900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen
361900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen
371900e77bac4276f247f80fd06d19316cac598f57Marco Nelissenstatus_t MediaCodecService::onTransact(uint32_t code, const Parcel& data, Parcel* reply,
381900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen        uint32_t flags)
391900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen{
401900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen    return BnMediaCodecService::onTransact(code, data, reply, flags);
411900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen}
421900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen
431900e77bac4276f247f80fd06d19316cac598f57Marco Nelissen}   // namespace android
44