StreamingCodecDisabler: Add VP8 & VP9 & Fix Not Working
This commit is contained in:
parent
f3818c31d4
commit
1f7015888a
1 changed files with 20 additions and 17 deletions
|
|
@ -9,16 +9,18 @@ import { EquicordDevs } from "@utils/constants";
|
|||
import definePlugin, { OptionType } from "@utils/types";
|
||||
import { MediaEngineStore } from "@webpack/common";
|
||||
|
||||
let mediaEngine = MediaEngineStore;
|
||||
|
||||
const originalCodecStatuses: {
|
||||
AV1: boolean,
|
||||
H265: boolean,
|
||||
H264: boolean;
|
||||
VP8: boolean;
|
||||
VP9: boolean;
|
||||
} = {
|
||||
AV1: true,
|
||||
H265: true,
|
||||
H264: true
|
||||
H264: true,
|
||||
VP8: true,
|
||||
VP9: true,
|
||||
};
|
||||
|
||||
const settings = definePluginSettings({
|
||||
|
|
@ -37,6 +39,16 @@ const settings = definePluginSettings({
|
|||
type: OptionType.BOOLEAN,
|
||||
default: false
|
||||
},
|
||||
disableVP8Codec: {
|
||||
description: "Make Discord not consider using VP8 for streaming.",
|
||||
type: OptionType.BOOLEAN,
|
||||
default: false
|
||||
},
|
||||
disableVP9Codec: {
|
||||
description: "Make Discord not consider using VP9 for streaming.",
|
||||
type: OptionType.BOOLEAN,
|
||||
default: false
|
||||
},
|
||||
});
|
||||
|
||||
export default definePlugin({
|
||||
|
|
@ -56,26 +68,17 @@ export default definePlugin({
|
|||
],
|
||||
|
||||
async updateDisabledCodecs() {
|
||||
mediaEngine.setAv1Enabled(originalCodecStatuses.AV1 && !Settings.plugins.StreamingCodecDisabler.disableAv1Codec);
|
||||
mediaEngine.setH265Enabled(originalCodecStatuses.H265 && !Settings.plugins.StreamingCodecDisabler.disableH265Codec);
|
||||
mediaEngine.setH264Enabled(originalCodecStatuses.H264 && !Settings.plugins.StreamingCodecDisabler.disableH264Codec);
|
||||
},
|
||||
|
||||
async start() {
|
||||
mediaEngine = mediaEngine.getMediaEngine();
|
||||
const mediaEngine = MediaEngineStore.getMediaEngine();
|
||||
const options = Object.keys(originalCodecStatuses);
|
||||
// [{"codec":"","decode":false,"encode":false}]
|
||||
const CodecCapabilities = JSON.parse(await new Promise(res => mediaEngine.getCodecCapabilities(res)));
|
||||
CodecCapabilities.forEach((codec: { codec: string; encode: boolean; }) => {
|
||||
if (options.includes(codec.codec)) {
|
||||
originalCodecStatuses[codec.codec] = codec.encode;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
async stop() {
|
||||
mediaEngine.setAv1Enabled(originalCodecStatuses.AV1);
|
||||
mediaEngine.setH265Enabled(originalCodecStatuses.H265);
|
||||
mediaEngine.setH264Enabled(originalCodecStatuses.H264);
|
||||
}
|
||||
mediaEngine.setAv1Enabled(originalCodecStatuses.AV1 && !Settings.plugins.StreamingCodecDisabler.disableAv1Codec);
|
||||
mediaEngine.setH265Enabled(originalCodecStatuses.H265 && !Settings.plugins.StreamingCodecDisabler.disableH265Codec);
|
||||
mediaEngine.setH264Enabled(originalCodecStatuses.H264 && !Settings.plugins.StreamingCodecDisabler.disableH264Codec);
|
||||
},
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue