throw error if the videoID returned is different
This commit is contained in:
parent
4c1a5f84fa
commit
389e49183c
|
@ -30,3 +30,6 @@ end
|
||||||
# Exception threw when an element is not found.
|
# Exception threw when an element is not found.
|
||||||
class NotFoundException < InfoException
|
class NotFoundException < InfoException
|
||||||
end
|
end
|
||||||
|
|
||||||
|
class VideoNotAvailableException < Exception
|
||||||
|
end
|
||||||
|
|
|
@ -909,6 +909,10 @@ def extract_video_info(video_id : String, proxy_region : String? = nil, context_
|
||||||
"reason" => JSON::Any.new(reason),
|
"reason" => JSON::Any.new(reason),
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
elsif video_id != player_response.dig("videoDetails", "videoId")
|
||||||
|
# YouTube may return a different video player response than expected.
|
||||||
|
# See: https://github.com/TeamNewPipe/NewPipe/issues/8713
|
||||||
|
raise VideoNotAvailableException.new("The video returned by YouTube isn't the requested one.")
|
||||||
else
|
else
|
||||||
reason = nil
|
reason = nil
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue