@discordjs/voice 0.19.1 → 0.19.2-dev.1773403496-fe5e3c2a8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -189,6 +189,9 @@ var secretboxLoadPromise = new Promise(async (resolve2) => {
189
189
  resolve2();
190
190
  });
191
191
 
192
+ // src/util/constants.ts
193
+ var RTP_OPUS_PAYLOAD_TYPE = 120;
194
+
192
195
  // src/util/util.ts
193
196
  var noop = /* @__PURE__ */ __name(() => {
194
197
  }, "noop");
@@ -1715,7 +1718,7 @@ to ${stringifyState2(newState)}`);
1715
1718
  createAudioPacket(opusPacket, connectionData, daveSession) {
1716
1719
  const rtpHeader = Buffer7.alloc(12);
1717
1720
  rtpHeader[0] = 128;
1718
- rtpHeader[1] = 120;
1721
+ rtpHeader[1] = RTP_OPUS_PAYLOAD_TYPE;
1719
1722
  const { sequence, timestamp, ssrc } = connectionData;
1720
1723
  rtpHeader.writeUIntBE(sequence, 2, 2);
1721
1724
  rtpHeader.writeUIntBE(timestamp, 4, 4);
@@ -2030,6 +2033,13 @@ var VoiceReceiver = class {
2030
2033
  parsePacket(buffer, mode, nonce2, secretKey, userId) {
2031
2034
  let packet = this.decrypt(buffer, mode, nonce2, secretKey);
2032
2035
  if (!packet) throw new Error("Failed to parse packet");
2036
+ const hasPadding = buffer[0] && Boolean(buffer[0] & 32);
2037
+ if (hasPadding) {
2038
+ const paddingAmount = packet[packet.length - 1];
2039
+ if (paddingAmount < packet.length) {
2040
+ packet = packet.subarray(0, packet.length - paddingAmount);
2041
+ }
2042
+ }
2033
2043
  if (buffer.subarray(12, 14).compare(HEADER_EXTENSION_BYTE) === 0) {
2034
2044
  const headerExtensionLength = buffer.subarray(14).readUInt16BE();
2035
2045
  packet = packet.subarray(4 * headerExtensionLength);
@@ -2055,6 +2065,9 @@ var VoiceReceiver = class {
2055
2065
  const stream = this.subscriptions.get(userData.userId);
2056
2066
  if (!stream) return;
2057
2067
  if (this.connectionData.encryptionMode && this.connectionData.nonceBuffer && this.connectionData.secretKey) {
2068
+ if ((msg[1] & 127) !== RTP_OPUS_PAYLOAD_TYPE) return;
2069
+ const rtpVersion = msg[0] >> 6;
2070
+ if (rtpVersion !== 2) return;
2058
2071
  try {
2059
2072
  const packet = this.parsePacket(
2060
2073
  msg,
@@ -2978,7 +2991,7 @@ __name(findPackageJSON, "findPackageJSON");
2978
2991
  function version(name) {
2979
2992
  try {
2980
2993
  if (name === "@discordjs/voice") {
2981
- return "0.19.1";
2994
+ return "0.19.2-dev.1773403496-fe5e3c2a8";
2982
2995
  }
2983
2996
  const pkg = findPackageJSON(dirname(__require.resolve(name)), name, 3);
2984
2997
  return pkg?.version ?? "not found";
@@ -3126,7 +3139,7 @@ async function demuxProbe(stream, probeSize = 1024, validator = validateDiscordO
3126
3139
  __name(demuxProbe, "demuxProbe");
3127
3140
 
3128
3141
  // src/index.ts
3129
- var version2 = "0.19.1";
3142
+ var version2 = "0.19.2-dev.1773403496-fe5e3c2a8";
3130
3143
  export {
3131
3144
  AudioPlayer,
3132
3145
  AudioPlayerError,
@@ -3140,6 +3153,7 @@ export {
3140
3153
  NoSubscriberBehavior,
3141
3154
  Node,
3142
3155
  PlayerSubscription,
3156
+ RTP_OPUS_PAYLOAD_TYPE,
3143
3157
  SSRCMap,
3144
3158
  SpeakingMap,
3145
3159
  StreamType,