11de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber/* 21de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber * Copyright (C) 2009 The Android Open Source Project 31de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber * 41de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber * Licensed under the Apache License, Version 2.0 (the "License"); 51de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber * you may not use this file except in compliance with the License. 61de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber * You may obtain a copy of the License at 71de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber * 81de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber * http://www.apache.org/licenses/LICENSE-2.0 91de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber * 101de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber * Unless required by applicable law or agreed to in writing, software 111de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber * distributed under the License is distributed on an "AS IS" BASIS, 121de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 131de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber * See the License for the specific language governing permissions and 141de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber * limitations under the License. 151de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber */ 161de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber 171de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber#ifndef OMX_RENDERER_H_ 181de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber 191de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber#define OMX_RENDERER_H_ 201de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber 211de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber#include <media/IOMX.h> 221de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber 231de13168a9d9f55464dc98748ea28ef785f1048eAndreas Hubernamespace android { 241de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber 251de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huberclass VideoRenderer; 261de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber 271de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huberclass OMXRenderer : public BnOMXRenderer { 281de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huberpublic: 291de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber // Assumes ownership of "impl". 301de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber OMXRenderer(VideoRenderer *impl); 311de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber virtual ~OMXRenderer(); 321de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber 331de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber virtual void render(IOMX::buffer_id buffer); 341de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber 351de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huberprivate: 361de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber VideoRenderer *mImpl; 371de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber 381de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber OMXRenderer(const OMXRenderer &); 391de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber OMXRenderer &operator=(const OMXRenderer &); 401de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber}; 411de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber 421de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber} // namespace android 431de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber 441de13168a9d9f55464dc98748ea28ef785f1048eAndreas Huber#endif // OMX_RENDERER_H_ 45