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

Issue 3030013: preparation for recycling buffer, patch 2 (Closed)

Created:
10 years, 5 months ago by jiesun
Modified:
9 years, 7 months ago
Reviewers:
Alpha Left Google
CC:
chromium-reviews, Paweł Hajdan Jr., scherkus (not reviewing), fbarchard, awong, Alpha Left Google
Visibility:
Public.

Description

preparation for recycling buffer, patch 2 1. add ProvidesBuffer in Filter interface, not used yet. 2. add Flush stage in pipeline. not used. Render's pause work is moved to Renderer's flush(). 3. merge decoder_base with ffmpeg_video_decoder. because it is shared by audio. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=55603 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=55807

Patch Set 1 : fix #

Total comments: 29

Patch Set 2 : code review 1 #

Patch Set 3 : rebase #

Patch Set 4 : unittest #

Patch Set 5 : fix layout test #

Unified diffs Side-by-side diffs Delta from patch set Stats (+547 lines, -298 lines) Patch
M media/base/filters.h View 1 2 3 4 chunks +19 lines, -6 lines 0 comments Download
M media/base/mock_filters.h View 1 2 chunks +2 lines, -0 lines 0 comments Download
M media/base/pipeline_impl.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M media/base/pipeline_impl.cc View 1 2 5 chunks +6 lines, -13 lines 0 comments Download
M media/filters/ffmpeg_video_decode_engine.h View 2 chunks +3 lines, -4 lines 0 comments Download
M media/filters/ffmpeg_video_decode_engine.cc View 1 2 3 4 3 chunks +17 lines, -1 line 0 comments Download
M media/filters/ffmpeg_video_decode_engine_unittest.cc View 1 2 3 4 6 chunks +39 lines, -14 lines 0 comments Download
M media/filters/ffmpeg_video_decoder.h View 1 2 6 chunks +36 lines, -24 lines 0 comments Download
M media/filters/ffmpeg_video_decoder.cc View 1 2 3 4 9 chunks +177 lines, -59 lines 0 comments Download
M media/filters/ffmpeg_video_decoder_unittest.cc View 1 2 3 12 chunks +171 lines, -154 lines 0 comments Download
M media/filters/omx_video_decode_engine.h View 2 chunks +3 lines, -0 lines 0 comments Download
M media/filters/omx_video_decode_engine.cc View 2 chunks +15 lines, -0 lines 0 comments Download
M media/filters/omx_video_decoder.h View 2 chunks +3 lines, -0 lines 0 comments Download
M media/filters/omx_video_decoder.cc View 1 2 3 2 chunks +16 lines, -1 line 0 comments Download
M media/filters/video_decode_engine.h View 3 chunks +4 lines, -0 lines 0 comments Download
M media/filters/video_renderer_base.h View 1 2 3 chunks +3 lines, -1 line 0 comments Download
M media/filters/video_renderer_base.cc View 1 2 3 11 chunks +32 lines, -21 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
jiesun
10 years, 5 months ago (2010-07-26 20:18:54 UTC) #1
Alpha Left Google
Thanks for separating the patch. This looks mostly good. I have a few questions and ...
10 years, 4 months ago (2010-07-28 20:15:55 UTC) #2
jiesun
thanks for review it. I will address the name problem. but here is initial response ...
10 years, 4 months ago (2010-07-28 20:34:30 UTC) #3
jiesun
please take another look. Seek() is now empty is just because this is one step ...
10 years, 4 months ago (2010-07-29 16:57:38 UTC) #4
Alpha Left Google
Sorry for leaving this too long. LGTM.
10 years, 4 months ago (2010-08-05 18:58:28 UTC) #5
Alpha Left Google
I voiced out my concern for an unnecessary Seek() method in this patch. It's ok ...
10 years, 4 months ago (2010-08-06 02:30:46 UTC) #6
jiesun
10 years, 4 months ago (2010-08-06 04:25:10 UTC) #7
actually as the patch title say, it is one step of patch
http://codereview.chromium.org/2992002/show. which is too big for reviewer. that
patch is for recycling buffers and support openmax seek. stop using empty buffer
as read request, flush before stop etc..
you may ask why write so big patch, because it is intertwined, I could not
submit part of it without breaking other code path.
Seek() is actually used currently in video renderer to issue initial read() (
pull model start from here) in current model, renderer is assumed to own
buffers. ( though it using empty buffers) . in that patch, decoder could
provides buffers, so its decoder's responsibilities to issue initial read()... 
seek() is used, 
I  will agree this logic is weired. I will prefer to put this in Filter::Play()
rather than Filter::Seek(), but some video renderer logic will break. ( e.g.
pre-roll state).
Seek() in engine interface probably could be spared when we issue reads from
decoder class. but if you think about it, how much input are guaranteed to push
out a output frame (i.e. maximum decode reorder latency) is unknown to decoder
class, 
if we are able to play safe with a predefined number, then we could use push
model in demuxer to get rid of the initial read for all.
this involve another patch that was turned down by the team month ago.

Powered by Google App Engine
This is Rietveld 408576698