浏览代码

Z991239-5647 #comment 音频队列库跨平台改造

80274480 1 年之前
父节点
当前提交
d2b4a0d532

+ 2 - 2
Module/mod_localmediaplay/CMakeLists.txt

@@ -28,7 +28,7 @@ target_include_directories(${MODULE_NAME} PRIVATE
 	${OTHER_LIB_PLATFORM_BASE_DIR}/libwmpplayer
 	${OTHER_LIB_PLATFORM_BASE_DIR}/libimgplayer
 	${OTHER_LIB_BASE_DIR}/libpictureplayer
-	${OTHER_LIB_PLATFORM_BASE_DIR}/libaudioqueue
+	${OTHER_LIB_BASE_DIR}/libaudioqueue
 	${OTHER_LIB_BASE_DIR}/rvcmediacommon
 )
 set(${MODULE_PREFIX}_LIBS  ${MODULE_BASE_LIBS} ${RVCCOMM_LIB} ShLwApi Shell32 imgplayer wmpplayer mediaplayer audioqueue pictureplayer)
@@ -36,7 +36,7 @@ else(WIN32)
 target_include_directories(${MODULE_NAME} PRIVATE
 	${OTHER_LIB_BASE_DIR}/libmediaplayer
 	${OTHER_LIB_BASE_DIR}/libpictureplayer
-	${OTHER_LIB_PLATFORM_BASE_DIR}/libaudioqueue
+	${OTHER_LIB_BASE_DIR}/libaudioqueue
 	${OTHER_LIB_BASE_DIR}/rvcmediacommon
 )
 set(${MODULE_PREFIX}_LIBS  ${MODULE_BASE_LIBS} ${RVCCOMM_LIB} audioqueue mediaplayer pictureplayer)

+ 2 - 2
Module/mod_mediacontroller/CMakeLists.txt

@@ -33,7 +33,7 @@ target_include_directories(${MODULE_NAME} PRIVATE
 	#todo
 	${OTHER_LIB_PLATFORM_BASE_DIR}/libvideohorflip
 	${OTHER_LIB_BASE_DIR}/rvcmediacommon
-	${OTHER_LIB_PLATFORM_BASE_DIR}/libaudioqueue
+	${OTHER_LIB_BASE_DIR}/libaudioqueue
 	${OTHER_LIB_PLATFORM_BASE_DIR}/libvideoqueue
 	${OTHER_LIB_PLATFORM_BASE_DIR}/libmediadeviceinfo
 	${OTHER_LIB_BASE_DIR}/libaudiomgr
@@ -46,7 +46,7 @@ else()
 		${OTHER_LIB_PLATFORM_BASE_DIR}/libvideoframework
 		${OTHER_LIB_PLATFORM_BASE_DIR}/libvideohorflip
 		${OTHER_LIB_BASE_DIR}/rvcmediacommon
-		${OTHER_LIB_PLATFORM_BASE_DIR}/libaudioqueue
+		${OTHER_LIB_BASE_DIR}/libaudioqueue
 		${OTHER_LIB_PLATFORM_BASE_DIR}/libvideoqueue
 		${OTHER_LIB_PLATFORM_BASE_DIR}/libaudiorender
 		${OTHER_LIB_PLATFORM_BASE_DIR}/libmediadeviceinfo

+ 1 - 1
Module/mod_sipphone/CMakeLists.txt

@@ -57,7 +57,7 @@ target_include_directories(${MODULE_NAME} PRIVATE
 	${OTHER_LIB_PLATFORM_BASE_DIR}/libvideoframework
 	${OTHER_LIB_PLATFORM_BASE_DIR}/libaudioframework
 	${OTHER_LIB_BASE_DIR}/rvcmediacommon
-	${OTHER_LIB_PLATFORM_BASE_DIR}/libaudioqueue
+	${OTHER_LIB_BASE_DIR}/libaudioqueue
 	${OTHER_LIB_PLATFORM_BASE_DIR}/libvideoqueue
 	${OTHER_LIB_PLATFORM_BASE_DIR}/libvideorender
 	${OTHER_LIB_PLATFORM_BASE_DIR}/libaudions

+ 2 - 0
Other/CMakeLists.txt

@@ -36,6 +36,8 @@ add_subdirectory(liblog4vendor)
 add_subdirectory(libfilecryption)
 add_subdirectory(libmediaplayer)
 add_subdirectory(libpictureplayer)
+add_subdirectory(libaudioqueue)
+
 if(MSVC)
    add_subdirectory(win)
 else(MSVC)

+ 0 - 0
Other/win/libaudioqueue/CMakeLists.txt → Other/libaudioqueue/CMakeLists.txt


+ 0 - 0
Other/unix/libaudioqueue/ReadMe.txt → Other/libaudioqueue/ReadMe.txt


+ 0 - 0
Other/unix/libaudioqueue/dllmain.cpp → Other/libaudioqueue/dllmain.cpp


+ 0 - 0
Other/unix/libaudioqueue/libaudioqueue.cpp → Other/libaudioqueue/libaudioqueue.cpp


+ 0 - 0
Other/unix/libaudioqueue/libaudioqueue.h → Other/libaudioqueue/libaudioqueue.h


+ 0 - 0
Other/unix/libaudioqueue/stdafx.cpp → Other/libaudioqueue/stdafx.cpp


+ 0 - 1
Other/unix/CMakeLists.txt

@@ -1,7 +1,6 @@
 add_subdirectory(libbizchan)
 
 add_subdirectory(libsharememory)
-add_subdirectory(libaudioqueue)
 add_subdirectory(libvideoqueue)
 add_subdirectory(libaudioframework)
 add_subdirectory(libvideoframework)

+ 0 - 48
Other/unix/libaudioqueue/CMakeLists.txt

@@ -1,48 +0,0 @@
-set(MODULE_NAME "audioqueue")
-set(MODULE_PREFIX "LIB_AUDIOQUEUE_FUNC")
-
-if(MSVC)
-    set(STDAFXCPP stdafx.cpp)
-else()
-	 set(STDAFXCPP )
-endif(MSVC)
-
-set(${MODULE_PREFIX}_SRCS
-    libaudioqueue.h
-	#dllmain.cpp
-    libaudioqueue.cpp
-	${STDAFXCPP}
-)
-
-add_library(${MODULE_NAME} SHARED ${${MODULE_PREFIX}_SRCS})
-
-if(MSVC)
-add_precompiled_header(${MODULE_NAME} stdafx.h SOURCE_CXX stdafx.cpp FORCEINCLUDE)
-endif(MSVC)
-
-target_include_directories(${MODULE_NAME} PRIVATE
-	${RVC_COMMON_INCLUDE_DIR}
-	${OTHER_LIB_PLATFORM_BASE_DIR}/libsharememory
-	)
-
-target_link_libraries(${MODULE_NAME} PRIVATE ${${MODULE_PREFIX}_LIBS}	
-	sharememory
-	)  
-
-target_compile_definitions(${MODULE_NAME} PUBLIC "LIBAUDIOQUEUE_EXPORTS")
-
-if(MSVC)
-	install(TARGETS ${MODULE_NAME} 
-    RUNTIME DESTINATION "${RVC_RUNTIME_PATH}" COMPONENT libraries
-    ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT develops EXCLUDE_FROM_ALL
-    LIBRARY DESTINATION "${RVC_LIBRARY_PATH}" COMPONENT libraries
-    )
-else()
-install(TARGETS ${MODULE_NAME} 
-    RUNTIME DESTINATION "${RVC_RUNTIME_PATH}"
-    ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}"
-    LIBRARY DESTINATION "${RVC_RUNTIME_PATH}"
-    COMPONENT libraries)
-endif(MSVC)
-
-set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "other/")

+ 1 - 1
Other/unix/libvideorecord/CMakeLists.txt

@@ -27,7 +27,7 @@ target_include_directories(${MODULE_NAME} PRIVATE
 	${CONAN_INCLUDE_DIRS_SPEEXDSP}
     ${CONAN_INCLUDE_DIRS_OPENCV}
     ${CONAN_INCLUDE_DIRS_OPENCV}/opencv
-	${OTHER_LIB_PLATFORM_BASE_DIR}/libaudioqueue
+	${OTHER_LIB_BASE_DIR}/libaudioqueue
     ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideoqueue
 	${OTHER_LIB_PLATFORM_BASE_DIR}/libaudions
 	${OTHER_LIB_PLATFORM_BASE_DIR}/rvcmediacommon/common_video

+ 0 - 1
Other/win/CMakeLists.txt

@@ -8,7 +8,6 @@ add_subdirectory(libbizchan)
 
 add_subdirectory(libimgplayer)
 add_subdirectory(libwmpplayer)
-add_subdirectory(libaudioqueue)
 # lack of SDL
 add_subdirectory(libaudiorender)
 add_subdirectory(libaudioframework)

+ 0 - 36
Other/win/libaudioqueue/ReadMe.txt

@@ -1,36 +0,0 @@
-========================================================================
-    动态链接库:libaudioqueue 项目概述
-========================================================================
-
-应用程序向导已为您创建了此 libaudioqueue DLL。
-
-本文件概要介绍组成 libaudioqueue 应用程序的每个文件的内容。
-
-
-libaudioqueue.vcxproj
-    这是使用应用程序向导生成的 VC++ 项目的主项目文件,
-    其中包含生成该文件的 Visual C++ 
-    的版本信息,以及有关使用应用程序向导选择的平台、配置和项目功能的信息。
-
-libaudioqueue.vcxproj.filters
-    这是使用“应用程序向导”生成的 VC++ 项目筛选器文件。 
-    它包含有关项目文件与筛选器之间的关联信息。 在 IDE 
-    中,通过这种关联,在特定节点下以分组形式显示具有相似扩展名的文件。
-    例如,“.cpp”文件与“源文件”筛选器关联。
-
-libaudioqueue.cpp
-    这是主 DLL 源文件。
-
-/////////////////////////////////////////////////////////////////////////////
-其他标准文件:
-
-StdAfx.h,StdAfx.cpp
-    这些文件用于生成名为 libaudioqueue.pch 的预编译头 (PCH) 文件和
-    名为 StdAfx.obj 的预编译类型文件。
-
-/////////////////////////////////////////////////////////////////////////////
-其他注释:
-
-应用程序向导使用“TODO:”注释来指示应添加或自定义的源代码部分。
-
-/////////////////////////////////////////////////////////////////////////////

+ 0 - 19
Other/win/libaudioqueue/dllmain.cpp

@@ -1,19 +0,0 @@
-// dllmain.cpp : 定义 DLL 应用程序的入口点。
-#include "stdafx.h"
-
-BOOL APIENTRY DllMain( HMODULE hModule,
-                       DWORD  ul_reason_for_call,
-                       LPVOID lpReserved
-					 )
-{
-	switch (ul_reason_for_call)
-	{
-	case DLL_PROCESS_ATTACH:
-	case DLL_THREAD_ATTACH:
-	case DLL_THREAD_DETACH:
-	case DLL_PROCESS_DETACH:
-		break;
-	}
-	return TRUE;
-}
-

+ 0 - 471
Other/win/libaudioqueue/libaudioqueue.cpp

@@ -1,471 +0,0 @@
-// libaudioqueue.cpp : 定义 DLL 应用程序的导出函数。
-//
-
-#ifdef _WIN32
-#include "stdafx.h"
-#endif
-
-#include "libaudioqueue.h"
-#include "libsharememory.h"
-#include <string.h>
-
-
-void Debug(const char* fmt, ...)
-{
-
-}
-
-
-typedef struct  Qnode
-{
-	unsigned int videoframeindex;
-	unsigned int nextqnodeindex;
-}Qnode, *queueptr;
-
-typedef struct linkqueue
-{
-	unsigned int frontindex;
-	unsigned int rearindex;
-	unsigned int queuelens;
-}linkqueue;
-
-class libaudioqueue_impl
-{
-private:
-		Clibsharememory m_ShareMem;
-		void* m_lpMem;
-		linkqueue*m_pQueue;
-		int m_nQueueAddrLens;
-		int m_nQnodeAddrLens;
-		int m_nFrameAddrLens;
-		int m_nDataAddrlens;
-		char* szShareMemName;
-		unsigned long aQnodeAddr[MAX_AUDIOQUEUE_LENS];
-		unsigned long aAudioFrameAddr[MAX_AUDIOQUEUE_LENS];
-		unsigned long aAudioDataAddr[MAX_AUDIOQUEUE_LENS];
-public:
-	libaudioqueue_impl(const char* audioqueuename,int framesize=MAX_AUDIOQNODE_SIZE)
-	{
-		m_lpMem = NULL;
-		m_pQueue = NULL;
-		szShareMemName = NULL;
-		m_nQueueAddrLens = 0;
-		m_nQnodeAddrLens = 0;
-		m_nFrameAddrLens = 0;
-		m_nDataAddrlens = 0;
-		for(int i=0;i<MAX_AUDIOQUEUE_LENS;i++)
-		{
-			aQnodeAddr[i] = 0;
-			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()
-	{
-		ClearAudioQueue();
-	}
-	//初始化队列
-	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++)
-				{
-					aQnodeAddr[i] = (unsigned long)m_pQueue+m_nQueueAddrLens+sizeof(Qnode)*i;
-					aAudioFrameAddr[i] = (unsigned long)m_pQueue+m_nQueueAddrLens+m_nQnodeAddrLens+sizeof(audio_frame)*i;
-					aAudioDataAddr[i] = (unsigned long)m_pQueue+m_nQueueAddrLens+m_nQnodeAddrLens+m_nFrameAddrLens+framesize*i;
-				}
-				m_pQueue->frontindex = m_pQueue->rearindex = 0;
-				m_pQueue->queuelens = 0;
-				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)
-			{
-				m_pQueue = (linkqueue *)m_lpMem;
-				for(int i =0;i<MAX_AUDIOQUEUE_LENS;i++)
-				{
-					aQnodeAddr[i] = (unsigned long)m_pQueue+m_nQueueAddrLens+sizeof(Qnode)*i;
-					aAudioFrameAddr[i] = (unsigned long)m_pQueue+m_nQueueAddrLens+m_nQnodeAddrLens+sizeof(audio_frame)*i;
-					aAudioDataAddr[i] = (unsigned long)m_pQueue+m_nQueueAddrLens+m_nQnodeAddrLens+m_nFrameAddrLens+framesize*i;
-				}
-				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;
-	}
-	//返回队列的元素个数,音频队列长度
-	int GetAudioLens()
-	{
-		if(m_ShareMem.IsValid())
-		{
-			m_lpMem = m_ShareMem.Lock(1000);
-			if(m_lpMem != NULL)
-			{
-				int num = m_pQueue->queuelens;
-				m_ShareMem.Unlock();
-				return num;
-			}
-			else
-			{
-				return 0;
-			}
-		}
-		else
-		{
-			return 0;
-		}
-	}
-	//往音频循环队列尾部插节点
-	bool InsertAudio(audio_frame* Audio)
-	{
-		if(m_ShareMem.IsValid())
-		{
-			Debug("m_ShareMem is valid.");
-			m_lpMem = m_ShareMem.Lock(1000);
-			if(m_lpMem != NULL)
-			{
-				unsigned int nRearNextIndex = 0;
-				//保存当前对位指针的序列号
-				queueptr rearptrfront = (queueptr)aQnodeAddr[m_pQueue->rearindex];
-				//如果队列已满
-				if(m_pQueue->queuelens == MAX_AUDIOQUEUE_LENS)
-				{
-					m_pQueue->rearindex = (m_pQueue->rearindex+1)%MAX_AUDIOQUEUE_LENS;
-					m_pQueue->frontindex = (m_pQueue->frontindex+1)%MAX_AUDIOQUEUE_LENS;
-					m_pQueue->queuelens = MAX_AUDIOQUEUE_LENS;
-				}
-				else if (m_pQueue->queuelens == 0)
-				{
-					m_pQueue->rearindex  = 0;
-					m_pQueue->frontindex  = 0;
-					m_pQueue->queuelens++;
-				}
-				else
-				{
-					m_pQueue->rearindex = (m_pQueue->rearindex+1)%MAX_AUDIOQUEUE_LENS;
-					m_pQueue->frontindex = m_pQueue->frontindex;
-					m_pQueue->queuelens++;
-				}
-				if (Audio!=NULL)
-				{
-					queueptr rearqnodetmp			= (queueptr)aQnodeAddr[m_pQueue->rearindex];
-					rearqnodetmp->videoframeindex	= m_pQueue->rearindex;
-					rearqnodetmp->nextqnodeindex	= 0;
-					audio_frame*audiotmp			= (audio_frame*)aAudioFrameAddr[m_pQueue->rearindex];
-					audiotmp->data					= (char*)aAudioDataAddr[m_pQueue->rearindex];
-					audiotmp->bitspersample			= Audio->bitspersample;
-					audiotmp->format				= Audio->format;
-					audiotmp->framesize				= Audio->framesize;
-					audiotmp->nchannels				= Audio->nchannels;
-					audiotmp->samplespersec			= Audio->samplespersec;
-					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;
-				}
-				m_ShareMem.Unlock();
-				return true;
-			}
-			else
-			{
-				Debug("m_lpMem is null");
-				return false;
-			}
-
-		}
-		else
-		{
-			Debug("m_ShareMem is not valid.");
-			return false;
-		}
-	}
-	//读音频队列头部节点
-	bool GetAudio(audio_frame* Audio)	
-	{
-		if(m_ShareMem.IsValid())
-		{
-			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;
-				}
-				else
-				{
-					audio_frame*audiotemp = (audio_frame*)aAudioFrameAddr[m_pQueue->frontindex];;
-					Audio->format			= audiotemp->format;
-					Audio->framesize		= audiotemp->framesize;
-					Audio->bitspersample	= audiotemp->bitspersample;
-					Audio->nchannels		= audiotemp->nchannels;
-					Audio->samplespersec	= audiotemp->samplespersec;
-					Audio->iseriesnumber	= audiotemp->iseriesnumber;
-					memcpy(Audio->data,(char*)aAudioDataAddr[m_pQueue->frontindex],audiotemp->framesize);
-					m_ShareMem.Unlock();
-					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;
-		}		
-	}
-
-	//读视频队列头部节点,并删除头部节点
-	bool GetAudioAndDel(audio_frame* Audio)
-	{
-		if(m_ShareMem.IsValid())
-		{
-			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;
-				}
-				else
-				{
-					audio_frame*audiotemp = (audio_frame*)aAudioFrameAddr[m_pQueue->frontindex];
-					Audio->format			= audiotemp->format;
-					Audio->framesize		= audiotemp->framesize;
-					Audio->bitspersample	= audiotemp->bitspersample;
-					Audio->nchannels		= audiotemp->nchannels;
-					Audio->samplespersec	= audiotemp->samplespersec;
-					Audio->iseriesnumber    = audiotemp->iseriesnumber;
-					memcpy(Audio->data,(char*)aAudioDataAddr[m_pQueue->frontindex],audiotemp->framesize);
-					char*data = (char*)aAudioDataAddr[m_pQueue->frontindex];
-					memset(data,0,audiotemp->framesize);
-					memset(audiotemp,0,sizeof(audio_frame));
-					queueptr qnodetmp			= (queueptr)aQnodeAddr[m_pQueue->frontindex];
-					m_pQueue->frontindex		= qnodetmp->nextqnodeindex;
-					qnodetmp					= (queueptr)aQnodeAddr[m_pQueue->rearindex];
-					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;
-		}		
-	}
-	//清除队列
-	bool ClearAudioQueue()
-	{
-		if(m_ShareMem.IsValid())
-		{
-			m_lpMem = m_ShareMem.Lock(1000);
-			if(m_lpMem != NULL)
-			{
-				if (m_pQueue->queuelens != 0)
-				{
-					while(m_pQueue->queuelens != 0)
-					{
-						audio_frame*audiotemp = (audio_frame*)aAudioFrameAddr[m_pQueue->frontindex];
-						char*data = (char*)aAudioDataAddr[m_pQueue->frontindex];
-						memset(data,0,audiotemp->framesize);
-						memset(audiotemp,0,sizeof(audio_frame));
-						queueptr qnodetmp			= (queueptr)aQnodeAddr[m_pQueue->frontindex];
-						m_pQueue->frontindex		= qnodetmp->nextqnodeindex;
-						qnodetmp					= (queueptr)aQnodeAddr[m_pQueue->rearindex];
-						qnodetmp->nextqnodeindex	= 0;
-						m_pQueue->queuelens--;	
-					}					
-				}
-				m_ShareMem.Unlock();
-				return true;
-			}
-			else
-			{
-				return false;
-			}
-		}
-		else
-		{
-			return false;
-		}		
-	}
-	
-	//删除队头的数据
-	bool DeleteHeadAudio()  
-	{
-		if(m_ShareMem.IsValid())
-		{
-			m_lpMem = m_ShareMem.Lock(1000);
-			if(m_lpMem != NULL)
-			{
-				if (m_pQueue->queuelens != 0)
-				{	
-					audio_frame*audiotemp = (audio_frame*)aAudioFrameAddr[m_pQueue->frontindex];
-					char*data = (char*)aAudioDataAddr[m_pQueue->frontindex];
-					memset(data,0,audiotemp->framesize);
-					memset(audiotemp,0,sizeof(audio_frame));
-					queueptr qnodetmp			= (queueptr)aQnodeAddr[m_pQueue->frontindex];
-					m_pQueue->frontindex		= qnodetmp->nextqnodeindex;
-					qnodetmp					= (queueptr)aQnodeAddr[m_pQueue->rearindex];
-					qnodetmp->nextqnodeindex	= 0;
-					m_pQueue->queuelens--;			
-				}
-				m_ShareMem.Unlock();
-				return true;
-			}
-			else
-			{
-				return false;
-			}
-		}
-		else
-		{
-			return false;
-		}	
-	}
-	//获取音频包大小
-	int GetFrameSize()
-	{
-		if(m_ShareMem.IsValid())
-		{
-			m_lpMem = m_ShareMem.Lock(1000);
-			if(m_lpMem != NULL)
-			{
-				int nFrameSize = 0;
-				if (m_pQueue->queuelens != 0)
-				{	
-					audio_frame*audiotmp	= (audio_frame*)aAudioFrameAddr[m_pQueue->frontindex];
-					nFrameSize				= audiotmp->framesize;
-				}
-				m_ShareMem.Unlock();
-				return nFrameSize;
-			}
-			else
-			{
-				return 0;
-			}
-		}
-		else
-		{
-			return 0;
-		}
-	}
-};
-
-// 这是已导出类的构造函数。
-// 有关类定义的信息,请参阅 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;
-}
-
-Clibaudioqueue::~Clibaudioqueue()
-{
-	ClearAudioQueue();
-	delete m_pImpl;
-	return;
-}
-
-
-bool Clibaudioqueue::InsertAudio(audio_frame* Audio)
-{
-	bool bRst = m_pImpl->InsertAudio(Audio);
-	return bRst;
-}
-
-bool Clibaudioqueue::GetAudio(audio_frame* Audio)
-{
-	bool bRst = m_pImpl->GetAudio(Audio);
-	return bRst;
-}
-
-bool Clibaudioqueue::GetAudioAndDel(audio_frame* Audio)
-{
-	bool bRst = m_pImpl->GetAudioAndDel(Audio);
-	return bRst;
-}
-
-int Clibaudioqueue::GetAudioLens(void)
-{
-	int i = m_pImpl->GetAudioLens();
-	return i; 
-}
-
-void Clibaudioqueue::ClearAudioQueue()
-{
-	m_pImpl->ClearAudioQueue();
-	return; 
-}
-
-int Clibaudioqueue::GetFrameSize()
-{
-	int i = m_pImpl->GetFrameSize();
-	return i; 
-}	
-
-void Clibaudioqueue::DeleteHeadAudio()
-{
-	m_pImpl->DeleteHeadAudio();
-	return;
-}
-

+ 0 - 66
Other/win/libaudioqueue/libaudioqueue.h

@@ -1,66 +0,0 @@
-// 下列 ifdef 块是创建使从 DLL 导出更简单的
-// 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 LIBAUDIOQUEUE_EXPORTS
-// 符号编译的。在使用此 DLL 的
-// 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将
-// LIBAUDIOQUEUE_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的
-// 符号视为是被导出的。
-#pragma once
-
-#ifdef _WIN32
-#ifdef LIBAUDIOQUEUE_EXPORTS
-#define LIBAUDIOQUEUE_API __declspec(dllexport)
-#else
-#define LIBAUDIOQUEUE_API __declspec(dllimport)
-#endif
-# elif ( defined(__GNUC__) &&  __GNUC__ >= 4 )
-#define LIBAUDIOQUEUE_API __attribute__((visibility("default")))
-#else // _WIN32
-#define LIBAUDIOQUEUE_API
-#endif // _WIN32
-
-
-using namespace std ;
-
-#define MAX_AUDIOQUEUE_LENS     50					//音频队列最大节点数量
-#define MAX_AUDIOQNODE_SIZE     16000				//音频队列单个节点默认最大长度
-
-typedef struct audio_frame 
-{
-	char *data;
-	int samplespersec;   //采样率
-	int framesize;	//数据长度
-	int nchannels;  //通道数
-	int format;			/* AUDIO_FORMAT, 1: PCM*/
-	int bitspersample;	//每个采样点多少bit位
-	int iseriesnumber;
-}audio_frame;
-
-class libaudioqueue_impl;  //桥接
-
-
-// 此类是从 libaudioqueue.dll 导出的
-class LIBAUDIOQUEUE_API Clibaudioqueue 
-{
-public:
-	//audioqueuename:用于访问音频共享内存的共享内存文件名。framesize:默认最大长度,一般使用默认值即可
-	Clibaudioqueue(const char* audioqueuename,int framesize=MAX_AUDIOQNODE_SIZE);
-	~Clibaudioqueue();
-	// TODO: 在此添加您的方法。
-private:
-	libaudioqueue_impl*m_pImpl;
-public:
-	//插音频到队尾
-	bool InsertAudio(audio_frame* Audio);
-	//读队头
-	bool GetAudio(audio_frame* Audio);
-	//读队头并删除队头数据
-	bool GetAudioAndDel(audio_frame* Audio);
-	//获得音频队列的长度
-	int GetAudioLens(void);
-	//获得音频单个节点的大小
-	int GetFrameSize(void);
-	//清空队列
-	void ClearAudioQueue();
-	//删除队头数据
-	void DeleteHeadAudio();
-};

+ 0 - 8
Other/win/libaudioqueue/stdafx.cpp

@@ -1,8 +0,0 @@
-// stdafx.cpp : source file that includes just the standard includes
-// SpBase.pch will be the pre-compiled header
-// stdafx.obj will contain the pre-compiled type information
-
-#include "stdafx.h"
-
-// TODO: reference any additional headers you need in STDAFX.H
-// and not in this file

+ 1 - 1
Other/win/libaudiorender/CMakeLists.txt

@@ -12,7 +12,7 @@ add_library(${MODULE_NAME} SHARED ${${MODULE_PREFIX}_SRCS})
 
 target_include_directories(${MODULE_NAME} PRIVATE
 		${CONAN_INCLUDE_DIRS_SPEEX}/include
-		${OTHER_LIB_PLATFORM_BASE_DIR}/libaudioqueue
+		${OTHER_LIB_BASE_DIR}/libaudioqueue
 	)
 
 

+ 1 - 1
Other/win/libvideorecord/CMakeLists.txt

@@ -31,7 +31,7 @@ target_include_directories(${MODULE_NAME} PRIVATE
 	${CONAN_INCLUDE_DIRS_SPEEXDSP}
     ${CUSTOM_OPENCV_INCLUDES_DIR}
     ${CUSTOM_OPENCV_INCLUDES_DIR}/opencv
-	${OTHER_LIB_PLATFORM_BASE_DIR}/libaudioqueue
+	${OTHER_LIB_BASE_DIR}/libaudioqueue
     ${OTHER_LIB_PLATFORM_BASE_DIR}/libvideoqueue
 	${OTHER_LIB_PLATFORM_BASE_DIR}/libaudions
 	${OTHER_LIB_PLATFORM_BASE_DIR}/rvcmediacommon/common_video