Changeset 179738 in webkit
- Timestamp:
- Feb 5, 2015 7:55:10 PM (9 years ago)
- Location:
- trunk
- Files:
-
- 2 deleted
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r179733 r179738 1 2015-02-05 Commit Queue <commit-queue@webkit.org> 2 3 Unreviewed, rolling out r179725. 4 https://bugs.webkit.org/show_bug.cgi?id=141320 5 6 caused 2 layout tests to fail (Requested by zalan on #webkit). 7 8 Reverted changeset: 9 10 "[MSE] Implement Append Error algorithm." 11 https://bugs.webkit.org/show_bug.cgi?id=139439 12 http://trac.webkit.org/changeset/179725 13 1 14 2015-02-05 Gyuyoung Kim <gyuyoung.kim@samsung.com> 2 15 -
trunk/Source/WebCore/ChangeLog
r179737 r179738 1 2015-02-05 Commit Queue <commit-queue@webkit.org> 2 3 Unreviewed, rolling out r179725. 4 https://bugs.webkit.org/show_bug.cgi?id=141320 5 6 caused 2 layout tests to fail (Requested by zalan on #webkit). 7 8 Reverted changeset: 9 10 "[MSE] Implement Append Error algorithm." 11 https://bugs.webkit.org/show_bug.cgi?id=139439 12 http://trac.webkit.org/changeset/179725 13 1 14 2015-02-05 Andreas Kling <akling@apple.com> 2 15 -
trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp
r179725 r179738 617 617 618 618 // 2. If the input buffer contains bytes that violate the SourceBuffer byte stream format specification, 619 // then run the append error algorithm with the decode error parameter set to trueand abort this algorithm.619 // then run the end of stream algorithm with the error parameter set to "decode" and abort this algorithm. 620 620 if (result == ParsingFailed) { 621 621 LOG(MediaSource, "SourceBuffer::sourceBufferPrivateAppendComplete(%p) - result = ParsingFailed", this); 622 appendError(true);622 m_source->streamEndedWithError(decodeError(), IgnorableExceptionCode()); 623 623 return; 624 624 } … … 998 998 LOG(MediaSource, "SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment(%p)", this); 999 999 1000 // 3.5.8 Initialization Segment Received (ctd) 1001 // https://rawgit.com/w3c/media-source/c3ad59c7a370d04430969ba73d18dc9bcde57a33/index.html#sourcebuffer-init-segment-received [Editor's Draft 09 January 2015] 1002 1000 // 3.5.7 Initialization Segment Received 1001 // https://dvcs.w3.org/hg/html-media/raw-file/default/media-source/media-source.html#sourcebuffer-init-segment-received 1003 1002 // 1. Update the duration attribute if it currently equals NaN: 1004 1003 if (m_source->duration().isInvalid()) { … … 1011 1010 } 1012 1011 1013 // 2. If the initialization segment has no audio, video, or text tracks, then run the append error algorithm1014 // with the decode error parameter set to trueand abort these steps.1012 // 2. If the initialization segment has no audio, video, or text tracks, then run the end of stream 1013 // algorithm with the error parameter set to "decode" and abort these steps. 1015 1014 if (!segment.audioTracks.size() && !segment.videoTracks.size() && !segment.textTracks.size()) 1016 appendError(true); 1015 m_source->streamEndedWithError(decodeError(), IgnorableExceptionCode()); 1016 1017 1017 1018 1018 // 3. If the first initialization segment flag is true, then run the following steps: 1019 1019 if (m_receivedFirstInitializationSegment) { 1020 1021 // 3.1. Verify the following properties. If any of the checks fail then run the append error algorithm1022 // with the decode error parameter set to true and abort these steps.1023 1020 if (!validateInitializationSegment(segment)) { 1024 appendError(true);1021 m_source->streamEndedWithError(decodeError(), IgnorableExceptionCode()); 1025 1022 return; 1026 1023 } … … 1062 1059 } 1063 1060 1064 // 3.3 Set the need random access point flag on all track buffers to true.1065 1061 for (auto& trackBuffer : m_trackBufferMap.values()) 1066 1062 trackBuffer.needRandomAccessFlag = true; … … 1073 1069 if (!m_receivedFirstInitializationSegment) { 1074 1070 // 5.1 If the initialization segment contains tracks with codecs the user agent does not support, 1075 // then run the append error algorithm with the decode error parameter set to trueand abort these steps.1071 // then run the end of stream algorithm with the error parameter set to "decode" and abort these steps. 1076 1072 // NOTE: This check is the responsibility of the SourceBufferPrivate. 1077 1073 … … 1080 1076 AudioTrackPrivate* audioTrackPrivate = audioTrackInfo.track.get(); 1081 1077 1082 // FIXME: Implement steps 5.2.1-5.2.8.1 as per Editor's Draft 09 January 2015, and reorder this1083 1078 // 5.2.1 Let new audio track be a new AudioTrack object. 1084 1079 // 5.2.2 Generate a unique ID and assign it to the id property on new video track. … … 1121 1116 VideoTrackPrivate* videoTrackPrivate = videoTrackInfo.track.get(); 1122 1117 1123 // FIXME: Implement steps 5.3.1-5.3.8.1 as per Editor's Draft 09 January 2015, and reorder this1124 1118 // 5.3.1 Let new video track be a new VideoTrack object. 1125 1119 // 5.3.2 Generate a unique ID and assign it to the id property on new video track. … … 1162 1156 InbandTextTrackPrivate* textTrackPrivate = textTrackInfo.track.get(); 1163 1157 1164 // FIXME: Implement steps 5.4.1-5.4.8.1 as per Editor's Draft 09 January 2015, and reorder this1165 1158 // 5.4.1 Let new text track be a new TextTrack object with its properties populated with the 1166 1159 // appropriate information from the initialization segment. … … 1197 1190 if (activeTrackFlag) { 1198 1191 // 5.5.1 Add this SourceBuffer to activeSourceBuffers. 1199 // 5.5.2 Queue a task to fire a simple event named addsourcebuffer at activeSourceBuffers1200 1192 setActive(true); 1201 1193 } … … 1227 1219 bool SourceBuffer::validateInitializationSegment(const InitializationSegment& segment) 1228 1220 { 1229 // FIXME: ordering of all 3.5.X (X>=7) functions needs to be updated to post-[24 July 2014 Editor's Draft] version1230 // 3.5.8 Initialization Segment Received (ctd)1231 // https://rawgit.com/w3c/media-source/c3ad59c7a370d04430969ba73d18dc9bcde57a33/index.html#sourcebuffer-init-segment-received [Editor's Draft 09 January 2015] 1232 1233 // Note: those are checks from step 3.11221 // 3.5.7 Initialization Segment Received (ctd) 1222 // https://dvcs.w3.org/hg/html-media/raw-file/default/media-source/media-source.html#sourcebuffer-init-segment-received 1223 1224 // 3.1. Verify the following properties. If any of the checks fail then run the end of stream 1225 // algorithm with the error parameter set to "decode" and abort these steps. 1234 1226 // * The number of audio, video, and text tracks match what was in the first initialization segment. 1235 1227 if (segment.audioTracks.size() != audioTracks()->length() … … 1298 1290 }; 1299 1291 1300 void SourceBuffer::appendError(bool decodeErrorParam)1301 {1302 // 3.5.3 Append Error Algorithm1303 // https://rawgit.com/w3c/media-source/c3ad59c7a370d04430969ba73d18dc9bcde57a33/index.html#sourcebuffer-append-error [Editor's Draft 09 January 2015]1304 1305 ASSERT(m_updating);1306 // 1. Run the reset parser state algorithm.1307 resetParserState();1308 1309 // 2. Set the updating attribute to false.1310 m_updating = false;1311 1312 // 3. Queue a task to fire a simple event named error at this SourceBuffer object.1313 scheduleEvent(eventNames().errorEvent);1314 1315 // 4. Queue a task to fire a simple event named updateend at this SourceBuffer object.1316 scheduleEvent(eventNames().updateendEvent);1317 1318 // 5. If decode error is true, then run the end of stream algorithm with the error parameter set to "decode".1319 if (decodeErrorParam)1320 m_source->streamEndedWithError(decodeError(), IgnorableExceptionCode());1321 }1322 1323 1292 void SourceBuffer::sourceBufferPrivateDidReceiveSample(SourceBufferPrivate*, PassRefPtr<MediaSample> prpSample) 1324 1293 { 1325 1294 if (isRemoved()) 1326 1295 return; 1327 1328 // 3.5.1 Segment Parser Loop1329 // 6.1 If the first initialization segment received flag is false, then run the append error algorithm1330 // with the decode error parameter set to true and abort this algorithm.1331 // Note: current design makes SourceBuffer somehow ignorant of append state - it's more a thing1332 // of SourceBufferPrivate. That's why this check can't really be done in appendInternal.1333 // unless we force some kind of design with state machine switching.1334 if (!m_receivedFirstInitializationSegment) {1335 appendError(true);1336 return;1337 }1338 1296 1339 1297 RefPtr<MediaSample> sample = prpSample; -
trunk/Source/WebCore/Modules/mediasource/SourceBuffer.h
r179725 r179738 93 93 void remove(const MediaTime&, const MediaTime&, ExceptionCode&); 94 94 95 void appendError(bool);96 95 void abortIfUpdating(); 97 96 void removedFromMediaSource();
Note: See TracChangeset
for help on using the changeset viewer.