| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
BUG=23581
TEST=compiles
Review URL: http://codereview.chromium.org/3555002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60985 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement ProduceVideoFrame() in GpuVideoDecoder and unit tests for testing
the loginc in GpuVideoDecoder.
BUG=53714
TEST=unit_tests --gtest_filter=GpuVideoDecoder*
Review URL: http://codereview.chromium.org/3414003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60902 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
56752)- Add about:gpuhang
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/3447023
TBR=thakis@chromium.org
Review URL: http://codereview.chromium.org/3398027
TBR=thakis@chromium.org
Review URL: http://codereview.chromium.org/3398028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60430 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
about:gpuhang
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/3447023
TBR=thakis@chromium.org
Review URL: http://codereview.chromium.org/3398027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60421 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/3447023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60373 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
TBR=scherkus
BUG=53714
TEST=
Review URL: http://codereview.chromium.org/3393017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60130 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This is separated from a previous patch due to link error on mac.
BUG=53714
TEST=Mac build bots are happy
Review URL: http://codereview.chromium.org/3414011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60126 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LOG(ERROR). Queried the X server to make the error messages in the error handler more descriptive. When a MakeCurrent fails in the GPU process, the associated rendering is informed that the context is lost.
TEST=Run "chrome --enable-accelerated-compositing". Open a few tabs with "http://webkit.org/blog-files/3d-transforms/poster-circle.html". Close one of the tabs. Look for X error info logged on the console (from gpu_main.cc). Remaining tab should still be animated (the fix prevents gpu process from being terminated). This is a race condition, so there may not be an error logged the first time. A few trials should trip the error.
BUG=54400
Landing on behalf of baker@
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59980 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
ANGLE shouldn't be returning a NULL device at this point. I'll get to that next. This will fix crashes for people using old DX8 cards.
TEST=try
BUG=none
Review URL: http://codereview.chromium.org/3410018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59951 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Passed try bot but still failed, so removed the offending code.
BUG=53714
TEST=
Review URL: http://codereview.chromium.org/3440010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59861 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=53714
TEST=Tree is green
Review URL: http://codereview.chromium.org/3442006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59860 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
complete VideoFrame allocation
GpuVideoDecedoer now sends IPC messages to allocation GL textures. It also uses
GpuVideoDevice to create VideoFrames from the GL textures. These GL textures
are passed into VideoDecodeEngine.
BUG=53714
TEST=Tree is green
Review URL: http://codereview.chromium.org/3335019
TBR=hclam@chromium.org
Review URL: http://codereview.chromium.org/3451007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59790 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Defines UploadToVideoFrame in VideoDecodeContext.
FakeGlVideoDecodeEngine now uses FakeGlVideoDecodeContext to video frame
allocation and uploading.
BUG=53714
TEST=Tree is green
Review URL: http://codereview.chromium.org/3312022
TBR=hclam@chromium.org
Review URL: http://codereview.chromium.org/3436014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59789 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=
TEST=
Review URL: http://codereview.chromium.org/3400013
TBR=hclam@chromium.org
Review URL: http://codereview.chromium.org/3415013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59788 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=
TEST=
Review URL: http://codereview.chromium.org/3400013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59786 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Defines UploadToVideoFrame in VideoDecodeContext.
FakeGlVideoDecodeEngine now uses FakeGlVideoDecodeContext to video frame
allocation and uploading.
BUG=53714
TEST=Tree is green
Review URL: http://codereview.chromium.org/3312022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59785 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
VideoFrame allocation
GpuVideoDecedoer now sends IPC messages to allocation GL textures. It also uses
GpuVideoDevice to create VideoFrames from the GL textures. These GL textures
are passed into VideoDecodeEngine.
BUG=53714
TEST=Tree is green
Review URL: http://codereview.chromium.org/3335019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59784 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allocation of video frames should be originated from the VideoDecodeEngine in
the GPU process. Adding messages that will allow allocation be done during
runtime instead of initialization.
Also did some cleanup in gpu_video_common.cc.
BUG=53714
TEST=Tree is green
Review URL: http://codereview.chromium.org/3361017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59775 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that cannot be routed.
Comment added to code:
The object to which the message is addressed might have been destroyed. This is expected, for example an asynchronous SwapBuffers notification to a command buffer proxy that has since been destroyed. This function fails silently in that case.
TEST=try
BUG=none
Review URL: http://codereview.chromium.org/3362017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59702 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GpuVideoDecoder now implements VideoDecodeContext. Also defined a
GpuVideoDevice that works with GpuVideoDecoder.
No implemetation in this change, just added comments to describe the work flow.
BUG=53714
TEST=Tree is green
Review URL: http://codereview.chromium.org/3295027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59627 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=None
TEST=open a tab that uses the compositor. Open a second tab, go to about:gpucrash. Verify in the task manager that the gpu process is now gone.
Review URL: http://codereview.chromium.org/3424007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59540 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It failed the Vista Perf UI tests. This is because those tests close the browser upon an error. And they always get an error when the session is closed in the middle of the test.
The new changes are in chrome/browser/automation/testing_automation_provider.cc
BUG=50006
TEST=Run chrome under nested window manager using Xephyr (see
http://code.google.com/p/chromium/wiki/LayoutTestsLinux)
use --enable-logging=stderr --log-level=0
kill xephyr
examine log. You should see
X IO Error detected
followed (not necessarily immediately) by
successfully saved /tmp/tx/Default/Preferences
successfully saved /tmp/tx/Local State
successfully saved /tmp/tx/Local State
successfully saved /tmp/tx/Default/Preferences
along with no crash.
BUG=
TEST=
Review URL: http://codereview.chromium.org/3364019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59269 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
video decoding
There are several things done in this patch:
1. Added FakeGlVideoDecodeEngine
2. Fixed style problem in VideoDecodeEngine and gpu_video_common.h
3. Added route to pass texture from gpu process to WebKit
BUG=53714
TEST=Tree is green
Review URL: http://codereview.chromium.org/3335014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59223 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=50006 (and various other reports)
TEST=Run chrome under nested window manager using Xephyr (see
http://code.google.com/p/chromium/wiki/LayoutTestsLinux)
use --enable-logging=stderr --log-level=0
kill xephyr
examine log. You should see
X IO Error detected
followed (not necessarily immediately) by
successfully saved /tmp/tx/Default/Preferences
successfully saved /tmp/tx/Local State
successfully saved /tmp/tx/Local State
successfully saved /tmp/tx/Default/Preferences
along with no crash.
There is a high ranking crash report on both linux and chromeos that happens whenever X sends an error to chrome. This change causes us to log and continue when we get a regular error from X. When we get an IO error, indicating X is gone, we attempt to shut down gracefully.
Review URL: http://codereview.chromium.org/3175038
TBR=davemoore@chromium.org
Review URL: http://codereview.chromium.org/3332019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59175 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=50006 (and various other reports)
TEST=Run chrome under nested window manager using Xephyr (see
http://code.google.com/p/chromium/wiki/LayoutTestsLinux)
use --enable-logging=stderr --log-level=0
kill xephyr
examine log. You should see
X IO Error detected
followed (not necessarily immediately) by
successfully saved /tmp/tx/Default/Preferences
successfully saved /tmp/tx/Local State
successfully saved /tmp/tx/Local State
successfully saved /tmp/tx/Default/Preferences
along with no crash.
There is a high ranking crash report on both linux and chromeos that happens whenever X sends an error to chrome. This change causes us to log and continue when we get a regular error from X. When we get an IO error, indicating X is gone, we attempt to shut down gracefully.
Review URL: http://codereview.chromium.org/3175038
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59147 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that some gpu_info will actually exist. It does this by refreshing the page every 5 seconds until a context does exist, if necessary.
We also looked into other methods:
- synchronous call to create context, but that will hang if there are issues creating a context
- a call back, but that will also hang until we have a gpu context
- display no data and rely on the user to refresh which is somewhat unintuitive to the user
The method in this CL seemed to be the least annoying method of doing this which didn't cause the browser to hang.
BUG=none
TEST=visual
Review URL: http://codereview.chromium.org/3348007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59141 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A VideoFrame should only reveal it self as system memory or textures (GL or D3D).
All the implementation details should be hidden. This removed EGL image,
OMXBUFFERHEADERTYPE, D3D surface and MF buffer from video frame.
We should only have 3 different types of video frames:
1. System memory
Whether it is allocated by VideoFrame or is just memory mapped should fall
into this category. Memory can either be allocated internally or provided
externally.
2. GL texture
EGL image or just plain GL texture should fall into this area. Decode engines should do all the necessary operations to convert texture to GL textures.
3. D3D texture
Whether we are using Media Foundation or DxVA2, if we are on windows we
should convert everything to D3D texture and again all the operations
involved are done inside the decode engine.
BUG=53714
TEST=Tree is green. This is just API change.
Review URL: http://codereview.chromium.org/3303014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58899 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/3232003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58794 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Windows it checks to see if the IDirect3D9 object supports Vista and later features (meaning it won't routinely report lost contexts). On Linux and Mac we can just check if its EGL versus some other GL that doesn't report lost contexts.
I routed the stats to the renderer process so webkit code can query whether lost contexts are likely.
I didn't wire up breakpad yet.
TEST=try
BUG=52318
Review URL: http://codereview.chromium.org/3149016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58755 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
The FillThisBuffer and EmptyThisBuffer names are very confusing. Anyone
new working on the code probably won't understand the code at all. I'm changing
the names to something more meaningful, which state the actual action taken by
the methods. It is also easier to tell whether the method is for input pin or
for output pin by their names.
Review URL: http://codereview.chromium.org/3201013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58604 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In this patch a ggl::Context is connected to the GpuVideoDecoderHost in the
renderer process. In the GPU process the GpuVideoDecoder is connected to a
gles2::GLES2Decoder.
These changes will be used in the future to switch context before issuing
video decode commands. This is also needed by the GPU process to translate
a client texture ID to a service texture ID in the GPU video decoder.
BUG=53714
TEST=none
Review URL: http://codereview.chromium.org/3266008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58518 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refactor video decode engines to move them to a new folder
Moving video decode engines and friends to media/video.
TEST=Tree is green. Video plays.
Review URL: http://codereview.chromium.org/3127027
Review URL: http://codereview.chromium.org/3291009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58446 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
TBR=hclam@chromium.org
Review URL: http://codereview.chromium.org/3337009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58434 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a new folder
Moving video decode engines and friends to media/video.
TEST=Tree is green. Video plays.
Review URL: http://codereview.chromium.org/3127027
TBR=hclam@chromium.org
Review URL: http://codereview.chromium.org/3361004
TBR=akalin@chromium.org
Review URL: http://codereview.chromium.org/3323007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58429 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Moving video decode engines and friends to media/video.
TEST=Tree is green. Video plays.
Review URL: http://codereview.chromium.org/3127027
TBR=hclam@chromium.org
Review URL: http://codereview.chromium.org/3361004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58428 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Moving video decode engines and friends to media/video.
TEST=Tree is green. Video plays.
Review URL: http://codereview.chromium.org/3127027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58423 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
the build on case sensitive Mac systems
The patch was originally prepared by ismail.donmez@gmail.com
TBR=eseidel
Review URL: http://codereview.chromium.org/3355004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58345 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
offscreen GL context this time.
Review URL: http://codereview.chromium.org/3212001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57764 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new file, render_messages_params.h, is included in 57 files, while
render_messages.h is included in 176 files. Moving the Params structs to their
own file allow pruning the included headers.
(Part 2 of this cleanup will be sorting the individual structs into themes
to further minimize header inclusion.)
BUG=51411
TEST=compiles
Review URL: http://codereview.chromium.org/3119035
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57229 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=52957
TEST=none (ran 3D CSS demos with --enable-accelerated-compositing)
Review URL: http://codereview.chromium.org/3150030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57130 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
Add separate GL version field.
Review URL: http://codereview.chromium.org/3104011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56957 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
src/chrome.
BUG=23581
TEST=builds
Review URL: http://codereview.chromium.org/3181028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56874 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/3093013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56641 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
some logics are moved into system memory path only. ( such as allocation of output buffer, and usage of FTBDoneACK messages.
Review URL: http://codereview.chromium.org/3141014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56358 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=builds
Review URL: http://codereview.chromium.org/3179017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56171 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=None
TEST=None
CID=12377, 12379, 12380, 12381
Review URL: http://codereview.chromium.org/3176004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55863 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/3145001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55635 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/3034039
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55577 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
facilities in video stack. it is only enabled when (a) hardware composition is on (b) hardware decoding command line is on (c) h264 codec is specified.
2. gpu_video_service.cc/h is a singleton in gpu process which provide video services for renderer process, through it we could create decoder. ( in my imagination, in the future, we could create encoder or capturer too)
3. gpu_video_decoder.cc/h. abstract interface for hardware decoder.
4. gpu_video_service_host.cc/h is singleton in renderer process which provide proxy for gpu_video_service.
5. gpu_video_decoder_host.cc/h is proxy for gpu_video_decoder. (1 to 1 map).basically there is one global GpuVideoService in GPU process, one GpuVideoServiceHost in Renderer process. for each renderer process, there are could be multiple renderer view, each could had multiple GpuVideoDecoderHost the connect to GpuVideoDeocder through GPUCHannelHOst/GpuChannel.
6. gpu_video_common.cc/h: IPC message definition and pickle/marshaling support.
ISSUES:
1. in media pipeline, we need let decoder to determine if bit stream filter should be used instead of let command line to determine it.
2. stop readback from D3D surface use ANGLE.
3. Flush logic still need fine tuning.
4. CreateThread in GpuVideoDecoder, and post message in message handler, and derived classs handle message loop. ?
5. Error handling.
6. Input ring buffer implementation. Current impl is naive.
7.Add output queue for MFT decoder.
8. Query Capabilities at GetVideoServices()...
BUG=None
TEST=Windows7
Review URL: http://codereview.chromium.org/2873089
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55516 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. ipc_video_decoder.cc/h is media pipeline filter which use the gpu decoder facilities in video stack. it is only enabled when (a) hardware composition is on (b) hardware decoding command line is on (c) h264 codec is specified.
2. gpu_video_service.cc/h is a singleton in gpu process which provide video services for renderer process, through it we could create decoder. ( in my imagination, in the future, we could create encoder or capturer too)
3. gpu_video_decoder.cc/h. abstract interface for hardware decoder.
4. gpu_video_decoder_mft.cc/h media foundation transform hardware decoder which run on windows 7 only.
5. gpu_video_service_host.cc/h is singleton in renderer process which provide proxy for gpu_video_service.
6. gpu_video_decoder_host.cc/h is proxy for gpu_video_decoder. (1 to 1 map).basically there is one global GpuVideoService in GPU process, one GpuVideoServiceHost in Renderer process. for each renderer process, there are could be multiple renderer view, each could had multiple GpuVideoDecoderHost the connect to GpuVideoDeocder through GPUCHannelHOst/GpuChannel.
7. gpu_video_common.cc/h: IPC message definition and pickle/marshaling support.
ISSUES:
1. in media pipeline, we need let decoder to determine if bit stream filter should be used instead of let command line to determine it.
2. stop readback from D3D surface use ANGLE.
3. Flush logic still need fine tuning.
4. CreateThread in GpuVideoDecoder, and post message in message handler, and derived classs handle message loop. ?
5. Error handling.
6. Input ring buffer implementation. Current impl is naive.
7.Add output queue for MFT decoder.
8. Query Capabilities at GetVideoServices()...
BUG=None
TEST=Windows7
Review URL: http://codereview.chromium.org/2873089
TBR=jiesun@google.com
Review URL: http://codereview.chromium.org/3020077
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55419 0039d316-1c4b-4281-b951-d872f2087c98
|