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

Issue 6321005: Use midpoint calculation for frame-exact seeking. (Closed)

Created:
9 years, 11 months ago by scherkus (not reviewing)
Modified:
9 years, 7 months ago
CC:
chromium-reviews, vrk (LEFT CHROMIUM), sjl, Alpha Left Google, ddorwin+watch_chromium.org, acolwell GONE FROM CHROMIUM, annacc, awong, Paweł Hajdan Jr., scherkus (not reviewing)
Visibility:
Public.

Description

Use midpoint calculation for frame-exact seeking. Previously we would use a "good enough" frame without fully taking duration into account. BUG=69499 TEST=media_unittests Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=71676

Patch Set 1 #

Total comments: 5
Unified diffs Side-by-side diffs Delta from patch set Stats (+111 lines, -50 lines) Patch
M media/filters/video_renderer_base.cc View 1 chunk +1 line, -1 line 0 comments Download
M media/filters/video_renderer_base_unittest.cc View 4 chunks +110 lines, -49 lines 5 comments Download

Messages

Total messages: 6 (0 generated)
scherkus (not reviewing)
one line fix!
9 years, 11 months ago (2011-01-15 01:53:44 UTC) #1
acolwell GONE FROM CHROMIUM
LGTM http://codereview.chromium.org/6321005/diff/1/media/filters/video_renderer_base_unittest.cc File media/filters/video_renderer_base_unittest.cc (right): http://codereview.chromium.org/6321005/diff/1/media/filters/video_renderer_base_unittest.cc#newcode123 media/filters/video_renderer_base_unittest.cc:123: for (int64 i = 0; seeking_; ++i) { ...
9 years, 11 months ago (2011-01-15 04:56:21 UTC) #2
scherkus (not reviewing)
http://codereview.chromium.org/6321005/diff/1/media/filters/video_renderer_base_unittest.cc File media/filters/video_renderer_base_unittest.cc (right): http://codereview.chromium.org/6321005/diff/1/media/filters/video_renderer_base_unittest.cc#newcode123 media/filters/video_renderer_base_unittest.cc:123: for (int64 i = 0; seeking_; ++i) { On ...
9 years, 11 months ago (2011-01-18 18:49:23 UTC) #3
acolwell GONE FROM CHROMIUM
http://codereview.chromium.org/6321005/diff/1/media/filters/video_renderer_base_unittest.cc File media/filters/video_renderer_base_unittest.cc (right): http://codereview.chromium.org/6321005/diff/1/media/filters/video_renderer_base_unittest.cc#newcode123 media/filters/video_renderer_base_unittest.cc:123: for (int64 i = 0; seeking_; ++i) { What ...
9 years, 11 months ago (2011-01-18 19:07:09 UTC) #4
scherkus (not reviewing)
http://codereview.chromium.org/6321005/diff/1/media/filters/video_renderer_base_unittest.cc File media/filters/video_renderer_base_unittest.cc (right): http://codereview.chromium.org/6321005/diff/1/media/filters/video_renderer_base_unittest.cc#newcode123 media/filters/video_renderer_base_unittest.cc:123: for (int64 i = 0; seeking_; ++i) { That ...
9 years, 11 months ago (2011-01-18 19:19:12 UTC) #5
acolwell GONE FROM CHROMIUM
9 years, 11 months ago (2011-01-18 19:26:38 UTC) #6
http://codereview.chromium.org/6321005/diff/1/media/filters/video_renderer_ba...
File media/filters/video_renderer_base_unittest.cc (right):

http://codereview.chromium.org/6321005/diff/1/media/filters/video_renderer_ba...
media/filters/video_renderer_base_unittest.cc:123: for (int64 i = 0; seeking_;
++i) {
Got it. Sounds like something for a later CL. Looks good to me.
 
On 2011/01/18 19:19:12, scherkus wrote:
> That would end up queuing the duration of the clip in the video renderer,
which
> isn't quite what we want.
> 
> It's a bit crappy but a better alternative would be to have a simulated
> VideoDecoder instead of MockVideoDecoder (i.e., the simulated one would
properly
> generate the frames and seek and flush instead of us trying to simulate it via
> gmock).
> 
> But then this is part of my bigger idea/plan where we can keep the
> seek/flush/decode logic in one place, then drop in different decoders (i.e.,
for
> testing we can drop in a decoder that doesn't really decode) 
> 
> On 2011/01/18 19:07:09, acolwell wrote:
> > What if you specify an actual clip duration and bound the loop with that?
The
> > renderer should honor not trying to fetch frames past the end of the clip.
> > 
> > This isn't a blocker of course, but it might be good to check.
> > 
> > On 2011/01/18 18:49:27, scherkus wrote:
> > > On 2011/01/15 04:56:22, acolwell wrote:
> > > > Can't you just bound this loop with i * kDuration < (timestamp +
> kDuration)?
> > I
> > > > think then you could use NewExpectedCallback() instead of
> OnSeekComplete().
> > It
> > > > also allows the test to always terminate even if the renderer never
calls
> > the
> > > > callback.
> > > 
> > > Tried this and turns out we can't because the test doesn't have knowledge
of
> > how
> > > much VideoRendererBase like to preroll (i.e., it likes to grab a frame or
> two
> > > after the timestamp) until it's done "seeking"
> > > 
> > > I'll add a comment
> > 
>

Powered by Google App Engine
This is Rietveld 408576698