【webrtc】MessageHandler 7: 基于线程的消息处理:切换main线程向observer发出通知

news2025/1/11 5:09:10

以当前线程作为main线程

在这里插入图片描述

RemoteAudioSource 作为一个handler 仅实现一个退出清理的功能

  • 首先on message的处理会切换到main 线程 :main_thread_
  • 其次,这里在main 线程对sink_ 做清理
  • 再次,在main 线程做出状态改变,并能通知给所有的observer 做出on changed 行为。

在这里插入图片描述

对接mediachannel的工作是在worker线程执行的

在这里插入图片描述

RemoteAudioSource 在main 线程处理消息的原因是,消息是在main线程投递的

  • 当 OnAudioChannelGone 发生,这里是说OnAudioChannelGone 可能是在libjingl

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1636001.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

记一次使用Notepad++正则表达式批量替换SQL语句

目录 一、需求二、解决方案三、正则解析 一、需求 存在如下SQL建表脚本: CREATE TABLE "BUSINESS_GOODS" ( "ID" VARCHAR(32) NOT NULL, "GOODS_CODE" VARCHAR(50), "GOODS_NAME" VARCHAR(100), ... NOT CLUSTER PRIMARY…

2024年Q1季度电子书线上市场数据分析:高端市场潜力巨大,销额同比超170%!

数字阅读设备的普及和互联网技术的不断进步,越来越多的读者选择使用电子书来获取知识和娱乐。在今年Q1季度中,电子书线上市场规模正在持续扩大。 根据鲸参谋数据显示,在线上电商平台(某东)电子书Q1销量累计约23.3万件…

动手学深度学习——从零实现softmax分类模型

1. 数据集 fashion mnist是一个由10个类别图像组成的服装分类数据集,共包含60000张训练集图像和10000张测试集图像, 前者用于训练模型参数,后者用于评估模型性能。 2.1 数据集下载 先进行依赖库导入: %matplotlib inline …

JENKINS 安装,学习运维从这里开始

Download and deployJenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their softwarehttps://www.jenkins.io/download/首先点击上面。下载Jenkins 为了学习,从windows开始&#x…

ES集群分布式查询原理

集群分布式查询 elasticsearch的查询分成两个阶段: scatter phase:分散阶段,coordinating node会把请求分发到每一个分片gather phase:聚集阶段,coordinating node汇总data node的搜索结果,并处理为最终结…

【stomp 实战】Spring websocket 用户订阅和会话的管理

通过Spring websocket 用户校验和业务会话绑定我们学会了如何将业务会话绑定到spring websocket会话上。通过这一节,我们来分析一下会话和订阅的实现 用户会话的数据结构 SessionInfo 用户会话 用户会话定义如下: private static final class Sessio…

03 - 步骤 Kafka producer

简介 Kafka producer 步骤,用于将 Kettle 中经过处理或转换的数据发送到 Kafka 的主题中 使用 场景 我需要把经过Kettle处理完的数据发送到一个Kafka中,让后端服务器进行下一步处理。 1、拖拽 Kafka producer 到面板 2、配置 Kafka producer 3、调试…

FSD自动驾驶泛谈

特斯拉的FSD(Full-Self Driving,全自动驾驶)系统是特斯拉公司研发的一套完全自动驾驶系统。旨在最终实现车辆在多种驾驶环境下无需人类干预的自动驾驶能力。以下是对FSD系统的详细探讨: 系统概述 FSD是特斯拉的自动驾驶技术&…

架设WebSocket的最后一环,如何设置好nginx反向代理

WebScoket都已经完工快一个月,经过一段时间的测试,公司还是准备把服务器换到鹅厂,用EO来解决CDN内容分发和DDOS防护问题,由于EO并不支持URL 路径转发,只支持转发到一个站点的80或则443端口,如果想做路径分发…

从Paint 3D入门glTF

Paint 3D Microsoft Paint 3D是微软的一款图像编辑软件,它是传统的Microsoft Paint程序的升级版。 这个新版本的Paint专注于三维设计和创作,使用户可以使用简单的工具创建和编辑三维模型。 Microsoft Paint 3D具有直观的界面和易于使用的工具&#xff0…

小程序地理位置权限如何申请?

这篇内容会教大家如何快速申请“获取当前的地理位置(onLocationChange)”接口,以便帮助大家顺利开通接口。以下内容是本人经历了多次的申请经历得出来的经验,来之不易,望大家给予鼓励! 小程序地理位置接口有…

百川crm系统 汽车销售租赁CRM客户管理系统是不可或缺的利器?

在竞争激烈的汽车销售租赁市场中,如何提升客户满意度、优化业务流程、提高销售效率,成为了每一家汽车销售租赁公司必须面对的问题。而CRM(客户关系管理)客户管理系统,正是应对这些挑战的重要利器。本文将从汽车销售租赁…

18 如何设计微服务才能防止宕机?

在上一讲里,介绍了构建一个稳健的微服务的具体法则:防备上游、做好自己、怀疑下游, 并介绍了为什么要防备上游,以及一些防备上游的具体手段。 在本讲里,咱们一起来学习,做好微服务自身的设计和代码编写的常…

ollama-python-Python快速部署Llama 3等大型语言模型最简单方法

ollama介绍 在本地启动并运行大型语言模型。运行Llama 3、Phi 3、Mistral、Gemma和其他型号。 Llama 3 Meta Llama 3 是 Meta Inc. 开发的一系列最先进的模型,提供8B和70B参数大小(预训练或指令调整)。 Llama 3 指令调整模型针对对话/聊天用…

Centos7+Hadoop3.3.4+KDC1.15+Ranger2.4.0集成

一、集群规划 本次测试采用3台虚拟机,操作系统版本为centos7.6。 kerberos采用默认YUM源安装,版本为:1.15.1-55 Ranger版本为2.4.0 系统用户为ranger:ranger IP地址主机名KDCRanger192.168.121.101node101.cc.localKDC masterRanger Admin…

如何找到台式电脑的ip地址

在数字时代,每台接入网络的设备都拥有一个独特的标识,这就是IP地址。无论是手机、笔记本电脑还是台式电脑,IP地址都扮演着至关重要的角色,它帮助设备在网络世界中定位并与其他设备进行通信。对于许多电脑用户来说,了解…

JavaScript原型链深度剖析

目录 前言 一、原型链 1.原型链的主要组成 原型(Prototype) 构造函数(Constructor) 实例(Instance) 2.原型链的工作原理 前言 在JavaScript的世界中,原型链(Prototype Chain&…

“Postman 中文版使用教程:如何切换到中文界面?”

Postman 的很好用的接口测试软件。但是,Postman 默认是英文版的,也不支持在软件内切换为中文版。很多同学的英语并不是很好,看到一堆的英文很是头痛。 今天我们来介绍下:切换到 Postman 中文版的方法。想要学习更多的关于 Postma…

IDEA 中 git fetch 验证报错 The provided password or token is incorrect

参考链接: 【GitLab】-HTTP Basic: Access denied.remote:You must use a personal access token_http basic: access denied. the provided password o-CSDN博客 idea使用gitLab报错:remote: HTTP Basic: Access denied_idea remote: http basic: acc…

MoonBit 周报 Vol.39:新增 JS 后端、插件和构建系统同步支持多后端开发……

MoonBit 更新 新增JavaScript后端 目前MoonBit已新增对JavaScript的支持并带来前所未有的性能提升,在JS后端实现了超出Json5近8倍性能的优势。更详细的介绍可以看一下这篇文章:IDEA研究院编程语言MoonBit发布JavaScript后端,速度提升25倍 …