Skip to content

Commit fefd2f7

Browse files
author
Jad Kik
committed
Fix handling of audio streams
1 parent 7fdb9ce commit fefd2f7

1 file changed

Lines changed: 14 additions & 6 deletions

File tree

app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -645,11 +645,14 @@ public boolean onOptionsItemSelected(final MenuItem item) {
645645
return true;
646646
case R.id.menu_item_share_stream:
647647
if (currentInfo != null) {
648-
VideoStream selectedVideoStream = getSelectedVideoStream();
649-
if (selectedVideoStream != null) {
650-
ShareUtils.shareUrl(requireContext(), currentInfo.getName(),
651-
selectedVideoStream.getUrl());
648+
Stream stream;
649+
if (currentInfo.getVideoStreams().isEmpty()
650+
&& currentInfo.getVideoOnlyStreams().isEmpty()) {
651+
stream = getSelectedAudioStream();
652+
} else {
653+
stream = getSelectedVideoStream();
652654
}
655+
ShareUtils.shareUrl(requireContext(), currentInfo.getName(), stream.getUrl());
653656
}
654657
return true;
655658
case R.id.menu_item_openInBrowser:
@@ -886,8 +889,7 @@ private boolean shouldShowComments() {
886889
//////////////////////////////////////////////////////////////////////////*/
887890

888891
private void openBackgroundPlayer(final boolean append) {
889-
AudioStream audioStream = currentInfo.getAudioStreams()
890-
.get(ListHelper.getDefaultAudioFormat(activity, currentInfo.getAudioStreams()));
892+
AudioStream audioStream = getSelectedAudioStream();
891893

892894
boolean useExternalAudioPlayer = PreferenceManager.getDefaultSharedPreferences(activity)
893895
.getBoolean(activity.getString(R.string.use_external_audio_player_key), false);
@@ -973,6 +975,12 @@ private VideoStream getSelectedVideoStream() {
973975
return sortedVideoStreams != null ? sortedVideoStreams.get(selectedVideoStreamIndex) : null;
974976
}
975977

978+
@Nullable
979+
private AudioStream getSelectedAudioStream() {
980+
int streamIndex = ListHelper.getDefaultAudioFormat(activity, currentInfo.getAudioStreams());
981+
return currentInfo.getAudioStreams().get(streamIndex);
982+
}
983+
976984
private void prepareDescription(final Description description) {
977985
if (TextUtils.isEmpty(description.getContent())
978986
|| description == Description.emptyDescription) {

0 commit comments

Comments
 (0)