Skip to content

Commit 6e95a02

Browse files
committed
Release v1.4.0
-Removing superfluous functions from the OggDemuxer class and updating. -Modifying the MatroskaDemuxer class to better handle end-of-string demuxing. -Removing FFMPEG as a dependency as a result of having written our own audio Demuxers. For the Matroska and Ogg containers. Significant reduction to build time as well as memory usage while streaming audio. -Switching from std::copy to std::memcpy.
1 parent 014c764 commit 6e95a02

File tree

305 files changed

+16179
-16789
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

305 files changed

+16179
-16789
lines changed

.clang-format

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ AllowShortLambdasOnASingleLine: None
1717
AllowShortLoopsOnASingleLine: 'false'
1818
AlwaysBreakAfterDefinitionReturnType: None
1919
AlwaysBreakAfterReturnType: None
20-
ColumnLimit: '140'
20+
AlwaysBreakTemplateDeclarations: 'No'
21+
ColumnLimit: '150'
2122
CompactNamespaces: 'false'
2223
ConstructorInitializerIndentWidth: '4'
2324
ContinuationIndentWidth: '4'

.github/workflows/Build-DiscordCoreAPI-Linux-Main.yml

-95
This file was deleted.

.github/workflows/Build-Documentation.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,4 @@ jobs:
4040
cd DiscordCoreAPI-Docs
4141
sudo git add .
4242
sudo git commit -m "Updates!" || true
43-
sudo git push origin main || true
43+
sudo git push origin main || true

.github/workflows/CLANG_17.yml

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
2+
name: Build-and-Test-CLANG
3+
4+
on:
5+
push:
6+
branches:
7+
- main
8+
- dev
9+
10+
jobs:
11+
Build:
12+
runs-on: ubuntu-22.04
13+
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
clang: [17]
18+
build_type: [Debug, Release]
19+
std: [23]
20+
21+
steps:
22+
- uses: actions/checkout@v3
23+
24+
- name: Update Vcpkg and install other dependencies.
25+
run: |
26+
sudo apt-get upgrade
27+
sudo apt-get update
28+
sudo apt-get install nasm
29+
cd /usr/local/share/vcpkg
30+
./bootstrap-vcpkg.sh
31+
git stash
32+
git pull
33+
vcpkg update
34+
35+
- name: Install Clang17
36+
run: |
37+
sudo apt remove clang-14
38+
wget https://apt.llvm.org/llvm.sh
39+
chmod +x llvm.sh
40+
sudo ./llvm.sh 17
41+
42+
- name: Copy the Jsonifier repo over.
43+
run: |
44+
sudo git clone https://github.com/RealTimeChris/Jsonifier
45+
sudo cp -r -v ./Jsonifier/Vcpkg/* /usr/local/share/vcpkg/
46+
47+
- name: Install the dependencies.
48+
run: |
49+
vcpkg install jsonifier:x64-linux
50+
vcpkg install opus:x64-linux
51+
vcpkg install libsodium:x64-linux
52+
vcpkg install openssl:x64-linux
53+
54+
- name: Configure CMake
55+
working-directory: Tests
56+
run: |
57+
cmake -S . -B ./Build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=/usr/bin/clang++-17 -DGITHUB_BRANCH_TYPE=${{github.ref}}
58+
59+
- name: Build the Test
60+
working-directory: Tests/Build
61+
run: |
62+
cmake --build . --config=${{matrix.build_type}}
63+
64+
- name: Run the Test
65+
working-directory: Tests/Build
66+
run: |
67+
./DiscordCoreAPITest
68+
continue-on-error: true
69+
+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Prepare release for VCPKG
2+
3+
on:
4+
release:
5+
types: [published,edited]
6+
workflow_dispatch:
7+
8+
jobs:
9+
Collect-Vcpkg-Info:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Setup PHP
13+
uses: shivammathur/setup-php@v2
14+
with:
15+
php-version: '8.1'
16+
17+
- name: Checkout DiscordCoreAPI
18+
uses: actions/checkout@v2
19+
with:
20+
submodules: recursive
21+
22+
- name: Update vcpkg and install other dependencies
23+
run: sudo apt-get update &&
24+
sudo apt-get install nasm linux-headers-$(uname -r) &&
25+
cd /usr/local/share/vcpkg &&
26+
sudo ./bootstrap-vcpkg.sh &&
27+
sudo git stash &&
28+
sudo git pull &&
29+
sudo vcpkg update
30+
31+
- name: Run vcpkg release builder
32+
run: git fetch -avt &&
33+
cd BuildTools &&
34+
php make_vcpkg.php "${{ github.repository_owner }}" "${{ secrets.GITHUB_TOKEN }}"

.github/workflows/DeleteRuns.yml

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Delete old workflow runs
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
days:
6+
description: 'Number of days.'
7+
required: true
8+
default: "0"
9+
minimum_runs:
10+
description: 'The minimum runs to keep for each workflow.'
11+
required: true
12+
default: "1"
13+
delete_workflow_pattern:
14+
description: 'The name or filename of the workflow. if not set then it will target all workflows.'
15+
required: false
16+
delete_workflow_by_state_pattern:
17+
description: 'Remove workflow by state: active, deleted, disabled_fork, disabled_inactivity, disabled_manually'
18+
required: true
19+
default: "All"
20+
type: choice
21+
options:
22+
- "All"
23+
- active
24+
- deleted
25+
- disabled_inactivity
26+
- disabled_manually
27+
delete_run_by_conclusion_pattern:
28+
description: 'Remove workflow by conclusion: action_required, cancelled, failure, skipped, success'
29+
required: true
30+
default: "All"
31+
type: choice
32+
options:
33+
- "All"
34+
- action_required
35+
- cancelled
36+
- failure
37+
- skipped
38+
- success
39+
dry_run:
40+
description: 'Only log actions, do not perform any delete operations.'
41+
required: false
42+
43+
jobs:
44+
del_runs:
45+
runs-on: ubuntu-latest
46+
steps:
47+
- name: Delete workflow runs
48+
uses: Mattraks/delete-workflow-runs@v2
49+
with:
50+
token: ${{ github.token }}
51+
repository: ${{ github.repository }}
52+
retain_days: ${{ github.event.inputs.days }}
53+
keep_minimum_runs: ${{ github.event.inputs.minimum_runs }}
54+
delete_workflow_pattern: ${{ github.event.inputs.delete_workflow_pattern }}
55+
delete_workflow_by_state_pattern: ${{ github.event.inputs.delete_workflow_by_state_pattern }}
56+
delete_run_by_conclusion_pattern: ${{ github.event.inputs.delete_run_by_conclusion_pattern }}
57+
dry_run: ${{ github.event.inputs.dry_run }}

.github/workflows/GCC_12.yml

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Build-and-Test-GCC
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- dev
8+
9+
jobs:
10+
Build:
11+
runs-on: ubuntu-22.04
12+
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
gcc: [12]
17+
build_type: [Debug, Release]
18+
std: [23]
19+
env:
20+
CC: gcc-${{matrix.gcc}}
21+
CXX: g++-${{matrix.gcc}}
22+
23+
steps:
24+
- uses: actions/checkout@v3
25+
26+
- name: Update Vcpkg and install other dependencies.
27+
run: |
28+
sudo apt-get upgrade
29+
sudo apt-get update
30+
sudo apt-get install nasm
31+
cd /usr/local/share/vcpkg
32+
./bootstrap-vcpkg.sh
33+
git stash
34+
git pull
35+
vcpkg update
36+
37+
- name: Copy the Jsonifier repo over.
38+
run: |
39+
sudo git clone https://github.com/RealTimeChris/Jsonifier
40+
sudo cp -r -v ./Jsonifier/Vcpkg/* /usr/local/share/vcpkg/
41+
42+
- name: Install the dependencies.
43+
run: |
44+
vcpkg install jsonifier:x64-linux
45+
vcpkg install opus:x64-linux
46+
vcpkg install libsodium:x64-linux
47+
vcpkg install openssl:x64-linux
48+
49+
- name: Configure CMake
50+
working-directory: Tests
51+
run: |
52+
cmake -S . -B ./Build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DGITHUB_BRANCH_TYPE=${{github.ref}}
53+
54+
- name: Build the Test
55+
working-directory: Tests/Build
56+
run: |
57+
cmake --build . --config=${{matrix.build_type}}
58+
59+
- name: Run the Test
60+
working-directory: Tests/Build
61+
run: |
62+
./DiscordCoreAPITest
63+
continue-on-error: true

0 commit comments

Comments
 (0)