Skip to content

Commit

Permalink
v0.30.0
Browse files Browse the repository at this point in the history
  • Loading branch information
wang-bin committed Nov 8, 2024
1 parent c622a94 commit 4638ca4
Show file tree
Hide file tree
Showing 9 changed files with 51 additions and 15 deletions.
7 changes: 4 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ jobs:
sshpass -p ${SF_PW} scp -o StrictHostKeyChecking=no mdk-sdk-${TARGET_OS}-${{ matrix.arch }}.tar.xz ${SF_USER}@frs.sourceforge.net:/home/frs/project/mdk-sdk/nightly/
iOS:
runs-on: macos-latest
runs-on: macos-15
env:
TARGET_OS: ${{ matrix.os }}${{ matrix.simulator }}
LTO_SUFFIX: -lto
Expand Down Expand Up @@ -188,7 +188,7 @@ jobs:
run: sshpass -p ${SF_PW} scp -o StrictHostKeyChecking=no mdk-sdk-${TARGET_OS}.tar.xz ${SF_USER}@frs.sourceforge.net:/home/frs/project/mdk-sdk/nightly/

Apple:
runs-on: macos-latest
runs-on: macos-15
needs: [macOS, iOS]
steps:
- name: Setup Xcode
Expand Down Expand Up @@ -1113,7 +1113,8 @@ jobs:
uses: softprops/action-gh-release@v2
with:
draft: true
body_path: Changelog.md
body: "Changelog.md"
#body_path: Changelog.md
files: |
*.7z
*.xz
32 changes: 32 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,37 @@
Change log:

# 0.30.0

- API:
- Add `Player.appendBuffer()` to play streams with user provided data, for example data is from [websocket](https://github.com/wang-bin/mdk-examples/blob/master/Native/stream.cpp). media protocol is `stream`, i.e. `player.setMedia("stream:empty_or_any_string")`. `setTimeout()` can abort current playback if timedout to read data from user.
- Plain text subtitle(srt for example) style can be changed by user via [subtitle properties](https://github.com/wang-bin/mdk-sdk/wiki/Player-APIs#subtitle-properties)
- Multi channels audio rendering, no downmix to stereo
- Support dolby vision in mpeg ts
- PulseAudio is the default audio render for linux
- Improve audio renderer delay and AV sync
- VT: Fix hardware decoder disabled if hvcC has no PS NALUs
- D3D11:
- Fix UMA check if run x64 on arm64 and failed to create textures
- Disable cross context 0-copy for AMD gpus to avoid corrupt result on many gpus
- Set usage for swapchain, fix back buffer RTV create error on some win7 devices
- VAAPI:
- Map YUYV fourcc, fix jpeg yuv 422 rendering
- Convert to RGB with VPP if DRM to EGLImage is not possible(desktop gl + external only formats)
- DRM Prime:
- Error if no OpenGL ES2/3 context for external only formats, then VAAPI can fallback to suboptimal rendering instead of blank
- Map more formats
- Player property "audio.tracks", "video.tracks" and "subtitle.tracks" is same as `setActiveTracks()`, value is a int list string, e.g. `"0,1"`
- Reset more callbacks before deleting player object to simplify user code
- Fix undefined symbol on wayland < 1.10, compatible with more linux distributions, e.g. ubuntu 14.04
- More packed yuv formats
- MFT: fix d3d9 not tried if d3d11 is not supported
- Fix null callback invoked if reset by user
- Will try to load Ass.framework on apple OS except macOS, to be compatible with media-kit's frameworks
- FFmpeg: Fix wromg abi version if avfilter is disabled when swresample is loaded and crash, e.g. qt6's ffmpeg dlls
- Add nvjpeg2000 plugin for windows x64, requires cudart64_12.dll and nvjpeg2k_0.dll
- Compatible with libc++20


# 0.29.1

- Android 64bit is built with 16KB page size support
Expand Down
2 changes: 1 addition & 1 deletion README.Android.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
## About SDK for Android
SDK is built with
- ffmpeg: https://sourceforge.net/projects/avbuild/files/android/ffmpeg-master-android-clang-lite-lto.tar.xz/download
- ndk r25b for 32bit, ndk 27 for b4bit
- ndk 27
- requires ndk r23 and later because of ndk abi break in r23

SDK can be used by any C or C++11 compiler, e.g. g++, clang
Expand Down
2 changes: 1 addition & 1 deletion README.Linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
## About SDK for Linux
SDK is built by clang 20 with
- ffmpeg: https://sourceforge.net/projects/avbuild/files/linux/ffmpeg-master-linux-clang-lite-lto.tar.xz/download
- libc++ 18. You can use delete libc++.so from sdk and use system libc++
- libc++ 20. You can use delete libc++.so from sdk and use system libc++

SDK can be used by any C or C++11 compiler, e.g. g++, clang

Expand Down
2 changes: 1 addition & 1 deletion README.iOS.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
https://github.com/wang-bin/swift-mdk

## About SDK for iOS
SDK is built by Xcode 15 with
SDK is built by Xcode 16 with
- ffmpeg: https://sourceforge.net/projects/avbuild/files/iOS/ffmpeg-master-iOS-lite-lto.tar.xz/download
- Minimal system: iOS 8.0
- Support Metal renderer
Expand Down
2 changes: 1 addition & 1 deletion README.macOS.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ https://github.com/wang-bin/swift-mdk
- Support VP9 on macOS 11+
- Support X11 if runtime libraries exist

SDK is built by Xcode 15 with
SDK is built by Xcode 16 with
- ffmpeg: https://sourceforge.net/projects/avbuild/files/macOS/ffmpeg-master-macOS-lite-lto.tar.xz/download

### macOS 10.15+
Expand Down
13 changes: 8 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![Build Status](https://dev.azure.com/kb137035/mdk/_apis/build/status/mdk-CI-yaml?branchName=master)](https://dev.azure.com/kb137035/mdk/_build/latest?definitionId=2&branchName=master)

**Download** [Nightly Build SDK](https://sourceforge.net/projects/mdk-sdk/files/nightly/)
**Download** latest [Nightly Build SDK from sourceforge](https://sourceforge.net/projects/mdk-sdk/files/nightly/) or [github actions(not always latest)](https://nightly.link/wang-bin/mdk-sdk/workflows/build/master)


Sourceforge[![Sourceforge](https://img.shields.io/sourceforge/dt/mdk-sdk)](https://sourceforge.net/projects/mdk-sdk/files)
Expand Down Expand Up @@ -91,14 +91,14 @@ You may fail to run(or codesign) with default hardened runtime options because t
### Recommended settings

- macOS, iOS: `player.setDecoders(MediaType::Video, {"VT", "hap", "FFmpeg", "dav1d"});`
- Windows: `player.setDecoders(MediaType::Video, {"MFT:d3d=11", "D3D11", "CUDA", "hap", "FFmpeg", "dav1d"});`
- Windows: `player.setDecoders(MediaType::Video, {"MFT:d3d=11", "D3D11", "DXVA", "CUDA", "hap", "FFmpeg", "dav1d"});`
- Linux:
```cpp
// XInitThreads(); // If using x11. before any x11 api call. some gui toolkits already call this, e.g. qt, glfw
SetGlobalOption("X11Display", DisplayPtr); // If using x11. Requred by VAAPI, VDPAU
player.setDecoders(MediaType::Video, {"VAAPI", "VDPAU", "CUDA", "hap", "FFmpeg", "dav1d"});
```
- Raspberry Pi: use [mdk-sdk-linux.tar.xz](https://sourceforge.net/projects/mdk-sdk/files/nightly/mdk-sdk-linux.tar.xz/download), delete libffmpeg.so.* to use system ffmpeg to support h264, hevc hardware decoder and 0-copy rendering
- Raspberry Pi: use [mdk-sdk-linux.tar.xz](https://sourceforge.net/projects/mdk-sdk/files/nightly/mdk-sdk-linux.tar.xz/download), delete libffmpeg.so.* to use system ffmpeg to support h264, hevc hardware decoder and use OpenGL ES2/3 0-copy rendering
```cpp
player.setDecoders(MediaType::Video, {"V4L2M2M", "FFmpeg:hwcontext=drm", "FFmpeg"});
```
Expand Down Expand Up @@ -155,11 +155,14 @@ You may fail to run(or codesign) with default hardened runtime options because t
<a href="https://smartplayer.ru"><img src="https://static.tildacdn.com/tild3437-3132-4139-b365-373030343131/Group_100.svg" alt="smartplayer" width=120 height=120 style="background-color:black"></a>
<a href="https://smartplayer.ru"><img src="https://static.tildacdn.com/tild3730-3634-4463-a464-333634323465/Group_20.svg" alt="smartplayer" width=400 height=120 style="background-color:black"></a>
<!-- <a href="https://smartplayer.ru"><img src="https://static.tildacdn.com/tild3431-3533-4461-b365-386335306263/Group_101.svg" alt="smartplayer" width=600 height=120 style="background-color:black"></a> -->
[![](https://teleguard.com/images/logo.png)](https://teleguard.com)[!
[![teleguard](https://teleguard.com/images/logo.png)](https://teleguard.com)[!
![DaKanji](https://dakanji.app/wp-content/uploads/thegem-logos/logo_a496404d3d63fd29f344146e428d0992_2x.png)](https://dakanji.app)
[![Fimosa](https://fimosa.app/_next/image?url=%2Flogo_final.png&w=64&q=75)](https://fimosa.app)
[![Pimosa](https://pimosa.app/_next/image?url=%2Flogo_final.png&w=64&q=75)](https://pimosa.app)
<a href="https://apidash.dev"><img src="https://apidash.dev/media/apidash.png" alt="API Dash" width=120 height=120 style="background-color:black"></a>
[easy live tv](https://github.com/aiyakuaile/easy_tv_live)
[Kazumi](https://github.com/Predidit/Kazumi)
[金嵘达科技](http://www.kingroda.com)
[爱玩宝](https://www.aiwanbao.com)
Expand Down
4 changes: 2 additions & 2 deletions mdk.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'mdk'
s.version = '0.29.1'
s.version = '0.30.0'
s.summary = 'Multimedia Development Kit'
s.homepage = 'https://github.com/wang-bin/mdk-sdk'

Expand All @@ -16,8 +16,8 @@ Pod::Spec.new do |s|
s.platform = :osx, :ios, :tvos, :visionos
s.source = { :http => 'https://sourceforge.net/projects/mdk-sdk/files/nightly/mdk-sdk-apple.tar.xz' }
s.vendored_frameworks = 'mdk-sdk/lib/mdk.xcframework'
# s.osx.vendored_libraries = 'mdk-sdk/lib/mdk.xcframework/macos-arm64_x86_64/mdk.framework/Versions/A/libffmpeg.7.dylib', 'mdk-sdk/lib/mdk.xcframework/macos-arm64_x86_64/mdk.framework/Versions/A/libass.dylib', 'mdk-sdk/lib/mdk.xcframework/macos-arm64_x86_64/mdk.framework/Versions/A/libmdk-braw.dylib', 'mdk-sdk/lib/mdk.xcframework/macos-arm64_x86_64/mdk.framework/Versions/A/libmdk-r3d.dylib'
s.osx.deployment_target = '10.13'
# s.osx.vendored_libraries = 'mdk-sdk/lib/FFmpeg.xcframework/macos-arm64_x86_64/libffmpeg.7.dylib'
s.ios.deployment_target = '12.0'
s.tvos.deployment_target = '12.0'
s.visionos.deployment_target = '1.0'
Expand Down
2 changes: 1 addition & 1 deletion nuget/mdk.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>mdk</id>
<version>0.29.1.0</version>
<version>0.30.0.0</version>
<title>MDK</title>
<authors>Wang Bin</authors>
<owners>Wang Bin</owners>
Expand Down

0 comments on commit 4638ca4

Please sign in to comment.