29 lines
861 B
Python
29 lines
861 B
Python
import logging
|
|
|
|
from pychromecast.controllers.media import MediaStatusListener
|
|
|
|
|
|
class SubtitlesAsyncHandler(MediaStatusListener):
|
|
"""
|
|
This class is used to enable subtitles when the media is loaded.
|
|
"""
|
|
|
|
def __init__(self, mc, subtitle_id):
|
|
self.mc = mc
|
|
self.subtitle_id = subtitle_id
|
|
self.initialized = False
|
|
self.logger = logging.getLogger(__name__)
|
|
|
|
def new_media_status(self, *_):
|
|
if self.subtitle_id and not self.initialized:
|
|
self.mc.update_status()
|
|
self.mc.enable_subtitle(self.subtitle_id)
|
|
self.initialized = True
|
|
|
|
def load_media_failed(self, queue_item_id: int, error_code: int) -> None:
|
|
self.logger.warning(
|
|
"Failed to load media with queue_item_id %d, error code: %d",
|
|
queue_item_id,
|
|
error_code,
|
|
)
|