FFMPEG学习【libavutil】:音频相关(一)
来源:互联网 发布:小程序服务器域名要求 编辑:程序博客网 时间:2024/05/18 03:40
一、音频FIFO缓冲区
一)、函数
void av_audio_fifo_free (AVAudioFifo *af)释放AVAudioFifo。
参数:sample_fmt:采样格式
channels:频道数量
nb_samples:初始分配大小,在样本中
返回:新分配的AVAudioFifo,或错误的NULL
参数:af:AVAudioFifo重新分配
nb_samples:新分配大小,在样本中
返回:如果OK,则为0,否则为ERROR代码
如果可用空间小于nb_samples,则AVAudioFifo将自动重新分配。
参数:af:写入的AVAudioFifo
data:音频数据平面指针
nb_samples:要写的样本数
返回:实际写入的样本数,或失败的负错误代码。 如果成功,实际写入的样本数将始终为nb_samples。
参数:af:从中读取的AVAudioFifo
data:音频数据平面指针
nb_samples:要窥探的样本数量
返回:样品数量实际窥视,否则AVERROR代码失败。 实际窥视的样本数量将不会大于nb_samples,如果av_audio_fifo_size小于nb_samples,则它将仅小于nb_samples。
参数:af:从中读取的AVAudioFifo
data:从中读取的AVAudioFifo
nb_samples:要窥探的样本数量
offset:偏离当前读取位置
返回:样品数量实际窥视,否则AVERROR代码失败。 实际窥视的样本数量将不会大于nb_samples,如果av_audio_fifo_size小于nb_samples,则它将仅小于nb_samples。
参数:af:从中读取的AVAudioFifo
data:从中读取的AVAudioFifo
nb_samples:要读取的样本数
返回:实际读取的样本数,或失败时为负的AVERROR代码。 实际读取的样本数量不会大于nb_samples,如果av_audio_fifo_size小于nb_samples,则它将仅小于nb_samples。
删除数据而不读取它。
参数:af:排除的AVAudioFifo
nb_samples:排出的样本数目
返回:如果OK,则为0,否则为ERROR代码
这将清空缓冲区中的所有数据。
参数:af:重置的AVAudioFifo
参数:af:进行查询的AVAudioFifo
返回:可用于读取的样本数
参数:af:进行查询的VAudioFifo
返回:可用于写入的样本数量
二、音频通道掩码
通道布局是一个64位整数,每个通道都有一个位设置。
设置的位数必须等于通道数。 值0表示通道布局未知。
注意:这种数据结构不够强大,无法处理具有相同通道多次的通道组合,例如双单声道。
#define AV_CH_STEREO_RIGHT 0x40000000见AV_CH_STEREO_LEFT。
#define AV_CH_WIDE_LEFT 0x0000000080000000ULL #define AV_CH_WIDE_RIGHT 0x0000000100000000ULL #define AV_CH_SURROUND_DIRECT_LEFT 0x0000000200000000ULL #define AV_CH_SURROUND_DIRECT_RIGHT 0x0000000400000000ULL #define AV_CH_LOW_FREQUENCY_2 0x0000000800000000ULL #define AV_CH_LAYOUT_NATIVE 0x8000000000000000ULL用于AVCodecContext.request_channel_layout的通道掩码值,用于指示用户请求解码器输出的通道顺序为本地编解码器通道顺序。
- FFMPEG学习【libavutil】:音频相关(一)
- FFMPEG学习【libavutil】:音频相关(二)
- FFMPEG学习【libavutil】:音频相关(三)
- FFMPEG学习【libavutil】:Memory Management(一)
- FFMPEG学习【libavutil】:数据结构(一)
- FFMPEG学习【libavutil】:视频相关
- FFMPEG学习【libavutil】:Crypto and Hashing(一)
- FFMPEG学习【libavutil】:Memory Management(二)
- FFMPEG学习【libavutil】:数据结构(二)
- FFMPEG学习【libavutil】:数据结构(三)
- FFMPEG学习【libavutil】:数据结构(四)
- FFMPEG学习【libavutil】:Mathematics
- FFMPEG学习【libavutil】:Mathematics:AVRational
- FFMPEG学习【libavutil】:String Manipulation
- FFMPEG学习【libavutil】:Crypto and Hashing(二)
- FFMPEG学习【libavutil】:Crypto and Hashing(三)
- FFMPEG学习【libavutil】:Crypto and Hashing(四)
- FFMPEG学习【libavutil】:Crypto and Hashing(五)
- iOS 获取沙盒下所有特定文件
- 电信针对SSR 海外限速办法
- 关于注释,JS的关键字,和对象的定义
- 建造者模式
- index索引
- FFMPEG学习【libavutil】:音频相关(一)
- C++之迭代器介绍
- HDU4268 Alice and Bob【贪心+SET】
- DNSChef的使用
- Swift基础之使用Alamofire库进行网络请求和断点下载
- Scala之部分应用函数
- js正则分割字符串
- JavaScript中的关键字和保留字
- C++重载运算符的规则详解