Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(393)

Issue 10451049: Track buffered byte ranges correctly in media::Pipeline. (Closed)

Created:
8 years, 7 months ago by Ami GONE FROM CHROMIUM
Modified:
8 years, 6 months ago
CC:
chromium-reviews, feature-media-reviews_chromium.org, pam+watch_chromium.org, darin-cc_chromium.org
Visibility:
Public.

Description

Track buffered byte ranges correctly in media::Pipeline. Previously, the interaction was: BufferedDataSource: hey Pipeline, I just read byte X Pipeline: cool story bro! I'll just pretend you've read every single byte from 0 to X. Now the interaction is: BufferedDataSource: hey Pipeline, I just read bytes X-Y Pipeline: neato! I'll just add that range to my list of buffered ranges. The most noticeable outcome of this change is that seeking in a media format that requires reading a seek index from the end of the file (e.g. WebM w/ CUES at the end) no longer results in an almost-instant claim of having buffered the entire video just because a seek was completed (esp. dramatic when viewing a very large file, such as a multi-hour video). BUG=103513, 127355 TEST=besides unittests, this allows a cleaned-up version of http/tests/media/video-buffered.html to be un-SKIPped! Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=139452

Patch Set 1 : . #

Total comments: 9

Patch Set 2 : . #

Total comments: 5

Patch Set 3 : . #

Unified diffs Side-by-side diffs Delta from patch set Stats (+91 lines, -138 lines) Patch
M media/base/data_source.h View 1 chunk +2 lines, -3 lines 0 comments Download
M media/base/demuxer.h View 1 1 chunk +0 lines, -3 lines 0 comments Download
M media/base/mock_data_source_host.h View 1 chunk +1 line, -1 line 0 comments Download
M media/base/mock_demuxer_host.h View 1 1 chunk +1 line, -2 lines 0 comments Download
M media/base/pipeline.h View 1 5 chunks +8 lines, -13 lines 0 comments Download
M media/base/pipeline.cc View 1 2 13 chunks +48 lines, -58 lines 0 comments Download
M media/base/pipeline_unittest.cc View 2 chunks +3 lines, -2 lines 0 comments Download
M media/filters/chunk_demuxer.cc View 1 2 chunks +3 lines, -3 lines 0 comments Download
M media/filters/chunk_demuxer_unittest.cc View 1 2 chunks +3 lines, -6 lines 0 comments Download
M media/filters/ffmpeg_demuxer.cc View 1 1 chunk +0 lines, -1 line 0 comments Download
M media/filters/ffmpeg_demuxer_unittest.cc View 1 7 chunks +1 line, -13 lines 0 comments Download
M media/filters/file_data_source.cc View 1 chunk +1 line, -1 line 0 comments Download
M media/filters/file_data_source_unittest.cc View 1 chunk +1 line, -1 line 0 comments Download
M media/tools/seek_tester/seek_tester.cc View 1 1 chunk +1 line, -2 lines 0 comments Download
M webkit/media/buffered_data_source.h View 1 chunk +2 lines, -1 line 0 comments Download
M webkit/media/buffered_data_source.cc View 10 chunks +14 lines, -14 lines 0 comments Download
M webkit/media/buffered_data_source_unittest.cc View 9 chunks +2 lines, -14 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
Ami GONE FROM CHROMIUM
Note this needs to wait for http://trac.webkit.org/changeset/118577 to roll into chromium DEPS.
8 years, 7 months ago (2012-05-26 05:18:25 UTC) #1
scherkus (not reviewing)
https://chromiumcodereview.appspot.com/10451049/diff/2001/media/base/data_source.h File media/base/data_source.h (right): https://chromiumcodereview.appspot.com/10451049/diff/2001/media/base/data_source.h#newcode21 media/base/data_source.h:21: // Notify the host that byte range [start,end] has ...
8 years, 6 months ago (2012-05-29 18:13:29 UTC) #2
Ami GONE FROM CHROMIUM
https://chromiumcodereview.appspot.com/10451049/diff/2001/media/base/pipeline.cc File media/base/pipeline.cc (right): https://chromiumcodereview.appspot.com/10451049/diff/2001/media/base/pipeline.cc#newcode206 media/base/pipeline.cc:206: return buffered_time_ranges_; On 2012/05/29 18:13:29, scherkus wrote: > would ...
8 years, 6 months ago (2012-05-29 20:45:44 UTC) #3
scherkus (not reviewing)
LGTM w/ one nit me likey! https://chromiumcodereview.appspot.com/10451049/diff/3020/media/base/pipeline.cc File media/base/pipeline.cc (right): https://chromiumcodereview.appspot.com/10451049/diff/3020/media/base/pipeline.cc#newcode205 media/base/pipeline.cc:205: Ranges<base::TimeDelta> time_ranges; s/base::// ...
8 years, 6 months ago (2012-05-29 21:01:48 UTC) #4
Ami GONE FROM CHROMIUM
https://chromiumcodereview.appspot.com/10451049/diff/3020/media/base/pipeline.cc File media/base/pipeline.cc (right): https://chromiumcodereview.appspot.com/10451049/diff/3020/media/base/pipeline.cc#newcode205 media/base/pipeline.cc:205: Ranges<base::TimeDelta> time_ranges; On 2012/05/29 21:01:48, scherkus wrote: > s/base::// ...
8 years, 6 months ago (2012-05-29 21:08:37 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/fischman@chromium.org/10451049/12020
8 years, 6 months ago (2012-05-29 21:09:10 UTC) #6
scherkus (not reviewing)
On 2012/05/29 21:08:37, Ami Fischman wrote: > https://chromiumcodereview.appspot.com/10451049/diff/3020/media/base/pipeline.cc > File media/base/pipeline.cc (right): > > https://chromiumcodereview.appspot.com/10451049/diff/3020/media/base/pipeline.cc#newcode205 ...
8 years, 6 months ago (2012-05-29 21:11:35 UTC) #7
commit-bot: I haz the power
Change committed as 139452
8 years, 6 months ago (2012-05-30 02:17:58 UTC) #8
Ami GONE FROM CHROMIUM
8 years, 6 months ago (2012-06-10 21:05:27 UTC) #9
FYI

https://chromiumcodereview.appspot.com/10451049/diff/3020/media/base/pipeline.cc
File media/base/pipeline.cc (right):

https://chromiumcodereview.appspot.com/10451049/diff/3020/media/base/pipeline...
media/base/pipeline.cc:476: void Pipeline::SetNetworkActivity(bool
is_downloading_data) {
On 2012/05/29 21:08:37, Ami Fischman wrote:
> On 2012/05/29 21:01:48, scherkus wrote:
> > hmm... how soon until this + network_cb_ can go away :)
> 
> What is this I don't even.
> Pretty soon, I'm guessing (from a bit of spelunking).
> But I don't want to hold up the cascade of other CLs I have behind this :)

This is now https://chromiumcodereview.appspot.com/10535101/

Powered by Google App Engine
This is Rietveld 408576698