手机miracast投屏到ops设备没有画面随机问题分析
📅 2026/7/3 13:05:21
👁️ 次浏览
问题手机Miracast投屏至OPS设备时有弹窗无视频画面手机端显示连接投屏成功。问题根因随机出现无视频画面是因为下面两个函数调用的时序不稳定可能会导致sharedDecoder_-Start没有被调用。sharedDecoder_ 对象是在AppendSurface接口里面创建的如果start比AppendSurface先调用则sharedDecoder_ 没有创建isPlaying_ 不会置为true等AppendSurface调用时isPlaying_的值为false也不会调用sharedDecoder_-Start。voidMediaController::Start(){SHARING_LOGI(tttt MediaController::Start.);automediaChannelmediaChannel_.lock();RETURN_IF_NULL(mediaChannel);autodispatchermediaChannel-GetDispatcher();RETURN_IF_NULL(dispatcher);{std::lock_guardstd::mutexlock(playAudioMutex_);if(nullptr!audioPlayController_){if(audioPlayController_-Start(dispatcher)){isPlaying_true;}}}{std::lock_guardstd::mutexlock(playVideoMutex_);if(sharedDecoder_sharedDecoder_-SurfaceCount()0){if(sharedDecoder_-Start(dispatcher)){isPlaying_true;}}}SHARING_LOGI(tttt MediaController::Start end.);}boolMediaController::AppendSurface(sptrSurfacesurface,SceneType sceneType){RETURN_FALSE_IF_NULL(surface);SHARING_LOGI(tttt MediaController::AppendSurface.);std::lock_guardstd::mutexlock(playVideoMutex_);if(!EnsureSharedDecoder()){SHARING_LOGE(cannot create shared decoder, mediachannelId: %{public}u.,mediachannelId_);returnfalse;}uint64_tsurfaceIdsurface-GetUniqueId();if(sharedDecoder_-HasSurface(surfaceId)){SHARING_LOGE(surface is in use, %{public}PRIx64.,surfaceId);returnfalse;}if(!sharedDecoder_-AddSurface(surface,sceneType)){SHARING_LOGE(AddSurface failed, mediachannelId: %{public}u.,mediachannelId_);returnfalse;}SHARING_LOGI(tttt MediaController::AppendSurface, isPlaying_%{public}d,isPlaying_.load());if(isPlaying_){automediaChannelmediaChannel_.lock();if(mediaChannel){autodispatchermediaChannel-GetDispatcher();if(dispatcher){sharedDecoder_-Start(dispatcher);}}}returntrue;}解决方法AppendSurface调用时每次都调用sharedDecoder_-Start。-139,6143,7boolMediaController::AppendSurface(sptrSurfacesurface,SceneType sceneType){RETURN_FALSE_IF_NULL(surface);SHARING_LOGI(tttt MediaController::AppendSurface.);std::lock_guardstd::mutexlock(playVideoMutex_);if(!EnsureSharedDecoder()){SHARING_LOGE(cannot create shared decoder, mediachannelId: %{public}u.,mediachannelId_);-156,12161,15boolMediaController::AppendSurface(sptrSurfacesurface,SceneType sceneType)returnfalse;}-if(isPlaying_){SHARING_LOGI(tttt MediaController::AppendSurface, isPlaying_%{public}d,isPlaying_.load());//if (isPlaying_) {if(true){automediaChannelmediaChannel_.lock();if(mediaChannel){autodispatchermediaChannel-GetDispatcher();if(dispatcher){sharedDecoder_-Start(dispatcher);isPlaying_true;}}}
东北全域冬长夏短,春季大风扬沙、夏季沿江高湿、秋季昼夜温差骤升、冬季零下三十余度极寒,特殊气候持续损耗无线对讲设备,多数单位仅在设备故障后维修,缺少分季节前置养护流程,出现冬季续航跳水、喇叭杂音、接口氧化、…
📅 2026/7/3 13:03:21
3分钟学会QQ音乐加密文件解密:qmcdump终极使用指南 【免费下载链接】qmcdump 一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump
还在为QQ…
📅 2026/7/3 13:03:21
导语在当今竞争激烈的商业环境中,企业形象设计对于企业的发展至关重要。VI(Visual Identity)企业形象设计作为其中的关键部分,能够帮助企业树立独特的品牌形象,增强市场竞争力。2026年,长沙的VI企业形象设计…
📅 2026/7/3 13:03:21
告别龟速下载:用Python脚本解锁百度网盘真实地址的终极方案 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse
你是否曾经面对百度网盘的下载进度条,感觉时…
📅 2026/7/3 14:31:32
1、win系统下,如果你是使用【C:\Users\xxx(你的用户名).local\bin】目录放置claude.exe文件,同时系统变量配置该路径的方式, 使用claude code cli,那么你在需要更新版本或者需要使用某个制定版本的时候,可以使用如下方…
📅 2026/7/3 14:31:32
1. 复杂系统输入扩展的挑战与解决方案在现代嵌入式系统和工业控制领域,我们经常面临一个经典难题:如何用有限的控制引脚管理大量输入信号。传统方案通常有两种极端 - 要么使用引脚资源丰富的昂贵处理器,要么通过复杂的多路复用电路增加设计复…
📅 2026/7/3 14:31:32
1. 这不是“选专业”的问题,而是“踩节奏”的实战判断“自动驾驶 就业情况发展困惑”——这八个字背后,站着成千上万刚走出校门的应届生、转行半年没拿到offer的工程师、手握三篇顶会论文却卡在终面的博士,还有盯着融资新闻反复刷新招聘页面的…
📅 2026/7/3 14:31:32
从入门到精通:Kiran Menu用户手册,解锁Linux桌面隐藏技巧 【免费下载链接】kiran-menu Redesigned start menu for Mate Desktop 项目地址: https://gitcode.com/openeuler/kiran-menu
前往项目官网免费下载:https://ar.openeuler.org…
📅 2026/7/3 14:31:32
1. 项目背景与核心需求 在嵌入式系统开发中,人机交互接口的设计往往是最基础却最容易被忽视的环节。一个典型的案例就是使用2x2矩阵键盘作为输入设备,通过74HC32四路或门芯片与TM4C129LNCZAD微控制器配合实现多功能管理。这种方案常见于工业控制面板、医…
📅 2026/7/3 14:29:32
1. AI Agent设计模式全景概览在智能系统开发领域,AI Agent的设计模式就像建筑师的蓝图,决定了智能体如何感知环境、处理信息并采取行动。从业五年来,我见证过太多团队因为模式选择不当导致系统重构的案例。最近在金融风控系统升级时ÿ…
📅 2026/7/3 0:00:32
1. 项目概述:iOS自动化测试的“定位”之痛做iOS自动化测试的朋友,十有八九都卡在“元素定位”这个环节上。你兴冲冲地写好了测试脚本,结果一运行,要么是找不到元素,要么是找到了但点不动,要么是这次能跑通下…
📅 2026/7/3 0:00:32
MTKClient实战指南:深度解析联发科芯片调试与设备修复方案 【免费下载链接】mtkclient MTK reverse engineering and flash tool 项目地址: https://gitcode.com/gh_mirrors/mt/mtkclient
MTKClient是一款专业的联发科芯片调试工具,为技术爱好者和…
📅 2026/7/3 0:00:32
6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…
📅 2026/7/2 17:37:53
引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…
📅 2026/7/2 17:37:51
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/3 4:46:22
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/2 9:49:12
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/3 10:20:06