--- a/qtms/src/qtmsmembuffer.cpp Fri May 14 16:21:14 2010 +0300
+++ b/qtms/src/qtmsmembuffer.cpp Thu May 27 13:19:19 2010 +0300
@@ -16,144 +16,140 @@
*/
#include <qtms.h>
-#include <qtmsbuffer.h>
+#include <tmsbuffer.h>
#include "qtmsmembuffer.h"
#include "tmsutility.h"
using namespace QTMS;
using namespace TMS;
-QTMSMemBuffer::QTMSMemBuffer() :
- iBufferSize(0),
- iTimeStamp(0),
- iDataPtr(NULL),
- iOwnsBuffer(FALSE)
+QTMSMemBuffer::QTMSMemBuffer()
{
}
QTMSMemBuffer::~QTMSMemBuffer()
{
- if (iOwnsBuffer)
- {
- free(iDataPtr);
- }
+ delete iBuffer;
}
-gint QTMSMemBuffer::Create(guint size, QTMSBuffer*& tmsbuffer)
+gint QTMSMemBuffer::Create(guint size, QTMSBuffer*& qbuffer,
+ TMS::TMSBuffer*& tmsbuffer)
{
+ TRACE_PRN_FN_ENT;
gint ret(TMS_RESULT_INSUFFICIENT_MEMORY);
- TRACE_PRN_FN_ENT;
QTMSMemBuffer* self = new QTMSMemBuffer();
if (self)
{
- ret = self->PostConstruct(size);
+ ret = self->PostConstruct();
if (ret != TMS_RESULT_SUCCESS)
{
delete self;
self = NULL;
}
+ self->iBuffer = tmsbuffer;
}
- tmsbuffer = self;
+ qbuffer = self;
TRACE_PRN_FN_EXT;
return ret;
}
-gint QTMSMemBuffer::PostConstruct(guint size)
+gint QTMSMemBuffer::PostConstruct()
{
gint ret(TMS_RESULT_SUCCESS);
- TRACE_PRN_FN_ENT;
- iDataPtr = (guint8*) malloc(size);
- if (!iDataPtr)
- {
- ret = TMS_RESULT_INSUFFICIENT_MEMORY;
- }
- iOwnsBuffer = TRUE;
- iBufferSize = size;
- TRACE_PRN_FN_EXT;
return ret;
}
gint QTMSMemBuffer::GetType(QTMSBufferType& buffertype)
{
- gint ret(TMS_RESULT_SUCCESS);
- buffertype = TMS_BUFFER_MEMORY;
- return ret;
- }
-
-// Implementation of TMSBuffer interface begins
-/**
- Gets the timestamp on the Buffer so that the framework can
- determine the time at which this buffer has to be rendered
- by the output device sink.
-
- @param ts
- timestamp in microseconds
-
- */
-gint QTMSMemBuffer::GetTimeStamp(guint64& ts)
- {
- gint ret(TMS_RESULT_SUCCESS);
- ts = iTimeStamp;
+ gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT);
+ if (iBuffer)
+ {
+ ret = iBuffer->GetType(buffertype);
+ }
return ret;
}
/**
- Sets the timestamp on the Buffer so that the framework can
- determine the time at which this buffer has to be rendered
- by the output device sink.
+ * Gets the timestamp on the Buffer so that the framework can
+ * determine the time at which this buffer has to be rendered
+ * by the output device sink.
+ *
+ * @param ts timestamp in microseconds
+ *
+ */
+gint QTMSMemBuffer::GetTimeStamp(guint64& ts)
+ {
+ gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT);
+ if (iBuffer)
+ {
+ ret = iBuffer->GetTimeStamp(ts);
+ }
+ return ret;
+ }
- @param ts
- timestamp in milliseconds
-
+/**
+ * Sets the timestamp on the Buffer so that the framework can
+ * determine the time at which this buffer has to be rendered
+ * by the output device sink.
+ *
+ * @param ts timestamp in milliseconds
+ *
*/
gint QTMSMemBuffer::SetTimeStamp(const guint64 ts)
{
- gint ret(TMS_RESULT_SUCCESS);
- iTimeStamp = ts;
+ gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT);
+ if (iBuffer)
+ {
+ ret = iBuffer->SetTimeStamp(ts);
+ }
return ret;
}
/**
- Gets the size of data in the buffer specified by the client.
-
- @param size
- size of data in bytes
-
+ * Gets the size of data in the buffer specified by the client.
+ *
+ * @param size size of data in bytes
+ *
*/
gint QTMSMemBuffer::GetDataSize(guint& size)
{
- gint ret(TMS_RESULT_SUCCESS);
- size = iBufferSize;
+ gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT);
+ if (iBuffer)
+ {
+ ret = iBuffer->GetDataSize(size);
+ }
return ret;
}
/**
- Sets the size of data in the buffer after the client
- fill it.
-
- @param size
- size of data in bytes
-
+ * Sets the size of data in the buffer after the client fill it.
+ *
+ * @param size size of data in bytes
+ *
*/
gint QTMSMemBuffer::SetDataSize(const guint size)
{
- gint ret(TMS_RESULT_SUCCESS);
- iBufferSize = size;
+ gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT);
+ if (iBuffer)
+ {
+ ret = iBuffer->SetDataSize(size);
+ }
return ret;
}
/**
- Gets the pointer to the memory location associated with this
- buffer where the data is stored.
-
- @param bufptr
- ptr to the data stored in the buffer.
-
+ * Gets the pointer to the memory location associated with this
+ * buffer where the data is stored.
+ *
+ * @param bufptr ptr to the data stored in the buffer.
+ *
*/
gint QTMSMemBuffer::GetDataPtr(guint8*& bufptr)
{
- gint ret(TMS_RESULT_SUCCESS);
- bufptr = iDataPtr;
+ gint ret(QTMS_RESULT_UNINITIALIZED_OBJECT);
+ if (iBuffer)
+ {
+ ret = iBuffer->GetDataPtr(bufptr);
+ }
return ret;
}
-