HiStreamer is the foundation module of the multimedia subsystem. It provides a processing pipeline and plug-ins required by the media framework, such as the file source, codecs, muxer and demuxer, and audio and video data processor.
As a media engine, HiStreamer connects to player_framework (on a Standard device) or media_lite (on a Mini or Small device) and provides application apis externally. It is divided into three layers:
The HiStreamer plug-in list is as follows:
The plug-in name | path | External dependencies | License | function | applicable scene |
---|---|---|---|---|---|
FFMPEG Adapter | plugins/ffmpeg_adapter | FFMPEG | LGPL etc. | Decapsulation: mp3, m4a, mp4, wav Decode: mp3, aac |
Small/Standard devices that support dynamic linking |
File Source | plugins/source/file_source | FileSystem | Apache | Reading file data | All the device |
Minimp3 Adapter | plugins/minimp3_adapter | minimp3 | CC0 | Decapsulation: mp3 decode : mp3 |
All the device |
Minimp4 Demuxer | plugins/demuxer/minimp4_demuxer | minimp4 | CC0 | Decapsulation: m4a | All the device |
Aac Demuxer | plugins/demuxer/aac_demuxer | NA | Apache | Decapsulation: aac | All the device |
HDI Sink | plugins/hdi_adapter | Audio HDI | Apache | play music | mini/small device |
The structure of the repository directory is as follows:
/foundation/multimedia/histreamer # HiStreamer media engine component business code
├─LICENSE # The license file
├─engine # The engine code
│ ├─foundation # Basic tool classes, including OS adaptation
│ ├─include # Expose the necessary header files for calling histreamer in other modules, including calling pipeline/filter or calling plugins.
│ │ ├─foundation # Basic tool library of histreamer, including logging, buffer tools, operating system adaptation, language extensions, etc.
│ │ ├─pipeline # Header files for the pipeline framework, mainly the pipeline/filter interface.
│ │ └─plugin # Header files for the "plugin" subfolder of the engine
│ │ ├─common # Basic type header files required for plugin interfaces
│ │ └─interface # Plugin interfaces
│ ├─pipeline # pipeline framework
│ │ ├─core # pipeline core implementation
│ │ ├─factory # filter factory
│ │ └─filters # Several filter node implementations
│ │ ├─codec # Codec node implementation
│ │ ├─common # Basic type definitions required by filters
│ │ ├─demux # Decapsulation node implementation
│ │ ├─muxer # Capsulation node implementation
│ │ ├─sink # Output node implementation
│ │ └─source # Data source node implementation
│ ├─plugin # plug-in
│ │ ├─common # The underlying type definitions on which the plug-in interface depends
│ │ ├─core # Plug-in framework
│ │ └─plugins # Several plug-in implementations
│ │ ├─codec_adapter # Codec adapter
│ │ ├─minimp3_adapter # minimp3 adapter
│ │ ├─ffmpeg_adapter # FFMPEG adaption (adaption into encapsulation and decapsulation, codec plug-in)
│ │ ├─hdi_adapter # HDI adapter (adapter to output plug-in)
│ │ ├─lite_aac_decoder # Lite AAC decoder plugin
│ │ ├─demuxer # Unpack plugin
│ │ ├─sink # Output plug-in
│ │ └─source # Data source plug-in
│ ├─scene # Playback and recording scenes
│ │ ├─common # Common basic type definitions
│ │ ├─lite # interface implementation for integration with lite devices
│ │ ├─player # Playback scene
│ │ ├─recorder # Recording scene
│ │ └─standard # interface implementation for integration with standard devices
└─interface # Engine external interface
histreamer
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
Activity
Community
Health
Trend
Influence
:Code submit frequency
:React/respond to issue & PR etc.
:Well-balanced team members and collaboration
:Recent popularity of project
:Star counts, download counts etc.