Changeset 179738 in webkit


Ignore:
Timestamp:
Feb 5, 2015 7:55:10 PM (9 years ago)
Author:
commit-queue@webkit.org
Message:

Unreviewed, rolling out r179725.
https://bugs.webkit.org/show_bug.cgi?id=141320

caused 2 layout tests to fail (Requested by zalan on #webkit).

Reverted changeset:

"[MSE] Implement Append Error algorithm."
https://bugs.webkit.org/show_bug.cgi?id=139439
http://trac.webkit.org/changeset/179725

Location:
trunk
Files:
2 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r179733 r179738  
     12015-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
    1142015-02-05  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
    215
  • trunk/Source/WebCore/ChangeLog

    r179737 r179738  
     12015-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
    1142015-02-05  Andreas Kling  <akling@apple.com>
    215
  • trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp

    r179725 r179738  
    617617
    618618    // 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 true and abort this algorithm.
     619    // then run the end of stream algorithm with the error parameter set to "decode" and abort this algorithm.
    620620    if (result == ParsingFailed) {
    621621        LOG(MediaSource, "SourceBuffer::sourceBufferPrivateAppendComplete(%p) - result = ParsingFailed", this);
    622         appendError(true);
     622        m_source->streamEndedWithError(decodeError(), IgnorableExceptionCode());
    623623        return;
    624624    }
     
    998998    LOG(MediaSource, "SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment(%p)", this);
    999999
    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
    10031002    // 1. Update the duration attribute if it currently equals NaN:
    10041003    if (m_source->duration().isInvalid()) {
     
    10111010    }
    10121011
    1013     // 2. If the initialization segment has no audio, video, or text tracks, then run the append error algorithm
    1014     // with the decode error parameter set to true and 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.
    10151014    if (!segment.audioTracks.size() && !segment.videoTracks.size() && !segment.textTracks.size())
    1016         appendError(true);
     1015        m_source->streamEndedWithError(decodeError(), IgnorableExceptionCode());
     1016
    10171017
    10181018    // 3. If the first initialization segment flag is true, then run the following steps:
    10191019    if (m_receivedFirstInitializationSegment) {
    1020 
    1021         // 3.1. Verify the following properties. If any of the checks fail then run the append error algorithm
    1022         // with the decode error parameter set to true and abort these steps.
    10231020        if (!validateInitializationSegment(segment)) {
    1024             appendError(true);
     1021            m_source->streamEndedWithError(decodeError(), IgnorableExceptionCode());
    10251022            return;
    10261023        }
     
    10621059        }
    10631060
    1064         // 3.3 Set the need random access point flag on all track buffers to true.
    10651061        for (auto& trackBuffer : m_trackBufferMap.values())
    10661062            trackBuffer.needRandomAccessFlag = true;
     
    10731069    if (!m_receivedFirstInitializationSegment) {
    10741070        // 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 true and abort these steps.
     1071        // then run the end of stream algorithm with the error parameter set to "decode" and abort these steps.
    10761072        // NOTE: This check is the responsibility of the SourceBufferPrivate.
    10771073
     
    10801076            AudioTrackPrivate* audioTrackPrivate = audioTrackInfo.track.get();
    10811077
    1082             // FIXME: Implement steps 5.2.1-5.2.8.1 as per Editor's Draft 09 January 2015, and reorder this
    10831078            // 5.2.1 Let new audio track be a new AudioTrack object.
    10841079            // 5.2.2 Generate a unique ID and assign it to the id property on new video track.
     
    11211116            VideoTrackPrivate* videoTrackPrivate = videoTrackInfo.track.get();
    11221117
    1123             // FIXME: Implement steps 5.3.1-5.3.8.1 as per Editor's Draft 09 January 2015, and reorder this
    11241118            // 5.3.1 Let new video track be a new VideoTrack object.
    11251119            // 5.3.2 Generate a unique ID and assign it to the id property on new video track.
     
    11621156            InbandTextTrackPrivate* textTrackPrivate = textTrackInfo.track.get();
    11631157
    1164             // FIXME: Implement steps 5.4.1-5.4.8.1 as per Editor's Draft 09 January 2015, and reorder this
    11651158            // 5.4.1 Let new text track be a new TextTrack object with its properties populated with the
    11661159            // appropriate information from the initialization segment.
     
    11971190        if (activeTrackFlag) {
    11981191            // 5.5.1 Add this SourceBuffer to activeSourceBuffers.
    1199             // 5.5.2 Queue a task to fire a simple event named addsourcebuffer at activeSourceBuffers
    12001192            setActive(true);
    12011193        }
     
    12271219bool SourceBuffer::validateInitializationSegment(const InitializationSegment& segment)
    12281220{
    1229     // FIXME: ordering of all 3.5.X (X>=7) functions needs to be updated to post-[24 July 2014 Editor's Draft] version
    1230     // 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.1
     1221    // 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.
    12341226    //   * The number of audio, video, and text tracks match what was in the first initialization segment.
    12351227    if (segment.audioTracks.size() != audioTracks()->length()
     
    12981290};
    12991291
    1300 void SourceBuffer::appendError(bool decodeErrorParam)
    1301 {
    1302     // 3.5.3 Append Error Algorithm
    1303     // 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 
    13231292void SourceBuffer::sourceBufferPrivateDidReceiveSample(SourceBufferPrivate*, PassRefPtr<MediaSample> prpSample)
    13241293{
    13251294    if (isRemoved())
    13261295        return;
    1327 
    1328     // 3.5.1 Segment Parser Loop
    1329     // 6.1 If the first initialization segment received flag is false, then run the append error algorithm
    1330     //     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 thing
    1332     //  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     }
    13381296
    13391297    RefPtr<MediaSample> sample = prpSample;
  • trunk/Source/WebCore/Modules/mediasource/SourceBuffer.h

    r179725 r179738  
    9393    void remove(const MediaTime&, const MediaTime&, ExceptionCode&);
    9494
    95     void appendError(bool);
    9695    void abortIfUpdating();
    9796    void removedFromMediaSource();
Note: See TracChangeset for help on using the changeset viewer.