[Xbyamp-cvs] xbmp/player/common MediaSample.h,1.1,1.2
Status: Pre-Alpha
Brought to you by:
yamp
|
From: <ya...@us...> - 2002-12-03 17:47:10
|
Update of /cvsroot/xbyamp/xbmp/player/common
In directory sc8-pr-cvs1:/tmp/cvs-serv25740/player/common
Modified Files:
MediaSample.h
Log Message:
removed compiler warnings
Index: MediaSample.h
===================================================================
RCS file: /cvsroot/xbyamp/xbmp/player/common/MediaSample.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** MediaSample.h 28 Nov 2002 21:47:35 -0000 1.1
--- MediaSample.h 3 Dec 2002 17:47:06 -0000 1.2
***************
*** 1,8 ****
! #ifndef MEDIA_SAMPLE_H
! #define MEDIA_SAMPLE_H
class MediaSample
{
public:
};
! #endif
\ No newline at end of file
--- 1,162 ----
! #ifndef __COMMON_MEDIASAMPLE_H_
! #define __COMMON_MEDIASAMPLE_H_
!
! #include "..\Common.h"
!
! const uint32_t AllSections = (uint32_t)0xffffffff;
!
! class MediaSample;
! class ReleaseClassMediaSample
! {
! public:
! virtual void ReleaseMediaSample(MediaSample*) = 0;
! };
class MediaSample
{
+ protected:
+ ReleaseClassMediaSample* mReleaseClass;
+ long mReferences;
+
+ uint8_t* mBuffer;
+ uint32_t mSize;
+ uint64_t mOffset;
+ uint32_t mStream;
+ bool mHasPTS;
+ uint64_t mPTS;
+ CodecID mCodecId;
+ virtual void _Release();
+ virtual void OnRelease() {;}
+
+ public:
+ MediaSample();
+ MediaSample(ReleaseClassMediaSample*);
+ virtual ~MediaSample();
+
+ virtual void AddRef();
+ virtual void Release();
+
+ virtual uint8_t* GetBuffer(uint32_t);
+ virtual uint32_t GetSize(uint32_t);
+ virtual uint64_t GetOffset();
+ virtual uint32_t GetStream();
+ virtual uint32_t GetNumSegments();
+ virtual MediaSample* GetSegmentFromOffset(uint32_t, uint32_t*);
+
+ virtual bool HasPTS();
+ virtual uint64_t GetPTS();
+ virtual void ResetPTS();
+ virtual void SetPTS(uint64_t PTS);
+ virtual void SetOffset(uint64_t offset);
+
+ virtual CodecID GetCodecId();
+ virtual void SetCodecId(CodecID);
+ };
+
+ class MemMediaSample;
+ class ReleaseClassMemMediaSample
+ {
public:
+ virtual void ReleaseMediaSample(MemMediaSample*) = 0;
};
!
! class MemMediaSample : public MediaSample
! {
! protected:
! ReleaseClassMemMediaSample* mReleaseClass;
! uint32_t mBufferSize;
!
! virtual void _Release();
! int Realloc(uint32_t size);
! void Free();
!
! public:
! MemMediaSample();
! MemMediaSample(ReleaseClassMemMediaSample*);
! virtual ~MemMediaSample();
!
! virtual void SetOffset(uint64_t offset);
! virtual void SetSize(uint32_t size);
! virtual void SetStream(uint32_t stream);
!
! // Made public for easy access.
! MemMediaSample* Next;
! };
!
! class ProxyMediaSample;
! class ReleaseClassProxyMediaSample
! {
! public:
! virtual void ReleaseMediaSample(ProxyMediaSample*) = 0;
! };
!
! // A Proxy Media Sample is a media sample that owns no allocated space.
! class ProxyMediaSample : public MediaSample {
! protected:
! ReleaseClassProxyMediaSample* mReleaseClass;
! MediaSample* mParent;
!
! virtual void _Release();
! virtual void OnRelease();
!
! public:
! ProxyMediaSample();
! ProxyMediaSample(ReleaseClassProxyMediaSample*);
! virtual ~ProxyMediaSample();
!
! virtual void SetOffset(uint64_t offset);
! virtual void SetSize(uint32_t size);
! virtual void SetBuffer(void* buffer);
! virtual void SetStream(uint32_t stream);
! virtual void SetParent(MediaSample* pSample);
!
! // Made public for easy access.
! ProxyMediaSample* Next;
! };
!
! class MediaSampleSet;
! class ReleaseClassMediaSampleSet
! {
! public:
! virtual void ReleaseMediaSample(MediaSampleSet*) = 0;
! };
!
! class MediaSampleSet : public MediaSample
! {
! public:
! MediaSampleSet();
! MediaSampleSet(ReleaseClassMediaSampleSet*);
! virtual ~MediaSampleSet();
! virtual void Release();
!
! virtual uint8_t* GetBuffer(uint32_t);
! virtual uint32_t GetSize(uint32_t);
! virtual uint32_t GetStream();
! virtual void AddMediaSample(ProxyMediaSample* mediaSample);
! virtual uint32_t GetNumSegments();
! virtual MediaSample* GetSegmentFromOffset(uint32_t, uint32_t*);
!
! MediaSampleSet* Next;
!
! protected:
!
! virtual void OnRelease();
! virtual void _Release();
! ProxyMediaSample* GetSampleFromNum(uint32_t sampleNum);
! ProxyMediaSample* GetSampleFromOffset(uint32_t sampleOffset);
!
! ReleaseClassMediaSampleSet* mReleaseClass;
!
! uint32_t mNumSegments;
! uint32_t mTotalSetSize;
! uint32_t cachedSampleOffset;
! uint32_t cachedSampleNum;
! ProxyMediaSample* cachedMediaSample;
! ProxyMediaSample* mMediaSampleListHead;
! };
!
! #ifndef SAFE_RELEASE
! #define SAFE_RELEASE(c) { if (c) { (c)->Release(); (c) = 0; } }
! #endif
!
! #endif // __COMMON_MEDIASAMPLE_H_
|