| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright (C) 2013 Google Inc. All rights reserved. | 2  * Copyright (C) 2013 Google Inc. All rights reserved. | 
| 3  * | 3  * | 
| 4  * Redistribution and use in source and binary forms, with or without | 4  * Redistribution and use in source and binary forms, with or without | 
| 5  * modification, are permitted provided that the following conditions are | 5  * modification, are permitted provided that the following conditions are | 
| 6  * met: | 6  * met: | 
| 7  * | 7  * | 
| 8  *     * Redistributions of source code must retain the above copyright | 8  *     * Redistributions of source code must retain the above copyright | 
| 9  * notice, this list of conditions and the following disclaimer. | 9  * notice, this list of conditions and the following disclaimer. | 
| 10  *     * Redistributions in binary form must reproduce the above | 10  *     * Redistributions in binary form must reproduce the above | 
| (...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 385   // Return an empty range if all ranges are empty. | 385   // Return an empty range if all ranges are empty. | 
| 386   if (highestEndTime < 0) | 386   if (highestEndTime < 0) | 
| 387     return TimeRanges::create(); | 387     return TimeRanges::create(); | 
| 388 | 388 | 
| 389   // 4. Let intersection ranges equal a TimeRange object containing a single | 389   // 4. Let intersection ranges equal a TimeRange object containing a single | 
| 390   //    range from 0 to highest end time. | 390   //    range from 0 to highest end time. | 
| 391   TimeRanges* intersectionRanges = TimeRanges::create(0, highestEndTime); | 391   TimeRanges* intersectionRanges = TimeRanges::create(0, highestEndTime); | 
| 392 | 392 | 
| 393   // 5. For each SourceBuffer object in activeSourceBuffers run the following | 393   // 5. For each SourceBuffer object in activeSourceBuffers run the following | 
| 394   //    steps: | 394   //    steps: | 
| 395   bool ended = readyState() == endedKeyword(); | 395   bool ended = getReadyState() == endedKeyword(); | 
| 396   for (size_t i = 0; i < ranges.size(); ++i) { | 396   for (size_t i = 0; i < ranges.size(); ++i) { | 
| 397     // 5.1 Let source ranges equal the ranges returned by the buffered attribute | 397     // 5.1 Let source ranges equal the ranges returned by the buffered attribute | 
| 398     //     on the current SourceBuffer. | 398     //     on the current SourceBuffer. | 
| 399     TimeRanges* sourceRanges = ranges[i].get(); | 399     TimeRanges* sourceRanges = ranges[i].get(); | 
| 400 | 400 | 
| 401     // 5.2 If readyState is "ended", then set the end time on the last range in | 401     // 5.2 If readyState is "ended", then set the end time on the last range in | 
| 402     //     source ranges to highest end time. | 402     //     source ranges to highest end time. | 
| 403     if (ended && sourceRanges->length()) | 403     if (ended && sourceRanges->length()) | 
| 404       sourceRanges->add( | 404       sourceRanges->add( | 
| 405           sourceRanges->start(sourceRanges->length() - 1, ASSERT_NO_EXCEPTION), | 405           sourceRanges->start(sourceRanges->length() - 1, ASSERT_NO_EXCEPTION), | 
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 579 | 579 | 
| 580   // 6. Update the media controller duration to new duration and run the | 580   // 6. Update the media controller duration to new duration and run the | 
| 581   //    HTMLMediaElement duration change algorithm. | 581   //    HTMLMediaElement duration change algorithm. | 
| 582   m_attachedElement->durationChanged(newDuration, requestSeek); | 582   m_attachedElement->durationChanged(newDuration, requestSeek); | 
| 583 } | 583 } | 
| 584 | 584 | 
| 585 void MediaSource::setReadyState(const AtomicString& state) { | 585 void MediaSource::setReadyState(const AtomicString& state) { | 
| 586   DCHECK(state == openKeyword() || state == closedKeyword() || | 586   DCHECK(state == openKeyword() || state == closedKeyword() || | 
| 587          state == endedKeyword()); | 587          state == endedKeyword()); | 
| 588 | 588 | 
| 589   AtomicString oldState = readyState(); | 589   AtomicString oldState = getReadyState(); | 
| 590   BLINK_MSLOG << __func__ << " this=" << this << " : " << oldState << " -> " | 590   BLINK_MSLOG << __func__ << " this=" << this << " : " << oldState << " -> " | 
| 591               << state; | 591               << state; | 
| 592 | 592 | 
| 593   if (state == closedKeyword()) { | 593   if (state == closedKeyword()) { | 
| 594     m_webMediaSource.reset(); | 594     m_webMediaSource.reset(); | 
| 595   } | 595   } | 
| 596 | 596 | 
| 597   if (oldState == state) | 597   if (oldState == state) | 
| 598     return; | 598     return; | 
| 599 | 599 | 
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 688   //   1. Change the readyState attribute value to "ended". | 688   //   1. Change the readyState attribute value to "ended". | 
| 689   //   2. Queue a task to fire a simple event named sourceended at the | 689   //   2. Queue a task to fire a simple event named sourceended at the | 
| 690   //      MediaSource. | 690   //      MediaSource. | 
| 691   setReadyState(endedKeyword()); | 691   setReadyState(endedKeyword()); | 
| 692 | 692 | 
| 693   //   3. Do various steps based on |eosStatus|. | 693   //   3. Do various steps based on |eosStatus|. | 
| 694   m_webMediaSource->markEndOfStream(eosStatus); | 694   m_webMediaSource->markEndOfStream(eosStatus); | 
| 695 } | 695 } | 
| 696 | 696 | 
| 697 bool MediaSource::isOpen() const { | 697 bool MediaSource::isOpen() const { | 
| 698   return readyState() == openKeyword(); | 698   return getReadyState() == openKeyword(); | 
| 699 } | 699 } | 
| 700 | 700 | 
| 701 void MediaSource::setSourceBufferActive(SourceBuffer* sourceBuffer, | 701 void MediaSource::setSourceBufferActive(SourceBuffer* sourceBuffer, | 
| 702                                         bool isActive) { | 702                                         bool isActive) { | 
| 703   if (!isActive) { | 703   if (!isActive) { | 
| 704     DCHECK(m_activeSourceBuffers->contains(sourceBuffer)); | 704     DCHECK(m_activeSourceBuffers->contains(sourceBuffer)); | 
| 705     m_activeSourceBuffers->remove(sourceBuffer); | 705     m_activeSourceBuffers->remove(sourceBuffer); | 
| 706     return; | 706     return; | 
| 707   } | 707   } | 
| 708 | 708 | 
| (...skipping 17 matching lines...) Expand all  Loading... | 
| 726   } | 726   } | 
| 727 | 727 | 
| 728   m_activeSourceBuffers->insert(insertPosition, sourceBuffer); | 728   m_activeSourceBuffers->insert(insertPosition, sourceBuffer); | 
| 729 } | 729 } | 
| 730 | 730 | 
| 731 HTMLMediaElement* MediaSource::mediaElement() const { | 731 HTMLMediaElement* MediaSource::mediaElement() const { | 
| 732   return m_attachedElement.get(); | 732   return m_attachedElement.get(); | 
| 733 } | 733 } | 
| 734 | 734 | 
| 735 bool MediaSource::isClosed() const { | 735 bool MediaSource::isClosed() const { | 
| 736   return readyState() == closedKeyword(); | 736   return getReadyState() == closedKeyword(); | 
| 737 } | 737 } | 
| 738 | 738 | 
| 739 void MediaSource::close() { | 739 void MediaSource::close() { | 
| 740   setReadyState(closedKeyword()); | 740   setReadyState(closedKeyword()); | 
| 741 } | 741 } | 
| 742 | 742 | 
| 743 bool MediaSource::attachToElement(HTMLMediaElement* element) { | 743 bool MediaSource::attachToElement(HTMLMediaElement* element) { | 
| 744   if (m_attachedElement) | 744   if (m_attachedElement) | 
| 745     return false; | 745     return false; | 
| 746 | 746 | 
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 815   event->setTarget(this); | 815   event->setTarget(this); | 
| 816 | 816 | 
| 817   m_asyncEventQueue->enqueueEvent(event); | 817   m_asyncEventQueue->enqueueEvent(event); | 
| 818 } | 818 } | 
| 819 | 819 | 
| 820 URLRegistry& MediaSource::registry() const { | 820 URLRegistry& MediaSource::registry() const { | 
| 821   return MediaSourceRegistry::registry(); | 821   return MediaSourceRegistry::registry(); | 
| 822 } | 822 } | 
| 823 | 823 | 
| 824 }  // namespace blink | 824 }  // namespace blink | 
| OLD | NEW | 
|---|