MediaSample.cpp

Go to the documentation of this file.
00001 
00034 #include "MediaSample.h"
00035 
00036 #include <memory>
00037 
00038 MediaSample::MediaSample( BYTE* pData, int nSize, double dStartTime, bool bIsSyncPoint)
00039         : m_nSize(nSize),
00040         m_dStartTime(dStartTime),
00041         m_bIsSynchronisationPoint(bIsSyncPoint)
00042 {
00043         // Copy the data
00044         m_pData = new BYTE[nSize + 1];
00045         m_pData[nSize] = '\0';
00046         memcpy(m_pData, pData, m_nSize);
00047 }
00048 
00049 MediaSample::MediaSample( const MediaSample& rSample )
00050 {
00051         m_nSize = rSample.m_nSize;
00052         m_dStartTime = rSample.m_dStartTime;
00053         m_bIsSynchronisationPoint = rSample.m_bIsSynchronisationPoint;
00054         m_pData = new BYTE[m_nSize + 1];
00055         m_pData[m_nSize] = '\0';
00056         memcpy(m_pData, rSample.m_pData, m_nSize);
00057 }
00058 
00059 MediaSample::~MediaSample(void)
00060 {
00061         // Free memory
00062         delete[] m_pData;
00063         m_pData = NULL;
00064 }
00065 
00066 MediaSample* MediaSample::createMediaSample( BYTE* pData, int nSize, double dStartTime, bool bIsSyncPoint )
00067 {
00068         return new MediaSample(pData, nSize, dStartTime, bIsSyncPoint);
00069 }
00070 
00071 MediaSample& MediaSample::operator=( const MediaSample& rSample )
00072 {
00073         if (this == &rSample )
00074         {
00075                 return *this;
00076         }
00077 
00078         m_nSize = rSample.m_nSize;
00079         m_dStartTime = rSample.m_dStartTime;
00080         m_bIsSynchronisationPoint = rSample.m_bIsSynchronisationPoint;
00081         memcpy(m_pData, rSample.m_pData, m_nSize);
00082         return *this;
00083 }

Generated on Fri Mar 13 14:12:38 2009 for RTVC by  doxygen 1.5.3