|
24 | 24 | import org.schabi.newpipe.extractor.stream.StreamType; |
25 | 25 | import org.schabi.newpipe.extractor.stream.VideoStream; |
26 | 26 | import org.schabi.newpipe.extractor.utils.JsonUtils; |
| 27 | +import org.schabi.newpipe.extractor.utils.LocaleCompat; |
27 | 28 |
|
28 | 29 | import java.io.IOException; |
29 | 30 | import java.util.ArrayList; |
@@ -114,15 +115,24 @@ public List<AudioStream> getAudioStreams() throws ExtractionException { |
114 | 115 | mediaFormat = null; |
115 | 116 | } |
116 | 117 |
|
117 | | - // Not checking containsSimilarStream here, since MediaCCC does not provide enough |
118 | | - // information to decide whether two streams are similar. Hence that method would |
119 | | - // always return false, e.g. even for different language variations. |
120 | | - audioStreams.add(new AudioStream.Builder() |
| 118 | + final AudioStream.Builder builder = new AudioStream.Builder() |
121 | 119 | .setId(recording.getString("filename", ID_UNKNOWN)) |
122 | 120 | .setContent(recording.getString("recording_url"), true) |
123 | 121 | .setMediaFormat(mediaFormat) |
124 | | - .setAverageBitrate(UNKNOWN_BITRATE) |
125 | | - .build()); |
| 122 | + .setAverageBitrate(UNKNOWN_BITRATE); |
| 123 | + |
| 124 | + final String language = recording.getString("language"); |
| 125 | + // If the language contains a - symbol, this means that the stream has an audio |
| 126 | + // track with multiple languages, so there is no specific language for this stream |
| 127 | + // Don't set the audio language in this case |
| 128 | + if (language != null && !language.contains("-")) { |
| 129 | + builder.setAudioLocale(LocaleCompat.forLanguageTag(language)); |
| 130 | + } |
| 131 | + |
| 132 | + // Not checking containsSimilarStream here, since MediaCCC does not provide enough |
| 133 | + // information to decide whether two streams are similar. Hence that method would |
| 134 | + // always return false, e.g. even for different language variations. |
| 135 | + audioStreams.add(builder.build()); |
126 | 136 | } |
127 | 137 | } |
128 | 138 | return audioStreams; |
|
0 commit comments