attempt to fix ad skips

This commit is contained in:
dmunozv04
2023-12-04 11:18:12 +01:00
parent 8c7c2cc206
commit 8d76bdd1c1

View File

@@ -70,12 +70,16 @@ class YtLoungeApi(pyytlounge.YtLoungeApi):
if self.mute_ads and data.get("state", "0") == "1": if self.mute_ads and data.get("state", "0") == "1":
# print("Ad has ended, unmuting") # print("Ad has ended, unmuting")
create_task(self.mute(False, override=True)) create_task(self.mute(False, override=True))
elif self.mute_ads and event_type == "onAdStateChange": elif event_type == "onAdStateChange":
data = args[0] data = args[0]
if data["adState"] == '0': # Ad is not playing if data["adState"] == '0': # Ad is not playing
# print("Ad has ended, unmuting") # print("Ad has ended, unmuting")
create_task(self.mute(False, override=True)) create_task(self.mute(False, override=True))
else: # Seen multiple other adStates, assuming they are all ads elif self.skip_ads and data["isSkipEnabled"] == "true": # YouTube uses strings for booleans
print("Ad can be skipped, skipping")
create_task(self.skip_ad())
create_task(self.mute(False, override=True))
elif self.mute_ads: # Seen multiple other adStates, assuming they are all ads
print("Ad has started, muting") print("Ad has started, muting")
create_task(self.mute(True, override=True)) create_task(self.mute(True, override=True))
# Manages volume, useful since YouTube wants to know the volume when unmuting (even if they already have it) # Manages volume, useful since YouTube wants to know the volume when unmuting (even if they already have it)
@@ -96,13 +100,8 @@ class YtLoungeApi(pyytlounge.YtLoungeApi):
if vid_id := data["contentVideoId"]: if vid_id := data["contentVideoId"]:
print(f"Getting segments for next video: {vid_id}") print(f"Getting segments for next video: {vid_id}")
create_task(self.api_helper.get_segments(vid_id)) create_task(self.api_helper.get_segments(vid_id))
if self.mute_ads:
if data["isSkippable"] == "true": # YouTube uses strings for booleans create_task(self.mute(True, override=True))
if self.skip_ads:
create_task(self.skip_ad())
create_task(self.mute(False, override=True))
elif self.mute_ads:
create_task(self.mute(True, override=True))
elif event_type == "loungeStatus": elif event_type == "loungeStatus":
data = args[0] data = args[0]