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

Issue 165472: Merge 23255 - Implemented endofstream callback for media::PipelineImpl.... (Closed)

Created:
11 years, 4 months ago by laforge
Modified:
9 years, 7 months ago
CC:
chromium-reviews_googlegroups.com, fbarchard, Alpha Left Google, kylep, awong, darin (slow to review), brettw, scherkus (not reviewing)
Visibility:
Public.

Description

Merge 23255 - Implemented endofstream callback for media::PipelineImpl. A new method HasEnded() was added to renderer interfaces. Renderers return true when they have both received and rendered an endofstream buffer. For audio this translates to sending the very last buffer to the hardware. For video this translates to displaying a black frame after the very last frame has been displayed. Renderers can notify the pipeline that the value of HasEnded() has changed to true via FilterHost::NotifyEnded(). Instead of tracking which renderers have called NotifyEnded(), the pipeline uses the notification to poll every renderer. The ended callback will only be executed once every renderer returns true for HasEnded(). This has a nice benefit of being able to ignore extra NotifyEnded() calls if we already determine the pipeline has ended. With the changes to WebMediaPlayerImpl, we should now properly support both the ended event and looping. BUG=16768, 17970, 18433, 18846 TEST=media_unittests, media layout tests, ended event, timeupdate should stop firing, looping should work, seeking after video ends Review URL: http://codereview.chromium.org/164403 TBR=scherkus@chromium.org Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=23336

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+352 lines, -86 lines) Patch
MM media/base/filter_host.h View 1 chunk +4 lines, -0 lines 0 comments Download
MM media/base/filters.h View 2 chunks +8 lines, -0 lines 0 comments Download
MM media/base/mock_filter_host.h View 1 chunk +1 line, -0 lines 0 comments Download
MM media/base/mock_filters.h View 2 chunks +2 lines, -0 lines 0 comments Download
MM media/base/pipeline_impl.h View 6 chunks +14 lines, -2 lines 0 comments Download
MM media/base/pipeline_impl.cc View 7 chunks +50 lines, -4 lines 0 comments Download
MM media/base/pipeline_impl_unittest.cc View 3 chunks +47 lines, -0 lines 0 comments Download
MM media/base/video_frame_impl.h View 1 chunk +5 lines, -0 lines 0 comments Download
MM media/base/video_frame_impl.cc View 1 chunk +42 lines, -0 lines 0 comments Download
MM media/base/video_frame_impl_unittest.cc View 1 chunk +42 lines, -0 lines 0 comments Download
MM media/filters/audio_renderer_base.h View 2 chunks +5 lines, -0 lines 0 comments Download
MM media/filters/audio_renderer_base.cc View 6 chunks +25 lines, -2 lines 0 comments Download
MM media/filters/audio_renderer_base_unittest.cc View 3 chunks +21 lines, -0 lines 0 comments Download
MM media/filters/video_renderer_base.h View 3 chunks +2 lines, -4 lines 0 comments Download
MM media/filters/video_renderer_base.cc View 9 chunks +46 lines, -72 lines 0 comments Download
MM media/filters/video_renderer_base_unittest.cc View 1 chunk +6 lines, -0 lines 0 comments Download
MM webkit/glue/webmediaplayer_impl.h View 3 chunks +6 lines, -0 lines 0 comments Download
MM webkit/glue/webmediaplayer_impl.cc View 5 chunks +26 lines, -2 lines 0 comments Download

Messages

Total messages: 1 (0 generated)
laforge
11 years, 4 months ago (2009-08-13 18:49:31 UTC) #1

          

Powered by Google App Engine
This is Rietveld 408576698