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

Issue 144303004: Revert of Revert of Revert of Remove threading from RendererGpuVideoAcceleratorFactories (Closed)

Created:
6 years, 10 months ago by Adam Rice
Modified:
6 years, 10 months ago
CC:
chromium-reviews, joi+watch-content_chromium.org, feature-media-reviews_chromium.org, wjia+watch_chromium.org, darin-cc_chromium.org, wuchengli, scherkus (not reviewing), brettw
Base URL:
https://chromium.googlesource.com/chromium/src.git@dthread
Visibility:
Public.

Description

Revert of Revert of Revert of Remove threading from RendererGpuVideoAcceleratorFactories (https://codereview.chromium.org/135393004/) Reason for revert: It turned out the reverting the patchset was effective after all, so I am reverting the revert of the revert. Original issue's description: > Revert of Revert of Remove threading from RendererGpuVideoAcceleratorFactories (https://codereview.chromium.org/145103004/) > > Reason for revert: > Reverting the revert as it did not fix the failures. > > Original issue's description: > > Revert of Remove threading from RendererGpuVideoAcceleratorFactories (https://codereview.chromium.org/27420004/) > > > > Reason for revert: > > Sorry, it looks like you broke the Win 7 Tests (dbg)(2) bot. http://build.chromium.org/p/chromium.win/builders/Win7%20Tests%20%28dbg%29%282%29/builds/19785 > > > > Original issue's description: > > > This change removes all the threading considerations from > > > GpuVideoAcceleratorFactories (and its implementation, > > > RendererGpuVideoAcceleratorFactories). Most notably, it removes Abort() and > > > associated functions and state. And with the removal of Abort() and friends, > > > we can also remove its Clone() interface. > > > > > > All of the previously abortable operations on the RGVAF (with the exception of > > > ReadPixels()) can be made non-abortable, with no functional difference, due to > > > the way the users of RGVAF function. These three users are > > > WebMediaPlayerImpl/GpuVideoDecoder, RTCVideoDecoder, and RTCVideoEncoder, and > > > they can be made non-abortable because: > > > > > > WebMediaPlayerImpl/GpuVideoDecoder: > > > * Abort() is called from WebMediaPlayerImpl::Destroy(). It has no effect, as: > > > * All the RGVAF entry points are called from the the RGVAF message loop > > > from GpuVideoDecoder (except for ReadPixels()), so the Abort() has no > > > effect on them. > > > > > > RTCVideoDecoder: > > > * Abort() is called from RTCVideoDecoder::WillDestroyCurrentMessageLoop() for > > > the RGVAF message loop. It has no effect, as: > > > * Amost all the RGVAF entry points are called from the RGVAF message loop > > > (except for ReadPixels()), so Abort() has no effect on them. > > > * The other exception is CreateVideoDecodeAccelerator(), which is called from > > > RTC's main thread. But as the Abort() is called from > > > WillDestroyCurrentMessageLoop() for the RGVAF message loop itself, it is > > > guaranteed to occur after any tasks posted to the RGVAF message loop by > > > CreateVideoDecodeAccelerator() has completed, and so the Abort() has no > > > effect. > > > > > > RTCVideoEncoder: > > > * Abort() is called from RTCVideoDecoder::Release(). It has no effect, as: > > > * All the RGVAF entry points are called from the RGVAF message loop. > > > > > > The only functional difference remaining is that making ReadPixels() > > > non-abortable. This is preferable, as as long as a completed video accelerator > > > texture is available, it should be readable. We also specify that all calls to > > > ReadPixels must be made on the RGVAF message loop, like all other entry points, > > > and leave it up to the users of ReadPixels() to handle thread trampolining if > > > necessary. > > > > > > BUG=306333 > > > TEST=local build, run on CrOS snow; build, run unittests on desktop Linux > > > > > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=247480 > > > > TBR=fischman@chromium.org,wuchengli@chromium.org,jamesr@chromium.org,jam@chromium.org,hshi@chromium.org,sheu@chromium.org > > NOTREECHECKS=true > > NOTRY=true > > BUG=306333 > > > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=247655 > > TBR=fischman@chromium.org,wuchengli@chromium.org,jamesr@chromium.org,jam@chromium.org,hshi@chromium.org,sheu@chromium.org > NOTREECHECKS=true > NOTRY=true > BUG=306333 > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=247662 TBR=fischman@chromium.org,wuchengli@chromium.org,jamesr@chromium.org,jam@chromium.org,hshi@chromium.org,sheu@chromium.org NOTREECHECKS=true NOTRY=true BUG=306333 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=247669

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+313 lines, -177 lines) Patch
M content/renderer/media/renderer_gpu_video_accelerator_factories.h View 5 chunks +44 lines, -5 lines 0 comments Download
M content/renderer/media/renderer_gpu_video_accelerator_factories.cc View 7 chunks +140 lines, -26 lines 0 comments Download
M content/renderer/media/rtc_video_decoder.h View 7 chunks +10 lines, -6 lines 0 comments Download
M content/renderer/media/rtc_video_decoder.cc View 9 chunks +41 lines, -49 lines 0 comments Download
M content/renderer/media/rtc_video_decoder_factory.h View 2 chunks +4 lines, -7 lines 0 comments Download
M content/renderer/media/rtc_video_decoder_factory.cc View 2 chunks +7 lines, -3 lines 0 comments Download
M content/renderer/media/rtc_video_decoder_unittest.cc View 3 chunks +12 lines, -6 lines 0 comments Download
M content/renderer/media/rtc_video_encoder.h View 3 chunks +4 lines, -8 lines 0 comments Download
M content/renderer/media/rtc_video_encoder.cc View 6 chunks +10 lines, -5 lines 0 comments Download
M content/renderer/media/rtc_video_encoder_factory.h View 3 chunks +4 lines, -8 lines 0 comments Download
M content/renderer/media/rtc_video_encoder_factory.cc View 3 chunks +6 lines, -3 lines 0 comments Download
M content/renderer/media/webmediaplayer_impl.cc View 1 chunk +4 lines, -1 line 0 comments Download
M content/renderer/render_thread_impl.cc View 2 chunks +1 line, -8 lines 0 comments Download
M media/cast/test/fake_gpu_video_accelerator_factories.h View 1 chunk +5 lines, -1 line 0 comments Download
M media/cast/test/fake_gpu_video_accelerator_factories.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M media/filters/gpu_video_accelerator_factories.h View 3 chunks +9 lines, -9 lines 0 comments Download
M media/filters/gpu_video_decoder.cc View 5 chunks +5 lines, -31 lines 0 comments Download
M media/filters/mock_gpu_video_accelerator_factories.h View 1 chunk +3 lines, -1 line 0 comments Download

Messages

Total messages: 3 (0 generated)
Adam Rice
Created Revert of Revert of Revert of Remove threading from RendererGpuVideoAcceleratorFactories
6 years, 10 months ago (2014-01-29 11:10:54 UTC) #1
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ricea@chromium.org/144303004/1
6 years, 10 months ago (2014-01-29 11:11:40 UTC) #2
commit-bot: I haz the power
6 years, 10 months ago (2014-01-29 11:12:56 UTC) #3
Message was sent while issue was closed.
Change committed as 247669

Powered by Google App Engine
This is Rietveld 408576698