Fix freeze

This commit is contained in:
kokarare1212 2021-11-21 21:57:57 +09:00
parent ba0428823c
commit bd71ecde46
No known key found for this signature in database
GPG Key ID: 7FDF07581C3706D3
2 changed files with 16 additions and 9 deletions

View File

@ -77,13 +77,14 @@ class ChannelManager(Closeable, PacketsReceiver):
channel_manager: ChannelManager
chunk_id: int
q = queue.Queue()
__buffer = io.BytesIO()
__buffer: io.BytesIO
__chunk_index: int
__file: AudioFile
__header: bool = True
def __init__(self, channel_manager: ChannelManager, file: AudioFile,
chunk_index: int):
self.__buffer = io.BytesIO()
self.channel_manager = channel_manager
self.__file = file
self.__chunk_index = chunk_index

View File

@ -518,9 +518,10 @@ class EventService(Closeable):
raise NotImplementedError
class EventBuilder:
body = io.BytesIO()
body: io.BytesIO
def __init__(self, event_type: EventService.Type):
self.body = io.BytesIO()
self.append_no_delimiter(event_type.value[0])
self.append(event_type.value[1])
@ -580,21 +581,21 @@ class Session(Closeable, MessageListener, SubListener):
scheduler = sched.scheduler(time.time)
__api: ApiClient
__ap_welcome: Authentication.APWelcome
__audio_key_manager: typing.Union[AudioKeyManager, None]
__audio_key_manager: typing.Union[AudioKeyManager, None] = None
__auth_lock = threading.Condition()
__auth_lock_bool = False
__cache_manager: typing.Union[CacheManager, None]
__cdn_manager: typing.Union[CdnManager, None]
__channel_manager: typing.Union[ChannelManager, None]
__channel_manager: typing.Union[ChannelManager, None] = None
__client: typing.Union[requests.Session, None]
__closed = False
__closing = False
__content_feeder: typing.Union[PlayableContentFeeder, None]
__dealer_client: typing.Union[DealerClient, None]
__event_service: typing.Union[EventService, None]
__dealer_client: typing.Union[DealerClient, None] = None
__event_service: typing.Union[EventService, None] = None
__keys: DiffieHellman
__mercury_client: MercuryClient
__receiver: typing.Union[Receiver, None]
__receiver: typing.Union[Receiver, None] = None
__search: typing.Union[SearchManager, None]
__server_key = b"\xac\xe0F\x0b\xff\xc20\xaf\xf4k\xfe\xc3\xbf\xbf\x86=" \
b"\xa1\x91\xc6\xcc3l\x93\xa1O\xb3\xb0\x16\x12\xac\xacj" \
@ -1004,6 +1005,7 @@ class Session(Closeable, MessageListener, SubListener):
elif packet.is_cmd(Packet.Type.auth_failure):
ap_login_failed = Keyexchange.APLoginFailed()
ap_login_failed.ParseFromString(packet.payload)
self.close()
raise Session.SpotifyAuthenticationException(ap_login_failed)
else:
raise RuntimeError("Unknown CMD 0x" + packet.cmd.hex())
@ -1056,7 +1058,10 @@ class Session(Closeable, MessageListener, SubListener):
return self
class Accumulator:
__buffer = io.BytesIO()
__buffer: io.BytesIO
def __init__(self):
self.__buffer = io.BytesIO()
def read(self) -> bytes:
"""
@ -1433,10 +1438,11 @@ class Session(Closeable, MessageListener, SubListener):
)
class ConnectionHolder:
__buffer = io.BytesIO()
__buffer: io.BytesIO
__socket: socket.socket
def __init__(self, sock: socket.socket):
self.__buffer = io.BytesIO()
self.__socket = sock
@staticmethod