OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 importScripts('function_sequence.js'); | 5 importScripts('function_sequence.js'); |
6 importScripts('function_parallel.js'); | 6 importScripts('function_parallel.js'); |
7 | 7 |
8 function Id3Parser(parent) { | 8 function Id3Parser(parent) { |
9 MetadataParser.call(this, parent, 'id3', /\.(mp3)$/i); | 9 MetadataParser.call(this, parent, 'id3', /\.(mp3)$/i); |
10 } | 10 } |
11 | 11 |
12 Id3Parser.prototype = {__proto__: MetadataParser.prototype}; | 12 Id3Parser.prototype = {__proto__: MetadataParser.prototype}; |
13 | 13 |
14 /** | 14 /** |
15 * Reads synchsafe integer. | 15 * Reads synchsafe integer. |
16 * 'SynchSafe' term is taken from id3 documentation. | 16 * 'SynchSafe' term is taken from id3 documentation. |
17 * | 17 * |
18 * @private | 18 * @private |
19 * @param {ByteReader} reader - reader to use. | 19 * @param {ByteReader} reader - reader to use. |
20 * @param {int} length - bytes to read. | 20 * @param {int} length - bytes to read. |
21 * @return {int} | 21 * @return {int} //TODO(JSDOC). |
22 */ | 22 */ |
23 Id3Parser.readSynchSafe_ = function(reader, length) { | 23 Id3Parser.readSynchSafe_ = function(reader, length) { |
24 var rv = 0; | 24 var rv = 0; |
25 | 25 |
26 switch (length) { | 26 switch (length) { |
27 case 4: | 27 case 4: |
28 rv = reader.readScalar(1, false) << 21; | 28 rv = reader.readScalar(1, false) << 21; |
29 case 3: | 29 case 3: |
30 rv |= reader.readScalar(1, false) << 14; | 30 rv |= reader.readScalar(1, false) << 14; |
31 case 2: | 31 case 2: |
32 rv |= reader.readScalar(1, false) << 7; | 32 rv |= reader.readScalar(1, false) << 7; |
33 case 1: | 33 case 1: |
34 rv |= reader.readScalar(1, false); | 34 rv |= reader.readScalar(1, false); |
35 } | 35 } |
36 | 36 |
37 return rv; | 37 return rv; |
38 }; | 38 }; |
39 | 39 |
40 /** | 40 /** |
41 * Reads 3bytes integer. | 41 * Reads 3bytes integer. |
42 * | 42 * |
43 * @private | 43 * @private |
44 * @param {ByteReader} reader - reader to use. | 44 * @param {ByteReader} reader - reader to use. |
| 45 * @return {int} //TODO(JSDOC). |
45 * @return {int} | 46 * @return {int} |
46 */ | 47 */ |
47 Id3Parser.readUInt24_ = function(reader) { | 48 Id3Parser.readUInt24_ = function(reader) { |
48 return reader.readScalar(2, false) << 16 | reader.readScalar(1, false); | 49 return reader.readScalar(2, false) << 16 | reader.readScalar(1, false); |
49 }; | 50 }; |
50 | 51 |
51 /** | 52 /** |
52 * Reads string from reader with specified encoding | 53 * Reads string from reader with specified encoding |
53 * | 54 * |
54 * @private | 55 * @private |
(...skipping 640 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
695 TYER: 'ID3_YEAR', | 696 TYER: 'ID3_YEAR', |
696 WCOP: 'ID3_COPYRIGHT', | 697 WCOP: 'ID3_COPYRIGHT', |
697 WOAF: 'ID3_OFFICIAL_AUDIO_FILE_WEBPAGE', | 698 WOAF: 'ID3_OFFICIAL_AUDIO_FILE_WEBPAGE', |
698 WOAR: 'ID3_OFFICIAL_ARTIST', | 699 WOAR: 'ID3_OFFICIAL_ARTIST', |
699 WOAS: 'ID3_OFFICIAL_AUDIO_SOURCE_WEBPAGE', | 700 WOAS: 'ID3_OFFICIAL_AUDIO_SOURCE_WEBPAGE', |
700 WPUB: 'ID3_PUBLISHERS_OFFICIAL_WEBPAGE' | 701 WPUB: 'ID3_PUBLISHERS_OFFICIAL_WEBPAGE' |
701 } | 702 } |
702 }; | 703 }; |
703 | 704 |
704 MetadataDispatcher.registerParserClass(Id3Parser); | 705 MetadataDispatcher.registerParserClass(Id3Parser); |
OLD | NEW |