浏览代码

Z991239-3726 #comment 优化音频设备停止流程

80274480 3 年之前
父节点
当前提交
3df907f7c5
共有 1 个文件被更改,包括 14 次插入14 次删除
  1. 14 14
      Other/libaudioframework/audiomicspkpulse.c

+ 14 - 14
Other/libaudioframework/audiomicspkpulse.c

@@ -902,13 +902,13 @@ int audio_stop_playaudio(audio_context_t* audio_ctx)
 	if (AUDIO_STRM_ON == audio_ctx->play_stream_flag){
 		audio_ctx->play_stream_flag = AUDIO_STRM_OFF;
 		if (0 != audio_ctx->writethreadid) {
-			//if (0 == pthread_join(audio_ctx->writethreadid, NULL)) {
-			struct timespec ts;
-			clock_gettime(CLOCK_REALTIME, &ts);
-			long unsec = ts.tv_nsec + (1000 * 1000 * 1000);
-			ts.tv_sec += (unsec / 1000000000);
-			ts.tv_nsec = (unsec % 1000000000);
-			if (0 == pthread_timedjoin_np(audio_ctx->writethreadid, NULL, &ts)) {
+			if (0 == pthread_join(audio_ctx->writethreadid, NULL)) {
+			//struct timespec ts;
+			//clock_gettime(CLOCK_REALTIME, &ts);
+			//long unsec = ts.tv_nsec + (1000 * 1000 * 1000);
+			//ts.tv_sec += (unsec / 1000000000);
+			//ts.tv_nsec = (unsec % 1000000000);
+			//if (0 == pthread_timedjoin_np(audio_ctx->writethreadid, NULL, &ts)) {
 				audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d pulse audio write thread %u joined success.", __FUNCTION__, __LINE__, audio_ctx->writethreadid);
 				audio_ctx->writethreadid = 0;
 			}
@@ -928,13 +928,13 @@ int audio_stop_pulseaudio(audio_context_t* audio_ctx)
 	if (AUDIO_STRM_ON == audio_ctx->stream_flag){
 		audio_ctx->stream_flag = AUDIO_STRM_OFF;
 		if (0 != audio_ctx->readthreadid){
-			//if (0 == pthread_join(audio_ctx->readthreadid, NULL)) {
-			struct timespec ts;
-			clock_gettime(CLOCK_REALTIME, &ts);
-			long unsec = ts.tv_nsec + (1000 * 1000 * 1000);
-			ts.tv_sec += (unsec / 1000000000);
-			ts.tv_nsec = (unsec % 1000000000);
-			if (0 == pthread_timedjoin_np(audio_ctx->readthreadid, NULL, &ts)) {
+			if (0 == pthread_join(audio_ctx->readthreadid, NULL)) {
+			//struct timespec ts;
+			//clock_gettime(CLOCK_REALTIME, &ts);
+			//long unsec = ts.tv_nsec + (1000 * 1000 * 1000);
+			//ts.tv_sec += (unsec / 1000000000);
+			//ts.tv_nsec = (unsec % 1000000000);
+			//if (0 == pthread_timedjoin_np(audio_ctx->readthreadid, NULL, &ts)) {
 				audio_log_v(AUDIO_LOG_LEVEL_INFO, "%s:%d pulse audio read thread %u joined success.", __FUNCTION__, __LINE__, audio_ctx->readthreadid);
 				audio_ctx->readthreadid = 0;
 			}