VLC 简要

本文主要介绍了VLC的核心部分LibVLC,它是一个提供多种功能接口的库,包括流访问、音视频输出等。还阐述了LibVLC各模块的功能,如用户交互、播放列表管理等,同时介绍了播放列表模块的文件及相关函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Chapter 1. VLC Overview
Table of Contents
LibVLC
VLC
Modules
Threads
Code conventions

LibVLC
LibVLC is the core part of VLC,It is a library providing an interface for programs such as VLC of a lot of functionalities such as stream access,audio and video output,plugin handing, a thread system. All the LibVLC source files are located int the src./ directory and its subdirectories:
----- interface/: contains code for user interaction such as key presses and device ejection.
----- playlist/:    managers playlist interaction such as stop,play,next, or randow playback.
----- input/:        opens an input module,read packets, pares them and passes reconstituted elementary
                          streams to the decoder(s).
----- video_output:/  initializes the video display, gets all pictures and subpictures (ie. subtiles) from the
                           decoder(s), optinally convents them to another format (such as YUV to RGB), and display
                            them.
----- audio_output/:  initializes the audio mixer, ie. finds the right playing frequency, and the resamples
                            audio frames received from the decoder(s).
----- stream_output/: TODO
----- misc/:       miscellaneous utilities used in other parts of libvlc, such as the thread system, the message
                          queue,CPU detection,the object lookup system, or platform-specific code.

Data flow between modules



I. playlist
 
playlist module include  six  files : playlist.c,sort.c,group.c,info.c,item.c,item_ext.c

    |---playlist.c
    |         |-------------  playlist_t * __playlist_Create ( vlc_object_t *p_parent )
    |         |                  建立一个 playlist 对象,初始化playlist_t sturct 相关的值
    |         |                  加载相关模块和功能
    |         |                  相关函数:
    |         |                   int __var_Create( vlc_object_t *p_this, const char *psz_name, int i_type );
    |         |                  int __var_Set( vlc_object_t *p_this, const char *psz_name, vlc_value_t val );
    |         |------------- void playlist_Destroy( playlist_t * p_playlist )
    |         |                   释放playlist_t 对象,和卸载相关模块
    |         |       
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值