Skip to content

Commit 865589b

Browse files
committed
Fixed Soundcloud test: Return EVERYTHING that is found
deduplication should be done by the extractor
1 parent 5434c0b commit 865589b

File tree

4 files changed

+8
-169
lines changed

4 files changed

+8
-169
lines changed

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

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
import org.schabi.newpipe.extractor.streamdata.format.registry.AudioFormatRegistry;
3636
import org.schabi.newpipe.extractor.streamdata.stream.AudioStream;
3737
import org.schabi.newpipe.extractor.streamdata.stream.simpleimpl.SimpleAudioStreamImpl;
38-
import org.schabi.newpipe.extractor.streamdata.stream.util.NewPipeStreamCollectors;
3938

4039
import java.io.IOException;
4140
import java.io.UnsupportedEncodingException;
@@ -45,6 +44,7 @@
4544
import java.util.List;
4645
import java.util.Objects;
4746
import java.util.Optional;
47+
import java.util.stream.Collectors;
4848

4949
import javax.annotation.Nonnull;
5050
import javax.annotation.Nullable;
@@ -186,15 +186,6 @@ public List<AudioStream> getAudioStreams() throws ExtractionException {
186186
}
187187
}
188188

189-
private static boolean checkMp3ProgressivePresence(@Nonnull final JsonArray transcodings) {
190-
return transcodings.stream()
191-
.filter(JsonObject.class::isInstance)
192-
.map(JsonObject.class::cast)
193-
.anyMatch(transcoding -> transcoding.getString("preset").contains("mp3")
194-
&& transcoding.getObject("format").getString("protocol")
195-
.equals("progressive"));
196-
}
197-
198189
@Nonnull
199190
private String getTranscodingUrl(final String endpointUrl,
200191
final String protocol)
@@ -247,8 +238,6 @@ private List<AudioStream> extractAudioStreams() {
247238
return Collections.emptyList();
248239
}
249240

250-
final boolean mp3ProgressiveInStreams = checkMp3ProgressivePresence(transcodings);
251-
252241
return transcodings.stream()
253242
.filter(JsonObject.class::isInstance)
254243
.map(JsonObject.class::cast)
@@ -272,11 +261,6 @@ private List<AudioStream> extractAudioStreams() {
272261
final AudioMediaFormat mediaFormat;
273262
final int averageBitrate;
274263
if (preset.contains("mp3")) {
275-
// Don't add the MP3 HLS stream if there is a progressive stream present
276-
// because the two have the same bitrate
277-
if (mp3ProgressiveInStreams && protocol.equals("hls")) {
278-
return null;
279-
}
280264
mediaFormat = AudioFormatRegistry.MP3;
281265
averageBitrate = 128;
282266
} else if (preset.contains("opus")) {
@@ -295,7 +279,7 @@ private List<AudioStream> extractAudioStreams() {
295279
);
296280
})
297281
.filter(Objects::nonNull)
298-
.collect(NewPipeStreamCollectors.toDistinctList());
282+
.collect(Collectors.toList());
299283
}
300284

301285
/**

extractor/src/main/java/org/schabi/newpipe/extractor/streamdata/stream/util/NewPipeStreamCollectors.java

Lines changed: 0 additions & 98 deletions
This file was deleted.

extractor/src/main/java/org/schabi/newpipe/extractor/streamdata/stream/util/NewPipeStreamUtil.java

Lines changed: 0 additions & 38 deletions
This file was deleted.

extractor/src/test/java/org/schabi/newpipe/extractor/services/soundcloud/SoundcloudStreamExtractorTest.java

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import org.schabi.newpipe.extractor.services.DefaultStreamExtractorTest;
1717
import org.schabi.newpipe.extractor.stream.StreamExtractor;
1818
import org.schabi.newpipe.extractor.streamdata.delivery.ProgressiveHTTPDeliveryData;
19+
import org.schabi.newpipe.extractor.streamdata.delivery.UrlBasedDeliveryData;
1920
import org.schabi.newpipe.extractor.streamdata.format.registry.AudioFormatRegistry;
2021
import org.schabi.newpipe.extractor.streamdata.stream.AudioStream;
2122

@@ -191,30 +192,20 @@ public void testAudioStreams() throws Exception {
191192
super.testAudioStreams();
192193

193194
final List<AudioStream> audioStreams = extractor.getAudioStreams();
194-
assertEquals(2, audioStreams.size());
195+
assertEquals(3, audioStreams.size());
195196

196197
for (final AudioStream audioStream : audioStreams) {
197-
assertTrue(audioStream.deliveryData() instanceof ProgressiveHTTPDeliveryData,
198+
assertTrue(audioStream.deliveryData() instanceof UrlBasedDeliveryData,
198199
"Wrong delivery method for mediaFormat=" + audioStream.mediaFormat()
199200
+ " , avgBR=" + audioStream.averageBitrate()
200201
+ " , deliverDataType=" + audioStream.deliveryData().getClass()
201202
);
202203

203-
final ProgressiveHTTPDeliveryData deliveryData =
204-
(ProgressiveHTTPDeliveryData) audioStream.deliveryData();
204+
final UrlBasedDeliveryData deliveryData =
205+
(UrlBasedDeliveryData) audioStream.deliveryData();
205206

206207
final String mediaUrl = deliveryData.url();
207-
if (audioStream.mediaFormat() == AudioFormatRegistry.OPUS) {
208-
// Assert that it's an OPUS 64 kbps media URL with a single range which comes
209-
// from an HLS SoundCloud CDN
210-
ExtractorAsserts.assertContains("-hls-opus-media.sndcdn.com", mediaUrl);
211-
ExtractorAsserts.assertContains(".64.opus", mediaUrl);
212-
} else if (audioStream.mediaFormat() == AudioFormatRegistry.MP3) {
213-
// Assert that it's a MP3 128 kbps media URL which comes from a progressive
214-
// SoundCloud CDN
215-
ExtractorAsserts.assertContains("-media.sndcdn.com/bKOA7Pwbut93.128.mp3",
216-
mediaUrl);
217-
}
208+
ExtractorAsserts.assertContains("-media.sndcdn.com", mediaUrl);
218209
}
219210
}
220211
}

0 commit comments

Comments
 (0)