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

Issue 8224028: Numerous fixes to audio/video buffered resource loading. (Closed)

Created:
9 years, 2 months ago by scherkus (not reviewing)
Modified:
9 years, 2 months ago
CC:
chromium-reviews, hclam+watch_chromium.org, ddorwin+watch_chromium.org, fischman+watch_chromium.org, Paweł Hajdan Jr., acolwell+watch_chromium.org, annacc+watch_chromium.org, darin-cc_chromium.org, ajwong+watch_chromium.org, vrk (LEFT CHROMIUM), scherkus (not reviewing)
Visibility:
Public.

Description

Numerous fixes to audio/video buffered resource loading. This patch fixes a few related issues: 1) Default loading strategy is now threshold-then-defer 2) Specify more reasonable default bitrate/playback rate values 3) Use a minimum buffer window size to prevent underflows on low bitrate content 4) Remember bitrate/playback rate values between resource loaders The default loading strategy of read-then-defer had a negative impact on initial latency as we were constantly deferring/undeferring the connection during the time when we need data the fastest. While this change does result in loading a pinch more data for preload=metadata scenarios, it vastly improves the common preload=auto scenario. BUG=99775 TEST=test_shell_tests Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=105121

Patch Set 1 #

Total comments: 13

Patch Set 2 : tests and fixes #

Patch Set 3 : fix comment #

Total comments: 6

Patch Set 4 : fix nits #

Unified diffs Side-by-side diffs Delta from patch set Stats (+339 lines, -229 lines) Patch
M webkit/glue/media/buffered_data_source.h View 1 2 chunks +8 lines, -0 lines 0 comments Download
M webkit/glue/media/buffered_data_source.cc View 1 2 6 chunks +18 lines, -16 lines 0 comments Download
M webkit/glue/media/buffered_data_source_unittest.cc View 1 2 3 4 chunks +183 lines, -1 line 0 comments Download
M webkit/glue/media/buffered_resource_loader.h View 1 2 chunks +7 lines, -0 lines 0 comments Download
M webkit/glue/media/buffered_resource_loader.cc View 1 6 chunks +68 lines, -50 lines 0 comments Download
M webkit/glue/media/buffered_resource_loader_unittest.cc View 1 9 chunks +55 lines, -162 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
scherkus (not reviewing)
9 years, 2 months ago (2011-10-11 04:35:28 UTC) #1
acolwell GONE FROM CHROMIUM
Looking pretty good. Where are the new tests that repro the bugs you were seeing? ...
9 years, 2 months ago (2011-10-11 16:18:01 UTC) #2
vrk (LEFT CHROMIUM)
Looks good; mostly just questions! Also echoing what acolwell said about tests - can you ...
9 years, 2 months ago (2011-10-11 18:23:20 UTC) #3
scherkus (not reviewing)
added unit tests and fixed comments http://codereview.chromium.org/8224028/diff/1/webkit/glue/media/buffered_data_source.cc File webkit/glue/media/buffered_data_source.cc (right): http://codereview.chromium.org/8224028/diff/1/webkit/glue/media/buffered_data_source.cc#newcode361 webkit/glue/media/buffered_data_source.cc:361: // If playback ...
9 years, 2 months ago (2011-10-11 20:13:18 UTC) #4
acolwell GONE FROM CHROMIUM
LGTM
9 years, 2 months ago (2011-10-11 20:27:09 UTC) #5
vrk (LEFT CHROMIUM)
Small nits but LGTM http://codereview.chromium.org/8224028/diff/4005/webkit/glue/media/buffered_data_source_unittest.cc File webkit/glue/media/buffered_data_source_unittest.cc (right): http://codereview.chromium.org/8224028/diff/4005/webkit/glue/media/buffered_data_source_unittest.cc#newcode598 webkit/glue/media/buffered_data_source_unittest.cc:598: nit: remove line http://codereview.chromium.org/8224028/diff/4005/webkit/glue/media/buffered_data_source_unittest.cc#newcode692 webkit/glue/media/buffered_data_source_unittest.cc:692: ...
9 years, 2 months ago (2011-10-11 20:44:40 UTC) #6
scherkus (not reviewing)
9 years, 2 months ago (2011-10-11 22:28:57 UTC) #7
thanks for the review!!

http://codereview.chromium.org/8224028/diff/4005/webkit/glue/media/buffered_d...
File webkit/glue/media/buffered_data_source_unittest.cc (right):

http://codereview.chromium.org/8224028/diff/4005/webkit/glue/media/buffered_d...
webkit/glue/media/buffered_data_source_unittest.cc:598: 
On 2011/10/11 20:44:40, Victoria Kirst wrote:
> nit: remove line

Done.

http://codereview.chromium.org/8224028/diff/4005/webkit/glue/media/buffered_d...
webkit/glue/media/buffered_data_source_unittest.cc:692: // Accessors for private
variables.
On 2011/10/11 20:44:40, Victoria Kirst wrote:
> nit: "for |data_source_|'s private variables"

Done.

http://codereview.chromium.org/8224028/diff/4005/webkit/glue/media/buffered_d...
webkit/glue/media/buffered_data_source_unittest.cc:709: MessageLoop*
message_loop_;
On 2011/10/11 20:44:40, Victoria Kirst wrote:
> nit: add private:
> DISALLOW_COPY_AND_ASSIGN(BufferedDataSourceTest2);

Done.

Powered by Google App Engine
This is Rietveld 408576698