@@ -653,23 +653,30 @@ def _make_fakepacket(self) -> FakePacket:
653
653
654
654
def _process_packet (self , packet : Packet ) -> VoiceData :
655
655
from discord .object import Object
656
+ from discord .voice import VoiceData
656
657
657
- pcm = None
658
+ assert self . sink . client
658
659
659
- if not self .sink .is_opus ():
660
- packet , pcm = self ._decode_packet (packet )
660
+ pcm = None
661
661
662
662
member = self ._get_cached_member ()
663
663
664
664
if member is None :
665
- self ._cached_id = self .sink .client ._connection . _get_id_from_ssrc (self .ssrc )
665
+ self ._cached_id = self .sink .client ._ssrc_to_id . get (self .ssrc )
666
666
member = self ._get_cached_member ()
667
+ else :
668
+ self ._cached_id = member .id
667
669
668
670
# yet still none, use Object
669
671
if member is None and self ._cached_id :
670
672
member = Object (id = self ._cached_id )
671
673
672
- data = VoiceData (packet , member , pcm = pcm )
674
+ if not self .sink .is_opus ():
675
+ _log .debug ("Decoding packet %s (type %s)" , packet , type (packet ))
676
+ packet , pcm = self ._decode_packet (packet )
677
+
678
+
679
+ data = VoiceData (packet , member , pcm = pcm ) # type: ignore
673
680
self ._last_seq = packet .sequence
674
681
self ._last_ts = packet .timestamp
675
682
return data
0 commit comments