Skip to content

Commit

Permalink
Merge branch 'iv-org:master' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
broquemonsieur committed Aug 7, 2023
2 parents 4307a24 + 3450896 commit 0803a43
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 9 deletions.
7 changes: 4 additions & 3 deletions shard.lock
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
version: 2.0
shards:
ameba:
git: https://github.com/crystal-ameba/ameba.git
version: 1.5.0

athena-negotiation:
git: https://github.com/athena-framework/negotiation.git
version: 0.1.1
Expand Down Expand Up @@ -44,6 +48,3 @@ shards:
git: https://github.com/crystal-lang/crystal-sqlite3.git
version: 0.18.0

ameba:
git: https://github.com/crystal-ameba/ameba.git
version: 0.14.3
4 changes: 2 additions & 2 deletions shard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ version: 0.20.1

authors:
- Omar Roth <omarroth@protonmail.com>
- Invidous team
- Invidious team

targets:
invidious:
Expand Down Expand Up @@ -35,7 +35,7 @@ development_dependencies:
version: ~> 0.10.4
ameba:
github: crystal-ameba/ameba
version: ~> 0.14.3
version: ~> 1.5.0

crystal: ">= 1.0.0, < 2.0.0"

Expand Down
10 changes: 6 additions & 4 deletions src/invidious/videos/parser.cr
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,9 @@ def extract_video_info(video_id : String, proxy_region : String? = nil)
client_config = YoutubeAPI::ClientConfig.new(proxy_region: proxy_region)

# Fetch data from the player endpoint
# 8AEB param is used to fetch YouTube stories
player_response = YoutubeAPI.player(video_id: video_id, params: "8AEB", client_config: client_config)
# CgIQBg is a workaround for streaming URLs that returns a 403.
# See https://github.com/iv-org/invidious/issues/4027#issuecomment-1666944520
player_response = YoutubeAPI.player(video_id: video_id, params: "CgIQBg", client_config: client_config)

playability_status = player_response.dig?("playabilityStatus", "status").try &.as_s

Expand Down Expand Up @@ -135,8 +136,9 @@ end

def try_fetch_streaming_data(id : String, client_config : YoutubeAPI::ClientConfig) : Hash(String, JSON::Any)?
LOGGER.debug("try_fetch_streaming_data: [#{id}] Using #{client_config.client_type} client.")
# 8AEB param is used to fetch YouTube stories
response = YoutubeAPI.player(video_id: id, params: "8AEB", client_config: client_config)
# CgIQBg is a workaround for streaming URLs that returns a 403.
# See https://github.com/iv-org/invidious/issues/4027#issuecomment-1666944520
response = YoutubeAPI.player(video_id: id, params: "CgIQBg", client_config: client_config)

playability_status = response["playabilityStatus"]["status"]
LOGGER.debug("try_fetch_streaming_data: [#{id}] Got playabilityStatus == #{playability_status}.")
Expand Down

0 comments on commit 0803a43

Please sign in to comment.