mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
Fix VorbisComment.populateMediaMetadata
key comparison to ignore case
Issue: androidx/media#876 #minor-release PiperOrigin-RevId: 590215918
This commit is contained in:
parent
8e33fbd536
commit
5580b78b13
@ -74,6 +74,9 @@
|
||||
`DefaultExtractorsFactory.setTextTrackTranscodingEnabled`
|
||||
([#836](https://github.com/androidx/media/issues/836)).
|
||||
* Metadata:
|
||||
* Fix bug where `MediaMetadata` was only populated from Vorbis comments
|
||||
with upper-case keys
|
||||
([#876](https://github.com/androidx/media/issues/876)).
|
||||
* DRM:
|
||||
* Extend workaround for spurious ClearKey `https://default.url` license
|
||||
URL to API 33+ (previously the workaround only applied on API 33
|
||||
|
@ -23,6 +23,7 @@ import androidx.annotation.Nullable;
|
||||
import androidx.media3.common.MediaMetadata;
|
||||
import androidx.media3.common.Metadata;
|
||||
import androidx.media3.common.util.UnstableApi;
|
||||
import com.google.common.base.Ascii;
|
||||
|
||||
/**
|
||||
* @deprecated Use {@link androidx.media3.extractor.metadata.vorbis.VorbisComment} instead.
|
||||
@ -31,18 +32,21 @@ import androidx.media3.common.util.UnstableApi;
|
||||
@UnstableApi
|
||||
public class VorbisComment implements Metadata.Entry {
|
||||
|
||||
/** The key. */
|
||||
/** The key in upper case, to ease case-insensitive comparisons. */
|
||||
public final String key;
|
||||
|
||||
/** The value. */
|
||||
public final String value;
|
||||
|
||||
/**
|
||||
* @param key The key.
|
||||
* Constructs an instance.
|
||||
*
|
||||
* @param key The key. Must be an ASCII string containing only characters between 0x20 and 0x7D
|
||||
* (inclusive), excluding 0x3D ('=').
|
||||
* @param value The value.
|
||||
*/
|
||||
public VorbisComment(String key, String value) {
|
||||
this.key = key;
|
||||
this.key = Ascii.toUpperCase(key);
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
|
@ -75,10 +75,10 @@ public final class FlacStreamMetadataTest {
|
||||
|
||||
assertThat(metadata.length()).isEqualTo(2);
|
||||
VorbisComment commentFrame = (VorbisComment) metadata.get(0);
|
||||
assertThat(commentFrame.key).isEqualTo("Title");
|
||||
assertThat(commentFrame.key).isEqualTo("TITLE");
|
||||
assertThat(commentFrame.value).isEqualTo("Song");
|
||||
commentFrame = (VorbisComment) metadata.get(1);
|
||||
assertThat(commentFrame.key).isEqualTo("Artist");
|
||||
assertThat(commentFrame.key).isEqualTo("ARTIST");
|
||||
assertThat(commentFrame.value).isEqualTo("Singer");
|
||||
}
|
||||
|
||||
@ -124,7 +124,7 @@ public final class FlacStreamMetadataTest {
|
||||
|
||||
assertThat(metadata.length()).isEqualTo(1);
|
||||
VorbisComment commentFrame = (VorbisComment) metadata.get(0);
|
||||
assertThat(commentFrame.key).isEqualTo("Title");
|
||||
assertThat(commentFrame.key).isEqualTo("TITLE");
|
||||
assertThat(commentFrame.value).isEqualTo("So=ng");
|
||||
}
|
||||
|
||||
@ -150,7 +150,7 @@ public final class FlacStreamMetadataTest {
|
||||
|
||||
assertThat(metadata.length()).isEqualTo(1);
|
||||
VorbisComment commentFrame = (VorbisComment) metadata.get(0);
|
||||
assertThat(commentFrame.key).isEqualTo("Artist");
|
||||
assertThat(commentFrame.key).isEqualTo("ARTIST");
|
||||
assertThat(commentFrame.value).isEqualTo("Singer");
|
||||
}
|
||||
}
|
||||
|
@ -54,9 +54,9 @@ public final class VorbisCommentTest {
|
||||
List<Metadata.Entry> entries =
|
||||
ImmutableList.of(
|
||||
new VorbisComment("TITLE", title),
|
||||
new VorbisComment("ARTIST", artist),
|
||||
new VorbisComment("ArTisT", artist),
|
||||
new VorbisComment("ALBUM", albumTitle),
|
||||
new VorbisComment("ALBUMARTIST", albumArtist),
|
||||
new VorbisComment("albumartist", albumArtist),
|
||||
new VorbisComment("DESCRIPTION", description));
|
||||
MediaMetadata.Builder builder = MediaMetadata.EMPTY.buildUpon();
|
||||
|
||||
|
@ -13,7 +13,7 @@ track 0:
|
||||
sampleMimeType = audio/opus
|
||||
channelCount = 2
|
||||
sampleRate = 48000
|
||||
metadata = entries=[VC: encoder=Lavf54.20.4]
|
||||
metadata = entries=[VC: ENCODER=Lavf54.20.4]
|
||||
initializationData:
|
||||
data = length 19, hash BFE794DB
|
||||
data = length 8, hash CA22068C
|
||||
|
@ -13,7 +13,7 @@ track 0:
|
||||
sampleMimeType = audio/opus
|
||||
channelCount = 2
|
||||
sampleRate = 48000
|
||||
metadata = entries=[VC: encoder=Lavf54.20.4]
|
||||
metadata = entries=[VC: ENCODER=Lavf54.20.4]
|
||||
initializationData:
|
||||
data = length 19, hash BFE794DB
|
||||
data = length 8, hash CA22068C
|
||||
|
@ -13,7 +13,7 @@ track 0:
|
||||
sampleMimeType = audio/opus
|
||||
channelCount = 2
|
||||
sampleRate = 48000
|
||||
metadata = entries=[VC: encoder=Lavf54.20.4]
|
||||
metadata = entries=[VC: ENCODER=Lavf54.20.4]
|
||||
initializationData:
|
||||
data = length 19, hash BFE794DB
|
||||
data = length 8, hash CA22068C
|
||||
|
@ -13,7 +13,7 @@ track 0:
|
||||
sampleMimeType = audio/opus
|
||||
channelCount = 2
|
||||
sampleRate = 48000
|
||||
metadata = entries=[VC: encoder=Lavf54.20.4]
|
||||
metadata = entries=[VC: ENCODER=Lavf54.20.4]
|
||||
initializationData:
|
||||
data = length 19, hash BFE794DB
|
||||
data = length 8, hash CA22068C
|
||||
|
@ -10,7 +10,7 @@ track 0:
|
||||
sampleMimeType = audio/opus
|
||||
channelCount = 2
|
||||
sampleRate = 48000
|
||||
metadata = entries=[VC: encoder=Lavf54.20.4]
|
||||
metadata = entries=[VC: ENCODER=Lavf54.20.4]
|
||||
initializationData:
|
||||
data = length 19, hash BFE794DB
|
||||
data = length 8, hash CA22068C
|
||||
|
@ -13,7 +13,7 @@ track 0:
|
||||
sampleMimeType = audio/opus
|
||||
channelCount = 2
|
||||
sampleRate = 48000
|
||||
metadata = entries=[VC: encoder=Lavf54.20.4]
|
||||
metadata = entries=[VC: ENCODER=Lavf54.20.4]
|
||||
initializationData:
|
||||
data = length 19, hash BFE794DB
|
||||
data = length 8, hash CA22068C
|
||||
|
@ -13,7 +13,7 @@ track 0:
|
||||
sampleMimeType = audio/opus
|
||||
channelCount = 2
|
||||
sampleRate = 48000
|
||||
metadata = entries=[VC: encoder=Lavf54.20.4]
|
||||
metadata = entries=[VC: ENCODER=Lavf54.20.4]
|
||||
initializationData:
|
||||
data = length 19, hash BFE794DB
|
||||
data = length 8, hash CA22068C
|
||||
|
@ -13,7 +13,7 @@ track 0:
|
||||
sampleMimeType = audio/opus
|
||||
channelCount = 2
|
||||
sampleRate = 48000
|
||||
metadata = entries=[VC: encoder=Lavf54.20.4]
|
||||
metadata = entries=[VC: ENCODER=Lavf54.20.4]
|
||||
initializationData:
|
||||
data = length 19, hash BFE794DB
|
||||
data = length 8, hash CA22068C
|
||||
|
@ -13,7 +13,7 @@ track 0:
|
||||
sampleMimeType = audio/opus
|
||||
channelCount = 2
|
||||
sampleRate = 48000
|
||||
metadata = entries=[VC: encoder=Lavf54.20.4]
|
||||
metadata = entries=[VC: ENCODER=Lavf54.20.4]
|
||||
initializationData:
|
||||
data = length 19, hash BFE794DB
|
||||
data = length 8, hash CA22068C
|
||||
|
@ -10,7 +10,7 @@ track 0:
|
||||
sampleMimeType = audio/opus
|
||||
channelCount = 2
|
||||
sampleRate = 48000
|
||||
metadata = entries=[VC: encoder=Lavf54.20.4]
|
||||
metadata = entries=[VC: ENCODER=Lavf54.20.4]
|
||||
initializationData:
|
||||
data = length 19, hash BFE794DB
|
||||
data = length 8, hash CA22068C
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user