1
1
namespace TubePlayer . Business ;
2
2
3
- public class YoutubeService : IYoutubeService
3
+ public class YoutubeService ( IYoutubeEndpoint client , IYoutubePlayerEndpoint playerClient ) : IYoutubeService
4
4
{
5
- private readonly IYoutubeEndpoint _client ;
6
- private readonly IYoutubePlayerEndpoint _playerClient ;
7
-
8
- public YoutubeService ( IYoutubeEndpoint client , IYoutubePlayerEndpoint playerClient )
9
- {
10
- _client = client ;
11
- _playerClient = playerClient ;
12
- }
13
-
14
5
public async Task < YoutubeVideoSet > SearchVideos ( string searchQuery , string nextPageToken , uint maxResult , CancellationToken ct )
15
6
{
16
- var resultData = await _client . SearchVideos ( searchQuery , nextPageToken , maxResult , ct ) ;
7
+ var resultData = await client . SearchVideos ( searchQuery , nextPageToken , maxResult , ct ) ;
17
8
18
9
var results = resultData ? . Items ? . Where ( result =>
19
10
! string . IsNullOrWhiteSpace ( result . Snippet ? . ChannelId )
@@ -35,8 +26,8 @@ public async Task<YoutubeVideoSet> SearchVideos(string searchQuery, string nextP
35
26
. Distinct ( StringComparer . OrdinalIgnoreCase )
36
27
. ToArray ( ) ;
37
28
38
- var asyncDetails = _client . GetVideoDetails ( videoIds , ct ) ;
39
- var asyncChannels = _client . GetChannels ( channelIds , ct ) ;
29
+ var asyncDetails = client . GetVideoDetails ( videoIds , ct ) ;
30
+ var asyncChannels = client . GetChannels ( channelIds , ct ) ;
40
31
await Task . WhenAll ( asyncDetails , asyncChannels ) ;
41
32
42
33
var detailsItems = ( await asyncDetails ) ? . Items ;
@@ -90,7 +81,7 @@ public async Task<YoutubeVideoSet> SearchVideos(string searchQuery, string nextP
90
81
""" ;
91
82
92
83
// Get the available stream data
93
- var streamData = await _playerClient . GetStreamData ( streamVideo , ct ) ;
84
+ var streamData = await playerClient . GetStreamData ( streamVideo , ct ) ;
94
85
95
86
// Get the video stream with the highest video quality
96
87
var streamWithHighestVideoQuality = streamData . Content ? .
0 commit comments