getFilteredAudioStreams: make list nonNull

This commit is contained in:
Profpatsch 2024-01-06 23:57:42 +01:00
parent 24ac6d57f3
commit 982d23674b
3 changed files with 15 additions and 6 deletions

View File

@ -20,7 +20,9 @@ import org.schabi.newpipe.player.mediaitem.MediaItemTag;
import org.schabi.newpipe.player.mediaitem.StreamInfoTag;
import org.schabi.newpipe.util.ListHelper;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
public class AudioPlaybackResolver implements PlaybackResolver {
private static final String TAG = AudioPlaybackResolver.class.getSimpleName();
@ -53,7 +55,11 @@ public class AudioPlaybackResolver implements PlaybackResolver {
}
final List<AudioStream> audioStreams =
getFilteredAudioStreams(context, info.getAudioStreams());
getFilteredAudioStreams(
context,
// TODO: getAudioStreams should be @NonNull
Objects.requireNonNullElse(info.getAudioStreams(), Collections.emptyList())
);
final Stream stream;
final MediaItemTag tag;

View File

@ -24,7 +24,9 @@ import org.schabi.newpipe.player.mediaitem.StreamInfoTag;
import org.schabi.newpipe.util.ListHelper;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import static com.google.android.exoplayer2.C.TIME_UNSET;
@ -82,7 +84,11 @@ public class VideoPlaybackResolver implements PlaybackResolver {
getPlayableStreams(info.getVideoStreams(), info.getServiceId()),
getPlayableStreams(info.getVideoOnlyStreams(), info.getServiceId()), false, true);
final List<AudioStream> audioStreamsList =
getFilteredAudioStreams(context, info.getAudioStreams());
getFilteredAudioStreams(
context,
// TODO: getAudioStreams should be @NonNull
Objects.requireNonNullElse(info.getAudioStreams(), Collections.emptyList())
);
int videoIndex = -999;
if (playbackQuality == null) {

View File

@ -280,10 +280,7 @@ public final class ListHelper {
@NonNull
public static List<AudioStream> getFilteredAudioStreams(
@NonNull final Context context,
@Nullable final List<AudioStream> audioStreams) {
if (audioStreams == null) {
return Collections.emptyList();
}
@NonNull final List<AudioStream> audioStreams) {
final HashMap<String, AudioStream> collectedStreams = new HashMap<>();