From ab8f0c75f39b57cd1e28545259fb08bb7b4925b3 Mon Sep 17 00:00:00 2001 From: lordjaxom Date: Thu, 10 Feb 2005 22:24:26 +0000 Subject: - implemented audio track selection for http --- tools/shared.c | 90 ---------------------------------------------------------- 1 file changed, 90 deletions(-) delete mode 100644 tools/shared.c (limited to 'tools/shared.c') diff --git a/tools/shared.c b/tools/shared.c deleted file mode 100644 index ef20969..0000000 --- a/tools/shared.c +++ /dev/null @@ -1,90 +0,0 @@ -#include "tools/shared.h" - -#include -#include -#include - -cSharedData *cSharedData::Construct (size_t Length) { - size_t reallength = sizeof(cSharedData) + Length; - cSharedData *ret = (cSharedData*)new char[reallength]; - - ret->m_Length = Length; - ret->m_NumRefs = 0; - return ret; -} - -cTBShared::cTBShared(void) { - m_Buffer = NULL; -} - -cTBShared::cTBShared (const cTBShared &src) { - m_Buffer = src.m_Buffer; - if (m_Buffer) - ++*m_Buffer; -} - -cTBShared::~cTBShared () { - if (m_Buffer) - Release(); -} - -void cTBShared::Clear () { - if (m_Buffer) - Release(); - m_Buffer = 0; -} - -void cTBShared::Set (const cTBShared &src) { - if (m_Buffer) - Release(); - - m_Buffer = src.m_Buffer; - if (m_Buffer) - ++*m_Buffer; -} - -void cTBShared::Release () { - CHECK_PTR(m_Buffer); - - if (--*m_Buffer == 0) - delete[] (char*)m_Buffer; - - m_Buffer = 0; -} - -void cTBShared::Release(uint newsize) { - CHECK_PTR(m_Buffer); - - Allocate(newsize, true); -} - -void cTBShared::Exclusive () { - CHECK_PTR(m_Buffer); - - if (m_Buffer->Refs() == 1) - return; - - cSharedData *copy = cSharedData::Construct(m_Buffer->Size()); - memcpy(*copy, *m_Buffer, m_Buffer->Size()); - - Release(); - - m_Buffer = copy; - ++*m_Buffer; -} - -void cTBShared::Allocate (size_t len, bool keep /* = false */) { - if (m_Buffer && (m_Buffer->Refs() == 1) && (m_Buffer->Size() == len)) - return; - - cSharedData *newBuffer = cSharedData::Construct(len); - if (m_Buffer) { - if (keep) - memcpy(*newBuffer, *m_Buffer, len < m_Buffer->Size() ? len : m_Buffer->Size()); - - Release(); - } - m_Buffer = newBuffer; - ++*m_Buffer; -} - -- cgit v1.2.3