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

Issue 7203002: Adding ChunkDemuxer implementation. (Closed)

Created:
9 years, 6 months ago by acolwell GONE FROM CHROMIUM
Modified:
9 years, 5 months ago
CC:
chromium-reviews, hclam+watch_chromium.org, sjl, ddorwin+watch_chromium.org, fischman+watch_chromium.org, acolwell GONE FROM CHROMIUM, annacc, darin-cc_chromium.org, ajwong+watch_chromium.org, vrk (LEFT CHROMIUM), scherkus (not reviewing)
Visibility:
Public.

Description

Adding ChunkDemuxer implementation. BUG=86536 TEST=ChunkDemuxerTest.* Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=90966

Patch Set 1 : More cleanup & commenting #

Total comments: 74

Patch Set 2 : Address CR comments #

Total comments: 57

Patch Set 3 : Fixing more CR comments #

Total comments: 6

Patch Set 4 : Addressed CR comments & split code out into separate files. #

Total comments: 50

Patch Set 5 : Unit tests and bug fixes #

Total comments: 23

Patch Set 6 : Fixed unit tests and nits #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2836 lines, -84 lines) Patch
M media/ffmpeg/ffmpeg_common.h View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
M media/ffmpeg/ffmpeg_common.cc View 1 1 chunk +24 lines, -0 lines 0 comments Download
M media/filters/audio_file_reader.h View 1 2 1 chunk +0 lines, -20 lines 0 comments Download
M media/filters/audio_file_reader.cc View 1 2 1 chunk +0 lines, -42 lines 0 comments Download
A media/filters/chunk_demuxer.h View 1 2 3 4 1 chunk +100 lines, -0 lines 0 comments Download
A media/filters/chunk_demuxer.cc View 1 2 3 4 5 1 chunk +619 lines, -0 lines 0 comments Download
A media/filters/chunk_demuxer_factory.h View 1 2 3 1 chunk +71 lines, -0 lines 0 comments Download
A media/filters/chunk_demuxer_factory.cc View 1 2 3 1 chunk +165 lines, -0 lines 0 comments Download
A media/filters/chunk_demuxer_unittest.cc View 1 2 3 4 5 1 chunk +411 lines, -0 lines 0 comments Download
M media/filters/ffmpeg_demuxer.cc View 1 1 chunk +1 line, -19 lines 0 comments Download
A media/filters/in_memory_url_protocol.h View 1 2 3 1 chunk +42 lines, -0 lines 0 comments Download
A media/filters/in_memory_url_protocol.cc View 1 2 3 1 chunk +59 lines, -0 lines 0 comments Download
M media/media.gyp View 1 2 3 4 5 5 chunks +20 lines, -2 lines 0 comments Download
A media/test/data/webm_info_element View 1 2 3 4 0 chunks +-1 lines, --1 lines 0 comments Download
A media/test/data/webm_vorbis_track_entry View 1 2 3 4 0 chunks +-1 lines, --1 lines 0 comments Download
A media/test/data/webm_vp8_track_entry View 1 2 3 4 0 chunks +-1 lines, --1 lines 0 comments Download
A media/webm/cluster_builder.h View 1 2 3 4 5 1 chunk +55 lines, -0 lines 0 comments Download
A media/webm/cluster_builder.cc View 1 2 3 4 5 1 chunk +128 lines, -0 lines 0 comments Download
A media/webm/webm_cluster_parser.h View 1 2 3 4 5 1 chunk +65 lines, -0 lines 0 comments Download
A media/webm/webm_cluster_parser.cc View 1 2 3 4 5 1 chunk +133 lines, -0 lines 0 comments Download
A media/webm/webm_constants.h View 1 2 3 4 1 chunk +70 lines, -0 lines 0 comments Download
A media/webm/webm_info_parser.h View 1 2 3 4 1 chunk +46 lines, -0 lines 0 comments Download
A media/webm/webm_info_parser.cc View 1 2 3 4 1 chunk +75 lines, -0 lines 0 comments Download
A media/webm/webm_parser.h View 1 2 3 1 chunk +46 lines, -0 lines 0 comments Download
A media/webm/webm_parser.cc View 1 2 3 4 1 chunk +485 lines, -0 lines 0 comments Download
A media/webm/webm_tracks_parser.h View 1 2 3 4 1 chunk +61 lines, -0 lines 0 comments Download
A media/webm/webm_tracks_parser.cc View 1 2 3 4 1 chunk +123 lines, -0 lines 0 comments Download
M webkit/glue/media/audio_decoder.cc View 1 2 3 2 chunks +5 lines, -3 lines 0 comments Download
M webkit/glue/webmediaplayer_impl.h View 1 2 3 3 chunks +5 lines, -0 lines 0 comments Download
M webkit/glue/webmediaplayer_impl.cc View 1 6 chunks +26 lines, -1 line 0 comments Download

Messages

Total messages: 11 (0 generated)
acolwell GONE FROM CHROMIUM
Chromium changes for Media Chunk API.
9 years, 6 months ago (2011-06-21 20:25:14 UTC) #1
scherkus (not reviewing)
combination of nits + some high level stuff we should consider, mostly: 1) Breaking classes ...
9 years, 6 months ago (2011-06-22 17:31:09 UTC) #2
acolwell GONE FROM CHROMIUM
Addressed CR comments. http://codereview.chromium.org/7203002/diff/8001/media/base/buffers.h File media/base/buffers.h (right): http://codereview.chromium.org/7203002/diff/8001/media/base/buffers.h#newcode96 media/base/buffers.h:96: class BufferImpl : public Buffer { ...
9 years, 6 months ago (2011-06-23 16:51:28 UTC) #3
scherkus (not reviewing)
http://codereview.chromium.org/7203002/diff/14001/media/base/data_buffer.h File media/base/data_buffer.h (right): http://codereview.chromium.org/7203002/diff/14001/media/base/data_buffer.h#newcode27 media/base/data_buffer.h:27: DataBuffer(uint8* buffer, size_t buffer_size, bool copy); I don't think ...
9 years, 6 months ago (2011-06-23 18:50:18 UTC) #4
acolwell GONE FROM CHROMIUM
Addressed CR comments http://codereview.chromium.org/7203002/diff/14001/media/base/data_buffer.h File media/base/data_buffer.h (right): http://codereview.chromium.org/7203002/diff/14001/media/base/data_buffer.h#newcode27 media/base/data_buffer.h:27: DataBuffer(uint8* buffer, size_t buffer_size, bool copy); ...
9 years, 6 months ago (2011-06-23 22:42:17 UTC) #5
scherkus (not reviewing)
nits + as discussed offline we need to separate things out into files http://codereview.chromium.org/7203002/diff/14001/media/filters/chunk_demuxer.cc File ...
9 years, 6 months ago (2011-06-23 23:31:17 UTC) #6
acolwell GONE FROM CHROMIUM
Addressed comments & split ChunkDemuxerFactory & WebM parser code into separate files. http://codereview.chromium.org/7203002/diff/21001/media/filters/chunk_demuxer.cc File media/filters/chunk_demuxer.cc ...
9 years, 6 months ago (2011-06-24 16:49:38 UTC) #7
scherkus (not reviewing)
style nits but other than tests we're good! http://codereview.chromium.org/7203002/diff/4021/media/base/buffers.cc File media/base/buffers.cc (right): http://codereview.chromium.org/7203002/diff/4021/media/base/buffers.cc#newcode7 media/base/buffers.cc:7: #include ...
9 years, 6 months ago (2011-06-24 18:27:37 UTC) #8
acolwell GONE FROM CHROMIUM
Fixed nits & created unit tests. http://codereview.chromium.org/7203002/diff/4021/media/base/buffers.cc File media/base/buffers.cc (right): http://codereview.chromium.org/7203002/diff/4021/media/base/buffers.cc#newcode7 media/base/buffers.cc:7: #include "base/logging.h" On ...
9 years, 6 months ago (2011-06-27 23:48:25 UTC) #9
scherkus (not reviewing)
LGTM w/ nits I like the tests! http://codereview.chromium.org/7203002/diff/37002/media/filters/chunk_demuxer.cc File media/filters/chunk_demuxer.cc (right): http://codereview.chromium.org/7203002/diff/37002/media/filters/chunk_demuxer.cc#newcode102 media/filters/chunk_demuxer.cc:102: scoped_ptr<base::TimeDelta> last_buffer_timestamp_; ...
9 years, 5 months ago (2011-06-28 20:03:29 UTC) #10
acolwell GONE FROM CHROMIUM
9 years, 5 months ago (2011-06-29 16:38:42 UTC) #11
Fixed nits

http://codereview.chromium.org/7203002/diff/37002/media/filters/chunk_demuxer.cc
File media/filters/chunk_demuxer.cc (right):

http://codereview.chromium.org/7203002/diff/37002/media/filters/chunk_demuxer...
media/filters/chunk_demuxer.cc:102: scoped_ptr<base::TimeDelta>
last_buffer_timestamp_;
On 2011/06/28 20:03:29, scherkus wrote:
> why not use kNoTimestamp instead of a pointer?
oh yeah.. duh.. Done.

http://codereview.chromium.org/7203002/diff/37002/media/filters/chunk_demuxer...
File media/filters/chunk_demuxer_unittest.cc (right):

http://codereview.chromium.org/7203002/diff/37002/media/filters/chunk_demuxer...
media/filters/chunk_demuxer_unittest.cc:59: ~ChunkDemuxerTest() {
On 2011/06/28 20:03:29, scherkus wrote:
> virtual

Done.

http://codereview.chromium.org/7203002/diff/37002/media/filters/chunk_demuxer...
media/filters/chunk_demuxer_unittest.cc:161: bool InitDemuxer(bool has_audio,
bool has_video) {
On 2011/06/28 20:03:29, scherkus wrote:
> all of your InitDemuxer EXPECT_EQs are true, so why not make this void + have
> the EXPECT_EQ around demuxer_->Init()

Done.

http://codereview.chromium.org/7203002/diff/37002/media/filters/chunk_demuxer...
media/filters/chunk_demuxer_unittest.cc:172: .WillRepeatedly(Return(0));
On 2011/06/28 20:03:29, scherkus wrote:
> indent

Done.

http://codereview.chromium.org/7203002/diff/37002/media/media.gyp
File media/media.gyp (right):

http://codereview.chromium.org/7203002/diff/37002/media/media.gyp#newcode200
media/media.gyp:200: 'webm/cluster_builder.cc',
On 2011/06/28 20:03:29, scherkus wrote:
> these two files should be part of media_unittests target
> 
> in fact I've been thinking of pulling a page out of base's playbook and
having:
> media
>   - stays as is
> media_test_support
>   - contains all the mock/test stuff
> media_unittests
>   - contains only the unittest files
> 
> ...but that's for another CL

Done.

http://codereview.chromium.org/7203002/diff/37002/media/webm/cluster_builder.cc
File media/webm/cluster_builder.cc (right):

http://codereview.chromium.org/7203002/diff/37002/media/webm/cluster_builder....
media/webm/cluster_builder.cc:12: 0x1F, 0x43, 0xB6, 0x75, // CLUSTER ID
On 2011/06/28 20:03:29, scherkus wrote:
> two spaces

Done.

http://codereview.chromium.org/7203002/diff/37002/media/webm/cluster_builder....
media/webm/cluster_builder.cc:24: 0xA3, // SimpleBlock ID
On 2011/06/28 20:03:29, scherkus wrote:
> two spaces

Done.

http://codereview.chromium.org/7203002/diff/37002/media/webm/cluster_builder....
media/webm/cluster_builder.cc:83: void ClusterBuilder::Finish() {
On 2011/06/28 20:03:29, scherkus wrote:
> any checks for calling Finish twice?
> 
> also what if Finish() returned an object (i.e., a Cluster) that
contained+owned
> the data+size, meaning ClusterBuilder was more like a factory that generates
> clusters for a given timecode
Added a DCHECK, created Cluster object, & updated ChunkDemuxerTest

http://codereview.chromium.org/7203002/diff/37002/media/webm/cluster_builder.h
File media/webm/cluster_builder.h (right):

http://codereview.chromium.org/7203002/diff/37002/media/webm/cluster_builder....
media/webm/cluster_builder.h:15: ClusterBuilder(int64 cluster_timecode);
On 2011/06/28 20:03:29, scherkus wrote:
> explicit

Done.

http://codereview.chromium.org/7203002/diff/37002/media/webm/cluster_builder....
media/webm/cluster_builder.h:40: #endif // MEDIA_WEBM_CLUSTER_BUILDER_H_
On 2011/06/28 20:03:29, scherkus wrote:
> two spaces

Done.

http://codereview.chromium.org/7203002/diff/37002/media/webm/webm_cluster_par...
File media/webm/webm_cluster_parser.cc (right):

http://codereview.chromium.org/7203002/diff/37002/media/webm/webm_cluster_par...
media/webm/webm_cluster_parser.cc:128: Buffer*
WebMClusterParser::CreateBuffer(const uint8* data, size_t size) {
On 2011/06/28 20:03:29, scherkus wrote:
> does this need to be part of the class?
> 
> I'd move to top of this file + remove from .h

Done.

Powered by Google App Engine
This is Rietveld 408576698