1 /* ------------------------------------------------------------------ 2 * Copyright (C) 1998-2009 PacketVideo 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13 * express or implied. 14 * See the License for the specific language governing permissions 15 * and limitations under the License. 16 * ------------------------------------------------------------------- 17 */ 18 /** 19 * @file pvmf_media_data_impl.h 20 * @brief This file defines the PV Multimedia Framework (PVMF) media data 21 * class which is used as the interface to the media data container implementations 22 * which are passed between nodes along the normal media data path. 23 * 24 */ 25 26 #ifndef PVMF_MEDIA_DATA_IMPL_H_INCLUDED 27 #define PVMF_MEDIA_DATA_IMPL_H_INCLUDED 28 29 30 #ifndef OSCL_BASE_H_INCLUDED 31 #include "oscl_base.h" 32 #endif 33 34 #ifndef OSCL_REFCOUNTER_MEMFRAG_H_INCLUDED 35 #include "oscl_refcounter_memfrag.h" 36 #endif 37 38 #ifndef OSCL_MEM_H_INCLUDED 39 #include "oscl_mem.h" 40 #endif 41 42 class PVMFMediaDataImpl: public HeapBase 43 { 44 45 46 public: ~PVMFMediaDataImpl()47 virtual ~PVMFMediaDataImpl() {} 48 OSCL_IMPORT_REF virtual uint32 getMarkerInfo() = 0; 49 OSCL_IMPORT_REF virtual bool isRandomAccessPoint() = 0; 50 OSCL_IMPORT_REF virtual uint32 getErrorsFlag() = 0; 51 OSCL_IMPORT_REF virtual uint32 getNumFragments() = 0; 52 OSCL_IMPORT_REF virtual bool getMediaFragment(uint32 index, OsclRefCounterMemFrag& memfrag) = 0; 53 OSCL_IMPORT_REF virtual bool getMediaFragmentSize(uint32 index, uint32& size) = 0; 54 OSCL_IMPORT_REF virtual uint32 getFilledSize() = 0; 55 OSCL_IMPORT_REF virtual uint32 getCapacity() = 0; 56 57 OSCL_IMPORT_REF virtual void setCapacity(uint32 aCapacity) = 0; 58 OSCL_IMPORT_REF virtual bool setMediaFragFilledLen(uint32 index, uint32 len) = 0; 59 OSCL_IMPORT_REF virtual bool setMarkerInfo(uint32 marker) = 0; 60 OSCL_IMPORT_REF virtual bool setRandomAccessPoint(bool flag) = 0; 61 OSCL_IMPORT_REF virtual bool setErrorsFlag(uint32 flag) = 0; 62 63 OSCL_IMPORT_REF virtual bool appendMediaFragment(OsclRefCounterMemFrag& memfrag) = 0; 64 OSCL_IMPORT_REF virtual bool clearMediaFragments() = 0; 65 66 }; 67 68 69 70 #endif 71