[發明專利]媒體插件加載方法、電子設備及計算機可讀存儲介質在審
| 申請號: | 202010894297.6 | 申請日: | 2020-08-31 |
| 公開(公告)號: | CN114116038A | 公開(公告)日: | 2022-03-01 |
| 發明(設計)人: | 王陽濤;蘭文濤;竇澤飛 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 深圳市賽恩倍吉知識產權代理有限公司 44334 | 代理人: | 饒智彬 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 媒體 插件 加載 方法 電子設備 計算機 可讀 存儲 介質 | ||
本申請實施例提供了一種媒體插件加載方法,涉及電子設備領域。在原有的Gstreamer框架下針對每個媒體插件增設用于描述插件信息的插件描述文件,在響應媒體播放任務時,通過遍歷各插件描述文件來得到每個媒體插件的描述信息,再根據每個媒體插件的描述信息及該媒體播放任務需求確定需加載的媒體插件,以執行插件加載與媒體播放管道構建,避免將所有媒體插件加載到內存。本申請實施例還提供了一種電子設備及計算機可讀存儲介質。本申請對于不同的媒體播放任務,僅加載所需要的媒體插件,可避免造成內存資源浪費。
技術領域
本申請涉及多媒體領域,尤其涉及一種媒體插件加載方法、電子設備及計算機可讀存儲介質。
背景技術
GStreamer框架是一種在GNOME桌面環境下用來構建流媒體應用的多媒體框架。GStreamer框架可以被劃分成兩個部分:Gstreamer核心框架和Gstreamer插件。Gstreamer核心框架是基礎,Gstreamer插件是基于Gstreamer核心框架實現的具體功能,不同設備可以根據設備形態選擇打包不同的插件構建特定的媒體服務能力。Gstreamer核心框架根據輸入的媒體數據格式,查詢插件注冊表信息,創建能夠處理這些媒體數據的插件對象,組合成一條媒體播放管道(pipeline管道),每個插件負責媒體數據播放的其中一個環節,整個媒體播放管道形成了媒體播放的功能。
如圖1所示,Gstreamer框架在第一次啟動進行初始化時,會依次遍歷并加載所有的Gstreamer插件,從中讀取每個Gstreamer插件的描述信息,并記錄到注冊表緩存文件中。由于需要dlopen所有Gstreamer插件,導致在執行媒體播放任務時,不需要真正使用的Gstreamer插件亦被加載到內存中,造成內存資源浪費。如圖2所示,Gstreamer框架為了完成一項媒體播放任務,基于加載到內存中的Gstreamer插件創建插件對象,形成媒體播放管道。當媒體播放任務完成時,無法自動卸載Gstreamer插件,導致媒體服務進程的常駐內存過大,造成內存資源緊缺。
發明內容
有鑒于此,有必要提供一種媒體插件加載方法,其可克服上述問題,識別不同的媒體播放任務所需要的媒體插件,以實現合理加載媒體插件。
本申請實施例第一方面公開了一種媒體插件加載方法,應用于多媒體播放組件。多媒體播放組件包括多個媒體插件及與每個媒體插件對應的插件描述文件,插件描述文件記載對應的媒體插件的描述信息。所述方法包括:響應于獲取到的對媒體數據的處理需求,讀取每個插件描述文件并得到相應的媒體插件的描述信息;基于每個媒體插件的描述信息及媒體數據的處理需求,從多個媒體插件中確定需加載的目標媒體插件;加載目標媒體插件至指定存儲區,并基于加載的目標媒體插件創建插件對象;基于創建的插件對象構建媒體播放管道,并利用媒體播放管道對媒體數據進行處理。
通過采用該技術方案,可實現合理加載媒體插件,對于不同的媒體播放任務,僅加載所需要的媒體插件,使得媒體服務占用內存最小化。
在一種可能的實現方式中,基于每個媒體插件的描述信息及媒體數據的處理需求,從多個媒體插件中確定需加載的目標媒體插件,包括:基于每個媒體插件的描述信息及媒體數據的處理需求,判斷多媒體播放組件是否具備處理所述媒體數據的能力;若多媒體播放組件具備處理媒體數據的能力,從多個媒體插件中確定需加載的目標媒體插件;或若多媒體播放組件不具備處理媒體數據的能力,返回插件加載異常的提示信息。通過采用該技術方案,可以在確定媒體播放任務所需要的媒體插件前,先判斷多媒體播放組件是否具備執行該媒體播放任務的能力。
在一種可能的實現方式中,所述多個媒體插件預先存儲在不同于指定存儲區的第一存儲區,所述加載目標媒體插件至指定存儲區包括:從第一存儲區讀取所述目標媒體插件并將目標媒體插件加載至指定存儲區。通過采用該技術方案,可以實現僅將媒體播放任務所需要的媒體插件加載至指定存儲區。
在一種可能的實現方式中,第一存儲區為硬盤的存儲區,指定存儲區為內存的存儲區。通過采用該技術方案,可以實現僅將媒體播放任務所需要的媒體插件加載至內存。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010894297.6/2.html,轉載請聲明來源鉆瓜專利網。





