1 /* 2 * OMAP3430 support 3 * 4 * Author: Michael Barabanov <michael.barabanov (at) windriver.com> 5 * Author: Srini Gosangi <srini.gosangi (at) windriver.com> 6 7 * Licensed under the Apache License, Version 2.0 (the "License"); 8 * you may not use this file except in compliance with the License. 9 * You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, software 14 * distributed under the License is distributed on an "AS IS" BASIS, 15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 16 * express or implied. 17 * See the License for the specific language governing permissions 18 */ 19 20 /* ------------------------------------------------------------------ 21 * Copyright (C) 2008 PacketVideo 22 * 23 * Licensed under the Apache License, Version 2.0 (the "License"); 24 * you may not use this file except in compliance with the License. 25 * You may obtain a copy of the License at 26 * 27 * http://www.apache.org/licenses/LICENSE-2.0 28 * 29 * Unless required by applicable law or agreed to in writing, software 30 * distributed under the License is distributed on an "AS IS" BASIS, 31 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 32 * express or implied. 33 * See the License for the specific language governing permissions 34 * and limitations under the License. 35 * ------------------------------------------------------------------- 36 */ 37 38 39 #ifndef BUFFER_ALLOC_OMAP34XXH_INCLUDED 40 #define BUFFER_ALLOC_OMAP34XXH_INCLUDED 41 42 #include "pv_interface.h" 43 44 #ifndef PVMF_FIXEDSIZE_BUFFER_ALLOC_H_INCLUDED 45 #include "pvmf_fixedsize_buffer_alloc.h" 46 #endif 47 48 /* based on test code in pvmi/media_io/pvmiofileoutput/include/pvmi_media_io_fileoutput.h */ 49 50 class BufferAllocOmap34xx: public PVInterface, public PVMFFixedSizeBufferAlloc 51 { 52 public: 53 54 BufferAllocOmap34xx(); 55 56 virtual ~BufferAllocOmap34xx(); 57 58 OSCL_IMPORT_REF void addRef(); 59 60 OSCL_IMPORT_REF void removeRef(); 61 62 OSCL_IMPORT_REF bool queryInterface(const PVUuid& uuid, PVInterface*& aInterface) ; 63 64 OSCL_IMPORT_REF OsclAny* allocate(); 65 66 OSCL_IMPORT_REF void deallocate(OsclAny* ptr) ; 67 68 OSCL_IMPORT_REF uint32 getBufferSize() ; 69 70 OSCL_IMPORT_REF uint32 getNumBuffers() ; 71 72 public: 73 int32 refCount; 74 int32 bufferSize; 75 int32 maxBuffers; 76 int32 numAllocated; 77 uint8** buffer_address; 78 }; 79 80 #endif 81