|
@@ -10,12 +10,6 @@
|
|
|
#include <string.h>
|
|
|
|
|
|
|
|
|
-void Debug(const char* fmt, ...)
|
|
|
-{
|
|
|
-
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
typedef struct Qnode
|
|
|
{
|
|
|
unsigned int videoframeindex;
|
|
@@ -59,9 +53,7 @@ public:
|
|
|
aAudioFrameAddr[i] = 0;
|
|
|
aAudioDataAddr[i] = 0;
|
|
|
}
|
|
|
- Debug("%s:%d before InitQueue name is %s, and framesize is %d.", __FUNCTION__, __LINE__, audioqueuename, framesize);
|
|
|
InitQueue(audioqueuename,framesize);
|
|
|
- Debug("%s:%d after InitQueue name is %s, and framesize is %d.", __FUNCTION__, __LINE__, audioqueuename, framesize);
|
|
|
}
|
|
|
|
|
|
~libaudioqueue_impl()
|
|
@@ -72,21 +64,17 @@ public:
|
|
|
bool InitQueue(const char* szName,int framesize=MAX_AUDIOQNODE_SIZE)
|
|
|
{
|
|
|
bool bret = false;
|
|
|
- Debug("%s:%d InitQueue name is %s, and framesize is %d.", __FUNCTION__, __LINE__, szName, framesize);
|
|
|
m_nQueueAddrLens = sizeof(linkqueue);
|
|
|
m_nQnodeAddrLens = MAX_AUDIOQUEUE_LENS*sizeof(Qnode);
|
|
|
m_nFrameAddrLens = MAX_AUDIOQUEUE_LENS*sizeof(audio_frame);
|
|
|
m_nDataAddrlens = MAX_AUDIOQUEUE_LENS*framesize;
|
|
|
int nMemTotalNum = m_nQueueAddrLens+m_nQnodeAddrLens+m_nFrameAddrLens+m_nDataAddrlens;
|
|
|
|
|
|
- Debug("%s:%d before share memory Create name is %s, and nMemTotalNum is %d.", __FUNCTION__, __LINE__, szName, nMemTotalNum);
|
|
|
if (m_ShareMem.Create(szName,nMemTotalNum)&&(m_nDataAddrlens!=0))
|
|
|
{
|
|
|
- Debug("%s:%d share memory Create success and name is %s, nMemTotalNum is %d.", __FUNCTION__, __LINE__, szName, nMemTotalNum);
|
|
|
m_lpMem = m_ShareMem.Lock(1000);
|
|
|
if(m_lpMem != NULL)
|
|
|
{
|
|
|
- Debug("%s:%d share memory lock m_lpMem addr is not NULL", __FUNCTION__, __LINE__);
|
|
|
memset(m_lpMem,0,nMemTotalNum);
|
|
|
m_pQueue = (linkqueue *)m_lpMem;
|
|
|
for(int i =0;i<MAX_AUDIOQUEUE_LENS;i++)
|
|
@@ -100,14 +88,10 @@ public:
|
|
|
m_ShareMem.Unlock();
|
|
|
bret = true;
|
|
|
}
|
|
|
- else
|
|
|
- {
|
|
|
- Debug("%s:%d share memory lock m_lpMem addr is NULL", __FUNCTION__, __LINE__);
|
|
|
- }
|
|
|
+
|
|
|
}
|
|
|
else if(m_ShareMem.Open(szName))
|
|
|
{
|
|
|
- Debug("%s:%d share memory Create failed and try open share memory %s.", __FUNCTION__, __LINE__, szName);
|
|
|
m_lpMem = m_ShareMem.Lock(1000);
|
|
|
if(m_lpMem != NULL)
|
|
|
{
|
|
@@ -121,13 +105,8 @@ public:
|
|
|
m_ShareMem.Unlock();
|
|
|
bret = true;
|
|
|
}
|
|
|
- else {
|
|
|
- Debug("%s:%d share memory lock failed and return.", __FUNCTION__, __LINE__);
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
- Debug("InitQueue return value is %s, and share memory valid flag is %s.",bret ? "true" : "false", m_ShareMem.IsValid() ? "true" : "false");
|
|
|
-
|
|
|
return bret;
|
|
|
}
|
|
|
//返回队列的元素个数,音频队列长度
|
|
@@ -157,7 +136,6 @@ public:
|
|
|
{
|
|
|
if(m_ShareMem.IsValid())
|
|
|
{
|
|
|
- Debug("m_ShareMem is valid.");
|
|
|
m_lpMem = m_ShareMem.Lock(1000);
|
|
|
if(m_lpMem != NULL)
|
|
|
{
|
|
@@ -198,7 +176,6 @@ public:
|
|
|
audiotmp->iseriesnumber = Audio->iseriesnumber;
|
|
|
memcpy(audiotmp->data,Audio->data,Audio->framesize);
|
|
|
rearptrfront->nextqnodeindex = m_pQueue->rearindex;
|
|
|
- Debug("audio series number is %d, m_pQueue->queuelens = %d.", audiotmp->iseriesnumber, m_pQueue->queuelens);
|
|
|
//delete Audio->data;
|
|
|
//delete Audio;
|
|
|
}
|
|
@@ -207,14 +184,12 @@ public:
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- Debug("m_lpMem is null");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- Debug("m_ShareMem is not valid.");
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
@@ -226,10 +201,8 @@ public:
|
|
|
m_lpMem = m_ShareMem.Lock(1000);
|
|
|
if(m_lpMem != NULL)
|
|
|
{
|
|
|
- Debug("%s:%d share memory Lock success!", __FUNCTION__, __LINE__);
|
|
|
if (m_pQueue->queuelens == 0)
|
|
|
{
|
|
|
- Debug("%s:%d m_pQueue queuelens is 0!", __FUNCTION__, __LINE__);
|
|
|
m_ShareMem.Unlock();
|
|
|
return false;
|
|
|
}
|
|
@@ -249,13 +222,11 @@ public:
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- Debug("%s:%d share memory Lock failed!", __FUNCTION__, __LINE__);
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- Debug("%s:%d m_ShareMem.Is not Valid()", __FUNCTION__, __LINE__);
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
@@ -268,10 +239,8 @@ public:
|
|
|
m_lpMem = m_ShareMem.Lock(1000);
|
|
|
if(m_lpMem != NULL)
|
|
|
{
|
|
|
- Debug("%s:%d share memory Lock success, m_pQueue->queuelens = %d.", __FUNCTION__, __LINE__, m_pQueue->queuelens);
|
|
|
if (m_pQueue->queuelens == 0)
|
|
|
{
|
|
|
- Debug("%s:%d m_pQueue queuelens is 0!", __FUNCTION__, __LINE__);
|
|
|
m_ShareMem.Unlock();
|
|
|
return false;
|
|
|
}
|
|
@@ -294,19 +263,16 @@ public:
|
|
|
qnodetmp->nextqnodeindex = 0;
|
|
|
m_pQueue->queuelens--;
|
|
|
m_ShareMem.Unlock();
|
|
|
- Debug("%s:%d m_pQueue->queuelens = %d.", __FUNCTION__, __LINE__, m_pQueue->queuelens);
|
|
|
return true;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- Debug("%s:%d share memory Lock failed!", __FUNCTION__, __LINE__);
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- Debug("%s:%d m_ShareMem.Is not Valid()", __FUNCTION__, __LINE__);
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
@@ -413,9 +379,7 @@ public:
|
|
|
// 有关类定义的信息,请参阅 libaudioqueue.h
|
|
|
Clibaudioqueue::Clibaudioqueue(const char* audioqueuename,int framesize)
|
|
|
{
|
|
|
- Debug("%s:%d before new Clibaudioqueue name is %s, and framesize is %d.", __FUNCTION__, __LINE__, audioqueuename, framesize);
|
|
|
m_pImpl = new libaudioqueue_impl(audioqueuename,framesize);
|
|
|
- Debug("%s:%d after new Clibaudioqueue name is %s, and framesize is %d.", __FUNCTION__, __LINE__, audioqueuename, framesize);
|
|
|
return;
|
|
|
}
|
|
|
|