diff options
author | James Dong <jdong@google.com> | 2011-11-22 17:36:45 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-11-22 17:36:45 -0800 |
commit | 1d2ad70cb27c16709ebd74ae651c47f57abfedb0 (patch) | |
tree | 16b72ad09b41e4541cc541299da992773bec9724 /media | |
parent | 8c3ddf9442d04cf19dba88381fbbb53d587d5979 (diff) | |
parent | 0e0c3220ee1c4d57765e2cba3b07923921c55e08 (diff) | |
download | frameworks_av-1d2ad70cb27c16709ebd74ae651c47f57abfedb0.zip frameworks_av-1d2ad70cb27c16709ebd74ae651c47f57abfedb0.tar.gz frameworks_av-1d2ad70cb27c16709ebd74ae651c47f57abfedb0.tar.bz2 |
Merge "Fix a subtitle bug: multiple blank lines in SubRip(srt) file."
Diffstat (limited to 'media')
-rw-r--r-- | media/libstagefright/timedtext/TimedTextParser.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/media/libstagefright/timedtext/TimedTextParser.cpp b/media/libstagefright/timedtext/TimedTextParser.cpp index 0bada16..caea0a4 100644 --- a/media/libstagefright/timedtext/TimedTextParser.cpp +++ b/media/libstagefright/timedtext/TimedTextParser.cpp @@ -128,7 +128,7 @@ status_t TimedTextParser::readNextLine(off64_t *offset, AString *data) { * Subtitle number * Start time --> End time * Text of subtitle (one or more lines) - * Blank line + * Blank lines * * .srt file example: * 1 @@ -143,15 +143,20 @@ status_t TimedTextParser::getNextInSrtFileFormat( off64_t *offset, int64_t *startTimeUs, TextInfo *info) { AString data; status_t err; - if ((err = readNextLine(offset, &data)) != OK) { - return err; - } - // to skip the first line + // To skip blank lines. + do { + if ((err = readNextLine(offset, &data)) != OK) { + return err; + } + data.trim(); + } while(data.empty()); + + // Just ignore the first non-blank line which is subtitle sequence number. + if ((err = readNextLine(offset, &data)) != OK) { return err; } - int hour1, hour2, min1, min2, sec1, sec2, msec1, msec2; // the start time format is: hours:minutes:seconds,milliseconds // 00:00:24,600 --> 00:00:27,800 |