Skip to content

Commit 432f1a9

Browse files
committed
Fix handling of audio streams
1 parent f33ec8c commit 432f1a9

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
@@ -696,11 +696,14 @@ public boolean onOptionsItemSelected(final MenuItem item) {
696696
return true;
697697
case R.id.menu_item_share_stream:
698698
if (currentInfo != null) {
699-
VideoStream selectedVideoStream = getSelectedVideoStream();
700-
if (selectedVideoStream != null) {
701-
ShareUtils.shareUrl(requireContext(), currentInfo.getName(),
702-
selectedVideoStream.getUrl());
699+
Stream stream;
700+
if (currentInfo.getVideoStreams().isEmpty()
701+
&& currentInfo.getVideoOnlyStreams().isEmpty()) {
702+
stream = getSelectedAudioStream();
703+
} else {
704+
stream = getSelectedVideoStream();
703705
}
706+
ShareUtils.shareUrl(requireContext(), currentInfo.getName(), stream.getUrl());
704707
}
705708
return true;
706709
case R.id.menu_item_openInBrowser:
@@ -936,8 +939,7 @@ private boolean shouldShowComments() {
936939
//////////////////////////////////////////////////////////////////////////*/
937940

938941
private void openBackgroundPlayer(final boolean append) {
939-
AudioStream audioStream = currentInfo.getAudioStreams()
940-
.get(ListHelper.getDefaultAudioFormat(activity, currentInfo.getAudioStreams()));
942+
AudioStream audioStream = getSelectedAudioStream();
941943

942944
boolean useExternalAudioPlayer = PreferenceManager.getDefaultSharedPreferences(activity)
943945
.getBoolean(activity.getString(R.string.use_external_audio_player_key), false);
@@ -1023,6 +1025,12 @@ private VideoStream getSelectedVideoStream() {
10231025
return sortedVideoStreams != null ? sortedVideoStreams.get(selectedVideoStreamIndex) : null;
10241026
}
10251027

1028+
@Nullable
1029+
private AudioStream getSelectedAudioStream() {
1030+
int streamIndex = ListHelper.getDefaultAudioFormat(activity, currentInfo.getAudioStreams());
1031+
return currentInfo.getAudioStreams().get(streamIndex);
1032+
}
1033+
10261034
private void prepareDescription(final Description description) {
10271035
if (TextUtils.isEmpty(description.getContent())
10281036
|| description == Description.emptyDescription) {

0 commit comments

Comments
 (0)