Configurable Snapcast buffer size, fixes #408
This commit is contained in:
@ -40,6 +40,7 @@ class Extension( ext.Extension ):
|
|||||||
schema['snapcast_enabled'] = config.Boolean()
|
schema['snapcast_enabled'] = config.Boolean()
|
||||||
schema['snapcast_host'] = config.String()
|
schema['snapcast_host'] = config.String()
|
||||||
schema['snapcast_port'] = config.Integer()
|
schema['snapcast_port'] = config.Integer()
|
||||||
|
schema['snapcast_buffer_size'] = config.Integer()
|
||||||
return schema
|
return schema
|
||||||
|
|
||||||
def setup(self, registry):
|
def setup(self, registry):
|
||||||
|
|||||||
@ -8,3 +8,4 @@ genius_authorization_url = https://jamesbarnsley.co.nz/iris/auth_genius.php
|
|||||||
snapcast_enabled = false
|
snapcast_enabled = false
|
||||||
snapcast_host = localhost
|
snapcast_host = localhost
|
||||||
snapcast_port = 1705
|
snapcast_port = 1705
|
||||||
|
snapcast_buffer_size = 8192
|
||||||
|
|||||||
@ -46,6 +46,7 @@ class IrisSnapcast(object):
|
|||||||
|
|
||||||
self.connect()
|
self.connect()
|
||||||
self.listen = True
|
self.listen = True
|
||||||
|
buffer_size = int(self.config['iris']['snapcast_buffer_size'])
|
||||||
|
|
||||||
logger.info("Established Snapcast listener")
|
logger.info("Established Snapcast listener")
|
||||||
broadcast(data={'method':'snapcast_connected'})
|
broadcast(data={'method':'snapcast_connected'})
|
||||||
@ -67,9 +68,8 @@ class IrisSnapcast(object):
|
|||||||
|
|
||||||
# Rread and print the available data on any of the read list
|
# Rread and print the available data on any of the read list
|
||||||
for socket in readlist:
|
for socket in readlist:
|
||||||
|
|
||||||
# Allow a relatively large buffer size to handle large JSON payloads
|
message = socket.recv(buffer_size)
|
||||||
message = socket.recv(8192)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
message = json.loads(message)
|
message = json.loads(message)
|
||||||
|
|||||||
Reference in New Issue
Block a user