Lines Matching refs:reader
29 * @param {ByteReader} reader Reader to use.
34 Id3Parser.readSynchSafe_ = function(reader, length) {
39 rv = reader.readScalar(1, false) << 21;
41 rv |= reader.readScalar(1, false) << 14;
43 rv |= reader.readScalar(1, false) << 7;
45 rv |= reader.readScalar(1, false);
54 * @param {ByteReader} reader Reader to use.
58 Id3Parser.readUInt24_ = function(reader) {
59 return reader.readScalar(2, false) << 16 | reader.readScalar(1, false);
63 * Reads string from reader with specified encoding
65 * @param {ByteReader} reader Reader to use.
71 Id3Parser.prototype.readString_ = function(reader, encoding, size) {
74 return reader.readNullTerminatedString(size);
77 return reader.readNullTerminatedStringUTF16(true, size);
80 return reader.readNullTerminatedStringUTF16(false, size);
85 return reader.readNullTerminatedString(size);
95 * Reads text frame from reader.
97 * @param {ByteReader} reader Reader to use.
100 * @param {number} end Frame end position in reader.
103 Id3Parser.prototype.readTextFrame_ = function(reader,
107 frame.encoding = reader.readScalar(1, false, end);
108 frame.value = this.readString_(reader, frame.encoding, end - reader.tell());
112 * Reads user defined text frame from reader.
114 * @param {ByteReader} reader Reader to use.
117 * @param {number} end Frame end position in reader.
120 Id3Parser.prototype.readUserDefinedTextFrame_ = function(reader,
124 frame.encoding = reader.readScalar(1, false, end);
127 reader,
129 end - reader.tell());
132 reader,
134 end - reader.tell());
138 * @param {ByteReader} reader Reader to use.
141 * @param {number} end Frame end position in reader.
144 Id3Parser.prototype.readPIC_ = function(reader, majorVersion, frame, end) {
145 frame.encoding = reader.readScalar(1, false, end);
146 frame.format = reader.readNullTerminatedString(3, end - reader.tell());
147 frame.pictureType = reader.readScalar(1, false, end);
148 frame.description = this.readString_(reader,
150 end - reader.tell());
154 frame.imageUrl = reader.readNullTerminatedString(end - reader.tell());
156 frame.imageUrl = reader.readImage(end - reader.tell());
161 * @param {ByteReader} reader Reader to use.
164 * @param {number} end Frame end position in reader.
167 Id3Parser.prototype.readAPIC_ = function(reader, majorVersion, frame, end) {
169 frame.encoding = reader.readScalar(1, false, end);
170 frame.mime = reader.readNullTerminatedString(end - reader.tell());
171 frame.pictureType = reader.readScalar(1, false, end);
173 reader,
175 end - reader.tell());
178 frame.imageUrl = reader.readNullTerminatedString(end - reader.tell());
180 frame.imageUrl = reader.readImage(end - reader.tell());
185 * Reads string from reader with specified encoding
187 * @param {ByteReader} reader Reader to use.
192 Id3Parser.prototype.readFrame_ = function(reader, majorVersion) {
193 if (reader.eof())
198 reader.pushSeek(reader.tell(), ByteReader.SEEK_BEG);
200 var position = reader.tell();
202 frame.name = (majorVersion == 2) ? reader.readNullTerminatedString(3) :
203 reader.readNullTerminatedString(4);
212 frame.size = Id3Parser.readUInt24_(reader);
216 frame.size = reader.readScalar(4, false);
218 frame.flags = reader.readScalar(2, false);
221 frame.size = Id3Parser.readSynchSafe_(reader, 4);
223 frame.flags = reader.readScalar(2, false);
232 reader,
235 reader.tell() + frame.size);
238 reader,
241 reader.tell() + frame.size);
244 reader.popSeek();
246 reader.seek(frame.size + frame.headerSize, ByteReader.SEEK_CUR);
280 * @param {ByteReader} reader ByteReader of 128 bytes.
282 function extractId3v1(file, reader) {
283 if (reader.readString(3) == 'TAG') {
287 var title = reader.readNullTerminatedString(30).trim();
293 reader.seek(3 + 30, ByteReader.SEEK_BEG);
295 var artist = reader.readNullTerminatedString(30).trim();
300 reader.seek(3 + 30 + 30, ByteReader.SEEK_BEG);
302 var album = reader.readNullTerminatedString(30).trim();
324 * @param {ByteReader} reader Reader to fill with stream bytes.
326 function checkId3v2(file, reader) {
327 if (reader.readString(3) == 'ID3') {
330 id3v2.major = reader.readScalar(1, false);
331 id3v2.minor = reader.readScalar(1, false);
332 id3v2.flags = reader.readScalar(1, false);
333 id3v2.size = Id3Parser.readSynchSafe_(reader, 4);
345 * @param {ByteReader} reader Reader to use for metadata extraction.
347 function extractFrames(file, reader) {
354 reader.seek(reader.readScalar(4, false) - 4);
356 reader.seek(Id3Parser.readSynchSafe_(reader, 4) - 4);
362 while (frame = self.readFrame_(reader, id3v2.major)) {