Skip to content

Commit b2ac359

Browse files
committed
release: 发版 0.12.0
1 parent d1b9916 commit b2ac359

File tree

22 files changed

+63
-28
lines changed

22 files changed

+63
-28
lines changed

Changelog

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,34 @@
1+
version 0.12.0:
2+
3+
feat:
4+
- feat(avformat): dump chapters
5+
- feat(avformat): 增强 mp4 和 mkv 对 metadata 的支持能力,mp4 支持章节
6+
- feat(avplayer): hls 和 dash 切换分辨率支持立即切换和平滑切换
7+
- feat(avformat): wav 支持解析 id3 标签
8+
- refactor(avformat): wav、mp3、flac 的 metadata 移到 formatContext 下面变成文件级元数据
9+
- feat(avnetwork): FileIOLoader 支持传 blob
10+
- feat(avformat): mp4 支持 pcm 音频格式
11+
- feat(avrender): 各个 render 支持 alpha 渲染
12+
- feat(avcodec): webcodecs 解码器支持解码 alpha(vp8、vp9、av1) 视频
13+
- feat(avplayer): avplayer 支持使用 webcodecs 播放透明的 webm 和 mkv 视频
14+
- feat(avformat): mp4 支持写 webvtt,mkv 支持写 ass 和 webvtt
15+
- feat(avcodec): 添加 png、webp、gif、bmp、tiff 图片解码器
16+
- feat(avformat): AVStream 新增 discard 字段,用于控制 demux.readAVPacket 是否读取某些流的包(mp4 格式使用)
17+
- feat(avformat): 支持音频格式中封面流解析、播放、转码
18+
- feat(avformat): flac 和 wav 的 AVPacket 支持 duration 字段
19+
- feat(avformat): 添加 flac 封装器
20+
- refactor(avformat): OMovFormat -> OIsobmffFormat,IMovFormat -> IIsobmffFormat(需更改导入路径)
21+
- feat(avformat): avformat 支持 stream group
22+
- feat(avformat): 支持 heif、avif 格式
23+
- feat(avcodec): WebVideoDecoder options 新增可以配置 colorSpace、rotation、flip 等参数
24+
25+
bugfix:
26+
- fix(avformat): ts 对跨 pes 的 nalu 判断前置 sei 为一帧的开始
27+
- fix(avplayer): mes 支持 audio extradata 变化
28+
- fix(avutil): AVPacket 和 EncodedChunk 直接转换处理 duration
29+
- fix(avplayer): 音频或者视频不支持解码忽略而不是报错
30+
31+
132
version 0.11.0:
233

334
feat:

scripts/build-package.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,12 @@ function getVersion() {
214214
}
215215

216216
function compile(fileNames, options, writeCallback, cjs = false, defined = {}) {
217+
if (options.outDir) {
218+
fs.rmSync(options.outDir, { recursive: true, force: true })
219+
}
220+
if (options.declarationDir) {
221+
fs.rmSync(options.declarationDir, { recursive: true, force: true })
222+
}
217223
const program = ts.createProgram(fileNames, options);
218224
const emitResult = program.emit(undefined, writeCallback, undefined, undefined, {
219225
before: [

site/.dumi/app.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,6 @@ function createTemplate(memo: { files: IFiles } | Project, props: any, isStackBl
2727
if (isStackBlitz && name === 'App.tsx') {
2828
content = `import '@libmedia/cheap/cheapdef'\n` + content;
2929
}
30-
// TODO 线上包先兼容旧 mp4 路径,后面发布新包去掉
31-
if (isStackBlitz && /utils\.ts$/.test(name)) {
32-
content = content.replace('@libmedia/avformat/formats/IIsobmffFormat', '@libmedia/avformat/formats/IMovFormat')
33-
content = content.replace('case AVFormat.ISOBMFF:', 'case AVFormat.MP4:')
34-
}
35-
if (isStackBlitz && /mux\.tsx$/.test(name)) {
36-
content = content.replace('@libmedia/avformat/formats/OIsobmffFormat', '@libmedia/avformat/formats/OMovFormat')
37-
}
3830
memo.files[`src/${name}`] = content;
3931
}
4032
delete memo.files[name];

src/audioresample/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@libmedia/audioresample",
3-
"version": "0.11.0",
3+
"version": "0.12.0",
44
"description": "libmedia 音频重采样模块",
55
"repository": {
66
"type": "git",

src/audiostretchpitch/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@libmedia/audiostretchpitch",
3-
"version": "0.11.0",
3+
"version": "0.12.0",
44
"description": "libmedia 音频变调变速",
55
"repository": {
66
"type": "git",

src/avcodec/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@libmedia/avcodec",
3-
"version": "0.11.0",
3+
"version": "0.12.0",
44
"description": "libmedia 编解码模块",
55
"repository": {
66
"type": "git",

src/avfilter/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@libmedia/avfilter",
3-
"version": "0.11.0",
3+
"version": "0.12.0",
44
"description": "libmedia filter 模块",
55
"repository": {
66
"type": "git",

src/avformat/formats/isobmff/function/getNextSample.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ import { avRescaleQ } from 'avutil/util/rational'
3131
import { IOFlags } from 'avutil/avformat'
3232
import type { EncryptionInfo } from 'avutil/struct/encryption'
3333
import { AVDiscard } from 'avutil/AVStream'
34-
import { AVPacketFlags } from 'avutil/enum'
34+
import { AVPacketFlags } from 'avutil/struct/avpacket'
3535

3636
export function getNextSample(context: AVIFormatContext, isobmffContext: IsobmffContext, ioFlags: int32) {
3737
let sample: Sample

src/avformat/formats/isobmff/iisobmff.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
*/
2525

2626
import type AVStream from 'avutil/AVStream'
27-
import { AVDisposition, AVStreamGroup, AVStreamGroupParamsType, AVStreamGroupTileGrid, AVStreamMetadataKey } from 'avutil/AVStream'
27+
import { AVDisposition, AVStreamGroupParamsType, AVStreamGroupTileGrid, AVStreamMetadataKey } from 'avutil/AVStream'
2828
import type { Atom, FragmentTrack, HEIFGrid, HEIFItem, IsobmffContext, IsobmffStreamContext, Sample } from './type'
2929
import IOReader from 'common/io/IOReader'
3030
import mktag from '../../function/mktag'
@@ -46,9 +46,10 @@ import digital2Tag from '../../function/digital2Tag'
4646
import { iTunesKeyMap } from './iTunes'
4747
import { readITunesTagValue } from './parsing/meta'
4848
import { tag2CodecId } from './isobmff'
49-
import { AVPacketFlags, IOFlags } from 'avutil/enum'
5049
import * as object from 'common/util/object'
5150
import * as errorType from 'avutil/error'
51+
import { IOFlags } from 'avutil/avformat'
52+
import { AVPacketFlags } from 'avutil/struct/avpacket'
5253

5354

5455
export async function readFtyp(ioReader: IOReader, context: IsobmffContext, atom: Atom) {

src/avformat/formats/mp3/id3v2.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@ import BufferReader from 'common/io/BufferReader'
3636
import { addAVPacketData, createAVPacket, getAVPacketData } from 'avutil/util/avpacket'
3737
import { avMalloc } from 'avutil/util/mem'
3838
import { memcpyFromUint8Array } from 'cheap/std/memory'
39-
import { AVPacketFlags } from 'avutil/enum'
4039
import * as array from 'common/util/array'
4140
import * as object from 'common/util/object'
4241
import concatTypeArray from 'common/function/concatTypeArray'
42+
import { AVPacketFlags } from 'avutil/struct/avpacket'
4343

4444
export const enum ID3v2Encoding {
4545
ISO8859,

0 commit comments

Comments
 (0)