Loading include/media/mediametadataretriever.h +1 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ enum { METADATA_KEY_VIDEO_FORMAT = 18, METADATA_KEY_VIDEO_HEIGHT = 19, METADATA_KEY_VIDEO_WIDTH = 20, METADATA_KEY_WRITER = 21, // Add more here... }; Loading media/java/android/media/MediaMetadataRetriever.java +1 −0 Original line number Diff line number Diff line Loading @@ -254,5 +254,6 @@ public class MediaMetadataRetriever public static final int METADATA_KEY_VIDEO_FORMAT = 18; public static final int METADATA_KEY_VIDEO_HEIGHT = 19; public static final int METADATA_KEY_VIDEO_WIDTH = 20; public static final int METADATA_KEY_WRITER = 21; // Add more here... } media/java/android/media/MediaScanner.java +4 −0 Original line number Diff line number Diff line Loading @@ -396,6 +396,7 @@ public class MediaScanner private String mPath; private long mLastModified; private long mFileSize; private String mWriter; public FileCacheEntry beginFile(String path, String mimeType, long lastModified, long fileSize) { Loading Loading @@ -479,6 +480,7 @@ public class MediaScanner mDuration = 0; mPath = path; mLastModified = lastModified; mWriter = null; return entry; } Loading Loading @@ -593,6 +595,8 @@ public class MediaScanner mTrack = (num * 1000) + (mTrack % 1000); } else if (name.equalsIgnoreCase("duration")) { mDuration = parseSubstring(value, 0, 0); } else if (name.equalsIgnoreCase("writer") || name.startsWith("writer;")) { mWriter = value.trim(); } } Loading media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaNames.java +28 −28 Original line number Diff line number Diff line Loading @@ -372,81 +372,81 @@ public class MediaNames { public static final String META_DATA_MP3 [][] = { {"/sdcard/media_api/metaDataTestMedias/MP3/ID3V1_ID3V2.mp3", "1/10", "ID3V2.3 Album", "ID3V2.3 Artist", "ID3V2.3 Lyricist", "ID3V2.3 Composer", null, "Blues", "ID3V2.3 Title", "1234", "295", "1"}, "ID3V2.3 Title", "1234", "295", "1", null}, {"/sdcard/media_api/metaDataTestMedias/MP3/ID3V2.mp3", "1/10", "ID3V2.3 Album", "ID3V2.3 Artist", "ID3V2.3 Lyricist", "ID3V2.3 Composer", null, "Blues", "ID3V2.3 Title", "1234", "287", "1"}, "ID3V2.3 Title", "1234", "287", "1", null}, {"/sdcard/media_api/metaDataTestMedias/MP3/ID3V1.mp3", "1", "test ID3V1 Album", "test ID3V1 Artist", null, null, null, "255", "test ID3V1 Title", "1234", "231332", "1"}, null, null, null, "255", "test ID3V1 Title", "1234", "231332", "1", null}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V1.mp3" , null, null, null, null, null, null, null, null, null, "231330", "1"}, null, null, null, null, null, null, "231330", "1", null}, //The corrupted TALB field in id3v2 would not switch to id3v1 tag automatically {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TALB.mp3", "01", null, "ID3V2.3 Artist", "ID3V2.3 Lyricist", "ID3V2.3 Composer", null, "Blues", "ID3V2.3 Title", "1234", "295", "1"}, "Blues", "ID3V2.3 Title", "1234", "295", "1", null}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TCOM.mp3", "01", "ID3V2.3 Album", "ID3V2.3 Artist", "ID3V2.3 Lyricist", null, null, "Blues", "ID3V2.3 Title", "1234", "295", "1"}, "Blues", "ID3V2.3 Title", "1234", "295", "1", null}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TCOM_2.mp3", "01", "ID3V2.3 Album", "ID3V2.3 Artist", null, null, null, "Blues", "ID3V2.3 Title", "1234", "295", "1"}, "ID3V2.3 Artist", null, null, null, "Blues", "ID3V2.3 Title", "1234", "295", "1", null}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TRCK.mp3", "dd", "ID3V2.3 Album", "ID3V2.3 Artist", "ID3V2.3 Lyricist", "ID3V2.3 Composer", null, "Blues", "ID3V2.3 Title", "1234", "295", "1"}, "Blues", "ID3V2.3 Title", "1234", "295", "1", null}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TRCK_2.mp3", "01", "ID3V2.3 Album", "ID3V2.3 Artist", null, null, null, "255", "ID3V2.3 Title", "1234", "295", "1"}, "ID3V2.3 Artist", null, null, null, "255", "ID3V2.3 Title", "1234", "295", "1", null}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TYER.mp3", "01", "ID3V2.3 Album", "ID3V2.3 Artist", null, null, null, null, "ID3V2.3 Title", "9999", "295", "1"}, "ID3V2.3 Artist", null, null, null, null, "ID3V2.3 Title", "9999", "295", "1", null}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TYER_2.mp3", "01", "ID3V2.3 Album", "ID3V2.3 Artist", "ID3V2.3 Lyricist", "ID3V2.3 Composer", null, "Blues", "ID3V2.3 Title", null, "295", "1"}, "Blues", "ID3V2.3 Title", null, "295", "1", null}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TIT.mp3", null, null, null, null, null, null, null, null, null, "295", "1"} null, null, null, null, null, null, "295", "1", null} }; public static final String META_DATA_OTHERS [][] = { {"/sdcard/media_api/metaDataTestMedias/3GP/cat.3gp", null, null, null, null, null, "20080309T002415.000Z", null, null, null, "1404928", "2"}, null, null, "1404928", "2", null}, {"/sdcard/media_api/metaDataTestMedias/AMR/AMR_NB.amr", null, null, null, null, null, null, null, null, null, "126540", "1"}, null, null, "126540", "1", null}, {"/sdcard/media_api/metaDataTestMedias/AMRWB/AMR_WB.amr", null, null, null, null, null, null, null, null, null, "231180", "1"}, {"/sdcard/media_api/metaDataTestMedias/M4A/Jaws Of Life_ver1.m4a", null, "Suspended Animation", null, null, "231180", "1", null}, {"/sdcard/media_api/metaDataTestMedias/M4A/Jaws Of Life_ver1.m4a", "1/8", "Suspended Animation", "John Petrucci", null, null, "20070510T125223.000Z", null, null, "2005", "231180", "1"}, "13", "Jaws Of Life", "2005", "19815424", "1", "m4a composer"}, {"/sdcard/media_api/metaDataTestMedias/M4V/sample_iPod.m4v", null, null, null, null, null, "20051220T202015.000Z", null, null, null, "3771392", "2"}, null, null, null, "3771392", "2", null}, {"/sdcard/media_api/metaDataTestMedias/MIDI/MIDI.mid", null, "Suspended Animation", "John Petrucci", null, null, "20070510T125223.000Z", null, null, "2005", "231180", "1"}, {"/sdcard/media_api/metaDataTestMedias/MP4/kung_fu_panda_h264.mp4", null, "mp4 album Kung Fu Panda", null, null, "2005", "231180", "1", null}, {"/sdcard/media_api/metaDataTestMedias/MP4/kung_fu_panda_h264.mp4", "2/0", "mp4 album Kung Fu Panda", "mp4 artist Kung Fu Panda", null, null, "20080517T091451.000Z", "41", "Kung Fu Panda", "2008", "5667840", "2"}, "41", "Kung Fu Panda", "2008", "5667840", "2", "mp4 composer"}, {"/sdcard/media_api/metaDataTestMedias/OGG/Ring_Classic_02.ogg", null, "Suspended Animation", "John Petrucci", null, null, "20070510T125223.000Z", null, null, "2005", "231180", "1"}, null, null, "2005", "231180", "1", null}, {"/sdcard/media_api/metaDataTestMedias/OGG/When You Say Nothing At All.ogg", null, "Suspended Animation", "John Petrucci", null, null, "20070510T125223.000Z", null, null, "2005", "231180", "1"}, null, null, "20070510T125223.000Z", null, null, "2005", "231180", "1", null}, {"/sdcard/media_api/metaDataTestMedias/WAV/Im With You.wav", null, null, null, null, null, null, null, null, null, "224000", "1"}, null, null, null, "224000", "1", null}, {"/sdcard/media_api/metaDataTestMedias/WMA/WMA9.wma", "6", "Ten Songs in the Key of Betrayal", "Alien Crime Syndicate", "Alien Crime Syndicate", "wma 9 Composer", "20040521T175729.483Z", "Rock", "Run for the Money", "2004", "134479", "1"}, "Rock", "Run for the Money", "2004", "134479", "1", null}, {"/sdcard/media_api/metaDataTestMedias/WMA/WMA10.wma", "09", "wma 10 Album", "wma 10 Album Artist", "wma 10 Artist", "wma 10 Composer", "20070705T063625.097Z", "Acid Jazz", "wma 10 Title", "2010", "126574", "1"}, "Acid Jazz", "wma 10 Title", "2010", "126574", "1", null}, {"/sdcard/media_api/metaDataTestMedias/WMV/bugs.wmv", "8", "wmv 9 Album", null, "wmv 9 Artist ", null, "20051122T155247.540Z", null, "Looney Tunes - Hare-Breadth Hurry", "2005", "193482", "2"}, null, "Looney Tunes - Hare-Breadth Hurry", "2005", "193482", "2", null}, {"/sdcard/media_api/metaDataTestMedias/WMV/clips_ver7.wmv", "50", "wmv 7 Album", null, "Hallau Shoots & Company", null, "20020226T170045.891Z", null, "CODEC Shootout", "1986", "43709", "2"} null, "CODEC Shootout", "1986", "43709", "2", null} }; //output recorded video Loading media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaMetadataTest.java +5 −3 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ public class MediaMetadataTest extends AndroidTestCase { FILE_PATH,CD_TRACK, ALBUM, ARTIST, AUTHOR, COMPOSER, DATE, GENRE, TITLE, YEAR, DURATION, NUM_TRACKS YEAR, DURATION, NUM_TRACKS, WRITER } public static enum MP3_TEST_FILE{ Loading Loading @@ -130,8 +130,6 @@ public class MediaMetadataTest extends AndroidTestCase { validateMetatData(non_mp3_test_file.AMRWB.ordinal(), MediaNames.META_DATA_OTHERS); } //Bug# 1440173 - skip this test case now @Suppress @MediumTest public static void testM4A1_Metadata() throws Exception { validateMetatData(non_mp3_test_file.M4A1.ordinal(), MediaNames.META_DATA_OTHERS); Loading Loading @@ -254,6 +252,10 @@ public class MediaMetadataTest extends AndroidTestCase { Log.v(TAG, "Track : "+ value); assertEquals(TAG,meta_data_file[fileIndex][meta.NUM_TRACKS.ordinal()], value); value = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_WRITER); Log.v(TAG, "Writer : "+ value); assertEquals(TAG,meta_data_file[fileIndex][meta.WRITER.ordinal()], value); retriever.release(); } } Loading
include/media/mediametadataretriever.h +1 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ enum { METADATA_KEY_VIDEO_FORMAT = 18, METADATA_KEY_VIDEO_HEIGHT = 19, METADATA_KEY_VIDEO_WIDTH = 20, METADATA_KEY_WRITER = 21, // Add more here... }; Loading
media/java/android/media/MediaMetadataRetriever.java +1 −0 Original line number Diff line number Diff line Loading @@ -254,5 +254,6 @@ public class MediaMetadataRetriever public static final int METADATA_KEY_VIDEO_FORMAT = 18; public static final int METADATA_KEY_VIDEO_HEIGHT = 19; public static final int METADATA_KEY_VIDEO_WIDTH = 20; public static final int METADATA_KEY_WRITER = 21; // Add more here... }
media/java/android/media/MediaScanner.java +4 −0 Original line number Diff line number Diff line Loading @@ -396,6 +396,7 @@ public class MediaScanner private String mPath; private long mLastModified; private long mFileSize; private String mWriter; public FileCacheEntry beginFile(String path, String mimeType, long lastModified, long fileSize) { Loading Loading @@ -479,6 +480,7 @@ public class MediaScanner mDuration = 0; mPath = path; mLastModified = lastModified; mWriter = null; return entry; } Loading Loading @@ -593,6 +595,8 @@ public class MediaScanner mTrack = (num * 1000) + (mTrack % 1000); } else if (name.equalsIgnoreCase("duration")) { mDuration = parseSubstring(value, 0, 0); } else if (name.equalsIgnoreCase("writer") || name.startsWith("writer;")) { mWriter = value.trim(); } } Loading
media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaNames.java +28 −28 Original line number Diff line number Diff line Loading @@ -372,81 +372,81 @@ public class MediaNames { public static final String META_DATA_MP3 [][] = { {"/sdcard/media_api/metaDataTestMedias/MP3/ID3V1_ID3V2.mp3", "1/10", "ID3V2.3 Album", "ID3V2.3 Artist", "ID3V2.3 Lyricist", "ID3V2.3 Composer", null, "Blues", "ID3V2.3 Title", "1234", "295", "1"}, "ID3V2.3 Title", "1234", "295", "1", null}, {"/sdcard/media_api/metaDataTestMedias/MP3/ID3V2.mp3", "1/10", "ID3V2.3 Album", "ID3V2.3 Artist", "ID3V2.3 Lyricist", "ID3V2.3 Composer", null, "Blues", "ID3V2.3 Title", "1234", "287", "1"}, "ID3V2.3 Title", "1234", "287", "1", null}, {"/sdcard/media_api/metaDataTestMedias/MP3/ID3V1.mp3", "1", "test ID3V1 Album", "test ID3V1 Artist", null, null, null, "255", "test ID3V1 Title", "1234", "231332", "1"}, null, null, null, "255", "test ID3V1 Title", "1234", "231332", "1", null}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V1.mp3" , null, null, null, null, null, null, null, null, null, "231330", "1"}, null, null, null, null, null, null, "231330", "1", null}, //The corrupted TALB field in id3v2 would not switch to id3v1 tag automatically {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TALB.mp3", "01", null, "ID3V2.3 Artist", "ID3V2.3 Lyricist", "ID3V2.3 Composer", null, "Blues", "ID3V2.3 Title", "1234", "295", "1"}, "Blues", "ID3V2.3 Title", "1234", "295", "1", null}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TCOM.mp3", "01", "ID3V2.3 Album", "ID3V2.3 Artist", "ID3V2.3 Lyricist", null, null, "Blues", "ID3V2.3 Title", "1234", "295", "1"}, "Blues", "ID3V2.3 Title", "1234", "295", "1", null}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TCOM_2.mp3", "01", "ID3V2.3 Album", "ID3V2.3 Artist", null, null, null, "Blues", "ID3V2.3 Title", "1234", "295", "1"}, "ID3V2.3 Artist", null, null, null, "Blues", "ID3V2.3 Title", "1234", "295", "1", null}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TRCK.mp3", "dd", "ID3V2.3 Album", "ID3V2.3 Artist", "ID3V2.3 Lyricist", "ID3V2.3 Composer", null, "Blues", "ID3V2.3 Title", "1234", "295", "1"}, "Blues", "ID3V2.3 Title", "1234", "295", "1", null}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TRCK_2.mp3", "01", "ID3V2.3 Album", "ID3V2.3 Artist", null, null, null, "255", "ID3V2.3 Title", "1234", "295", "1"}, "ID3V2.3 Artist", null, null, null, "255", "ID3V2.3 Title", "1234", "295", "1", null}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TYER.mp3", "01", "ID3V2.3 Album", "ID3V2.3 Artist", null, null, null, null, "ID3V2.3 Title", "9999", "295", "1"}, "ID3V2.3 Artist", null, null, null, null, "ID3V2.3 Title", "9999", "295", "1", null}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TYER_2.mp3", "01", "ID3V2.3 Album", "ID3V2.3 Artist", "ID3V2.3 Lyricist", "ID3V2.3 Composer", null, "Blues", "ID3V2.3 Title", null, "295", "1"}, "Blues", "ID3V2.3 Title", null, "295", "1", null}, {"/sdcard/media_api/metaDataTestMedias/MP3/Corrupted_ID3V2_TIT.mp3", null, null, null, null, null, null, null, null, null, "295", "1"} null, null, null, null, null, null, "295", "1", null} }; public static final String META_DATA_OTHERS [][] = { {"/sdcard/media_api/metaDataTestMedias/3GP/cat.3gp", null, null, null, null, null, "20080309T002415.000Z", null, null, null, "1404928", "2"}, null, null, "1404928", "2", null}, {"/sdcard/media_api/metaDataTestMedias/AMR/AMR_NB.amr", null, null, null, null, null, null, null, null, null, "126540", "1"}, null, null, "126540", "1", null}, {"/sdcard/media_api/metaDataTestMedias/AMRWB/AMR_WB.amr", null, null, null, null, null, null, null, null, null, "231180", "1"}, {"/sdcard/media_api/metaDataTestMedias/M4A/Jaws Of Life_ver1.m4a", null, "Suspended Animation", null, null, "231180", "1", null}, {"/sdcard/media_api/metaDataTestMedias/M4A/Jaws Of Life_ver1.m4a", "1/8", "Suspended Animation", "John Petrucci", null, null, "20070510T125223.000Z", null, null, "2005", "231180", "1"}, "13", "Jaws Of Life", "2005", "19815424", "1", "m4a composer"}, {"/sdcard/media_api/metaDataTestMedias/M4V/sample_iPod.m4v", null, null, null, null, null, "20051220T202015.000Z", null, null, null, "3771392", "2"}, null, null, null, "3771392", "2", null}, {"/sdcard/media_api/metaDataTestMedias/MIDI/MIDI.mid", null, "Suspended Animation", "John Petrucci", null, null, "20070510T125223.000Z", null, null, "2005", "231180", "1"}, {"/sdcard/media_api/metaDataTestMedias/MP4/kung_fu_panda_h264.mp4", null, "mp4 album Kung Fu Panda", null, null, "2005", "231180", "1", null}, {"/sdcard/media_api/metaDataTestMedias/MP4/kung_fu_panda_h264.mp4", "2/0", "mp4 album Kung Fu Panda", "mp4 artist Kung Fu Panda", null, null, "20080517T091451.000Z", "41", "Kung Fu Panda", "2008", "5667840", "2"}, "41", "Kung Fu Panda", "2008", "5667840", "2", "mp4 composer"}, {"/sdcard/media_api/metaDataTestMedias/OGG/Ring_Classic_02.ogg", null, "Suspended Animation", "John Petrucci", null, null, "20070510T125223.000Z", null, null, "2005", "231180", "1"}, null, null, "2005", "231180", "1", null}, {"/sdcard/media_api/metaDataTestMedias/OGG/When You Say Nothing At All.ogg", null, "Suspended Animation", "John Petrucci", null, null, "20070510T125223.000Z", null, null, "2005", "231180", "1"}, null, null, "20070510T125223.000Z", null, null, "2005", "231180", "1", null}, {"/sdcard/media_api/metaDataTestMedias/WAV/Im With You.wav", null, null, null, null, null, null, null, null, null, "224000", "1"}, null, null, null, "224000", "1", null}, {"/sdcard/media_api/metaDataTestMedias/WMA/WMA9.wma", "6", "Ten Songs in the Key of Betrayal", "Alien Crime Syndicate", "Alien Crime Syndicate", "wma 9 Composer", "20040521T175729.483Z", "Rock", "Run for the Money", "2004", "134479", "1"}, "Rock", "Run for the Money", "2004", "134479", "1", null}, {"/sdcard/media_api/metaDataTestMedias/WMA/WMA10.wma", "09", "wma 10 Album", "wma 10 Album Artist", "wma 10 Artist", "wma 10 Composer", "20070705T063625.097Z", "Acid Jazz", "wma 10 Title", "2010", "126574", "1"}, "Acid Jazz", "wma 10 Title", "2010", "126574", "1", null}, {"/sdcard/media_api/metaDataTestMedias/WMV/bugs.wmv", "8", "wmv 9 Album", null, "wmv 9 Artist ", null, "20051122T155247.540Z", null, "Looney Tunes - Hare-Breadth Hurry", "2005", "193482", "2"}, null, "Looney Tunes - Hare-Breadth Hurry", "2005", "193482", "2", null}, {"/sdcard/media_api/metaDataTestMedias/WMV/clips_ver7.wmv", "50", "wmv 7 Album", null, "Hallau Shoots & Company", null, "20020226T170045.891Z", null, "CODEC Shootout", "1986", "43709", "2"} null, "CODEC Shootout", "1986", "43709", "2", null} }; //output recorded video Loading
media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaMetadataTest.java +5 −3 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ public class MediaMetadataTest extends AndroidTestCase { FILE_PATH,CD_TRACK, ALBUM, ARTIST, AUTHOR, COMPOSER, DATE, GENRE, TITLE, YEAR, DURATION, NUM_TRACKS YEAR, DURATION, NUM_TRACKS, WRITER } public static enum MP3_TEST_FILE{ Loading Loading @@ -130,8 +130,6 @@ public class MediaMetadataTest extends AndroidTestCase { validateMetatData(non_mp3_test_file.AMRWB.ordinal(), MediaNames.META_DATA_OTHERS); } //Bug# 1440173 - skip this test case now @Suppress @MediumTest public static void testM4A1_Metadata() throws Exception { validateMetatData(non_mp3_test_file.M4A1.ordinal(), MediaNames.META_DATA_OTHERS); Loading Loading @@ -254,6 +252,10 @@ public class MediaMetadataTest extends AndroidTestCase { Log.v(TAG, "Track : "+ value); assertEquals(TAG,meta_data_file[fileIndex][meta.NUM_TRACKS.ordinal()], value); value = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_WRITER); Log.v(TAG, "Writer : "+ value); assertEquals(TAG,meta_data_file[fileIndex][meta.WRITER.ordinal()], value); retriever.release(); } }