Skip to content

Commit c3c1d7e

Browse files
committed
release version 0.7.0
- API: - add `Player.setProperty()` - add `VideoFrame` class - add `Player.onFrame()` to get decoded frame, can be used by custom filters - support `MediaStatus::Seeking` - add snapshot [MediaEvent](https://github.com/wang-bin/mdk-sdk/wiki/Types#class-mediaevent) - `seek()` callback parameter is -2 if seek request is ignored - ABI: no break - `setBackgroundColor()`: if alpha is 0(default), you have to call `glClearColor`(or d3d11 api) manually. - Add FindMDK.cmake in sdk lib/cmake dir, support multiple target architectures. - Fix multiple D3D11 renderer crash - Fix crash if audio device is not available - Fix music with cover buffering progress error - Fix last frames not rendered if prepare() from a position closed to end of stream. - Player.setVideoSurfaceSize(-1, -1) can remove the renderer - prepare() starts from 0 if requested start position > stream duration or duration is unknown - Improve A-B loop if B is closed to or larger than end of file - Fix block if A-B loop restarts when previous seeking is not finished - Music with cover art: fix png not rendered. fix block if stop by user. - Seek: - Fix SeekFromNow - Fix audio file read error after seek - When end of stream decoded and in paused state - Fix seek never work if previous seek failed - position() never change after a seek error or a frequent seek request - snapshot: fix msvc crash - OpenGL: - Save and restore blend states - Skip loading EGL if context is not created by mdk - FFmpeg: - support avfilter complex filters via Player property ["video.avfilter" and "audio.avfilter"](https://github.com/wang-bin/mdk-sdk/wiki/Player-APIs#void-setpropertyconst-stdstring-key-const-stdstring-value) - Optimize audio filter if in/out parameters are the same - Improve video encoder - VT decoder: - Fix the last frame not rendered - Support AnnexB streams - Reduce exported classes - Fix crashes, memory leaks in stress tests. - Metal renderer: WIP - Audio encoder: WIP
1 parent 158acf2 commit c3c1d7e

File tree

2 files changed

+47
-11
lines changed

2 files changed

+47
-11
lines changed

Changelog.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,49 @@
11
Change log:
22

3+
0.7.0 - 2020-02-17
4+
5+
- API:
6+
- add `Player.setProperty()`
7+
- add `VideoFrame` class
8+
- add `Player.onFrame()` to get decoded frame, can be used by custom filters
9+
- support `MediaStatus::Seeking`
10+
- add snapshot [MediaEvent](https://github.com/wang-bin/mdk-sdk/wiki/Types#class-mediaevent)
11+
- `seek()` callback parameter is -2 if seek request is ignored
12+
- ABI: no break
13+
- `setBackgroundColor()`: if alpha is 0(default), you have to call `glClearColor`(or d3d11 api) manually.
14+
- Add FindMDK.cmake in sdk lib/cmake dir, support multiple target architectures.
15+
- Fix multiple D3D11 renderer crash
16+
- Fix crash if audio device is not available
17+
- Fix music with cover buffering progress error
18+
- Fix last frames not rendered if prepare() from a position closed to end of stream.
19+
- Player.setVideoSurfaceSize(-1, -1) can remove the renderer
20+
- prepare() starts from 0 if requested start position > stream duration or duration is unknown
21+
- Improve A-B loop if B is closed to or larger than end of file
22+
- Fix block if A-B loop restarts when previous seeking is not finished
23+
- Music with cover art: fix png not rendered. fix block if stop by user.
24+
- Seek:
25+
- Fix SeekFromNow
26+
- Fix audio file read error after seek
27+
- When end of stream decoded and in paused state
28+
- Fix seek never work if previous seek failed
29+
- position() never change after a seek error or a frequent seek request
30+
- snapshot: fix msvc crash
31+
- OpenGL:
32+
- Save and restore blend states
33+
- Skip loading EGL if context is not created by mdk
34+
- FFmpeg:
35+
- support avfilter complex filters via Player property ["video.avfilter" and "audio.avfilter"](https://github.com/wang-bin/mdk-sdk/wiki/Player-APIs#void-setpropertyconst-stdstring-key-const-stdstring-value)
36+
- Optimize audio filter if in/out parameters are the same
37+
- Improve video encoder
38+
- VT decoder:
39+
- Fix the last frame not rendered
40+
- Support AnnexB streams
41+
- Reduce exported classes
42+
- Fix crashes, memory leaks in stress tests.
43+
- Metal renderer: WIP
44+
- Audio encoder: WIP
45+
46+
347
0.6.1 - 2020-01-05
448

549
- Improve D3D11 renderer, more pixel formats

README.md

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,13 @@ Install via [NuGet](https://www.nuget.org/packages/mdk) in Visual Studio for bot
1111
- Cross platform: Windows, UWP, Linux, macOS, Android, iOS, Raspberry Pi
1212
- Hardware accelerated decoding and 0-copy GPU rendering for all platforms
1313
- OpenGL and D3D11 rendering w/ or w/o user provided context
14-
- Ingegrated with any gui toolkits or apps via OpenGL and D3D11 (OBS, Qt, SDL, glfw, SFML etc.) easily
14+
- Integrated with any gui toolkits or apps via OpenGL and D3D11 (OBS, Qt, SDL, glfw, SFML etc.) easily
1515
- Seamless/Gapless media and bitrate switch for any media
1616
- User configurable FFmpeg libraries at runtime
1717
- HDR rendering in GPU
1818

19-
## FFmpeg Runtime Lookup
20-
FFmpeg modules can be specified via environment var AVUTIL_LIB, AVCODEC_LIB, AVFORMAT_LIB, AVFILTER_LIB, SWRESAMPLE_LIB, SWSCALE_LIB, or SetGlobalOption() with key avutil_lib, avcodec_lib, avformat_lib, swresample_lib, swscale_lib, avfilter_lib. For example `SetGlobalOption("avutil_lib", "/opt/lib/libavutil.so.56")`
21-
22-
If ffmpeg any module is not set, it's searched in the following order
23-
- current module dir > framework dir(apple) > system default search dir
24-
- single ffmpeg library w/ version > single ffmpeg library w/o version > ffmpeg modules w/ version > ffmpeg modules w/o version
25-
26-
## MDK OpenGL v.s. MPV OpenGL CB
27-
- No additional initialization, simply call renderVideo()
28-
19+
## FFmpeg Runtime
20+
See https://github.com/wang-bin/mdk-sdk/wiki/FFmpeg-Runtime
2921

3022
## [API Levels](https://github.com/wang-bin/mdk-sdk/wiki/%E9%80%9A%E7%94%A8ABI%E7%9A%84CPP%E5%BA%93API%E8%AE%BE%E8%AE%A1)
3123
- ABI level APIs(not public): the implementation, in abi namespace. depends on c++ abi. build and runtime abi must be matched.

0 commit comments

Comments
 (0)