Skip to content

Commit 4488c21

Browse files
authored
Merge pull request #159 from ritiek/better-soundcloud-thumbnail
Improve thumbnail quality for Soundcloud service
2 parents cfdbc4e + c7974b2 commit 4488c21

5 files changed

Lines changed: 28 additions & 8 deletions

File tree

extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/SoundcloudChannelInfoItemExtractor.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@ public String getUrl() {
2424

2525
@Override
2626
public String getThumbnailUrl() {
27-
return itemObject.getString("avatar_url", "");
27+
String avatarUrl = itemObject.getString("avatar_url", "");
28+
String avatarUrlBetterResolution = avatarUrl.replace("large.jpg", "crop.jpg");
29+
return avatarUrlBetterResolution;
2830
}
2931

3032
@Override

extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/SoundcloudPlaylistExtractor.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,15 @@ public String getThumbnailUrl() {
7171
final String thumbnailUrl = item.getThumbnailUrl();
7272
if (thumbnailUrl == null || thumbnailUrl.isEmpty()) continue;
7373

74-
return thumbnailUrl;
74+
String thumbnailUrlBetterResolution = thumbnailUrl.replace("large.jpg", "crop.jpg");
75+
return thumbnailUrlBetterResolution;
7576
}
7677
} catch (Exception ignored) {
7778
}
7879
}
7980

80-
return artworkUrl;
81+
String artworkUrlBetterResolution = artworkUrl.replace("large.jpg", "crop.jpg");
82+
return artworkUrlBetterResolution;
8183
}
8284

8385
@Override

extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/SoundcloudPlaylistInfoItemExtractor.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,10 @@ public String getThumbnailUrl() throws ParsingException {
3232
// Over-engineering at its finest
3333
if (itemObject.isString(ARTWORK_URL_KEY)) {
3434
final String artworkUrl = itemObject.getString(ARTWORK_URL_KEY, "");
35-
if (!artworkUrl.isEmpty()) return artworkUrl;
35+
if (!artworkUrl.isEmpty()) {
36+
String artworkUrlBetterResolution = artworkUrl.replace("large.jpg", "crop.jpg");
37+
return artworkUrlBetterResolution;
38+
}
3639
}
3740

3841
try {
@@ -42,8 +45,11 @@ public String getThumbnailUrl() throws ParsingException {
4245

4346
// First look for track artwork url
4447
if (trackObject.isString(ARTWORK_URL_KEY)) {
45-
final String url = trackObject.getString(ARTWORK_URL_KEY, "");
46-
if (!url.isEmpty()) return url;
48+
String artworkUrl = trackObject.getString(ARTWORK_URL_KEY, "");
49+
if (!artworkUrl.isEmpty()) {
50+
String artworkUrlBetterResolution = artworkUrl.replace("large.jpg", "crop.jpg");
51+
return artworkUrlBetterResolution;
52+
}
4753
}
4854

4955
// Then look for track creator avatar url

extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/SoundcloudStreamExtractor.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,12 @@ public String getUploadDate() throws ParsingException {
5757
@Nonnull
5858
@Override
5959
public String getThumbnailUrl() {
60-
return track.getString("artwork_url", "");
60+
String artworkUrl = track.getString("artwork_url", "");
61+
if (artworkUrl.isEmpty()) {
62+
artworkUrl = track.getObject("user").getString("avatar_url", "");
63+
}
64+
String artworkUrlBetterResolution = artworkUrl.replace("large.jpg", "crop.jpg");
65+
return artworkUrlBetterResolution;
6166
}
6267

6368
@Nonnull

extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/SoundcloudStreamInfoItemExtractor.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,12 @@ public long getViewCount() {
5252

5353
@Override
5454
public String getThumbnailUrl() {
55-
return itemObject.getString("artwork_url");
55+
String artworkUrl = itemObject.getString("artwork_url", "");
56+
if (artworkUrl.isEmpty()) {
57+
artworkUrl = itemObject.getObject("user").getString("avatar_url");
58+
}
59+
String artworkUrlBetterResolution = artworkUrl.replace("large.jpg", "crop.jpg");
60+
return artworkUrlBetterResolution;
5661
}
5762

5863
@Override

0 commit comments

Comments
 (0)