OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Multiply-included message file, hence no include guard here, but see below | 5 // Multiply-included message file, hence no include guard here, but see below |
6 // for a much smaller-than-usual include guard section. | 6 // for a much smaller-than-usual include guard section. |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "base/memory/shared_memory.h" | 11 #include "base/memory/shared_memory.h" |
12 #include "content/common/content_export.h" | 12 #include "content/common/content_export.h" |
13 #include "content/common/gpu/gpu_memory_allocation.h" | 13 #include "content/common/gpu/gpu_memory_allocation.h" |
14 #include "content/common/gpu/gpu_memory_uma_stats.h" | 14 #include "content/common/gpu/gpu_memory_uma_stats.h" |
15 #include "content/common/gpu/gpu_process_launch_causes.h" | 15 #include "content/common/gpu/gpu_process_launch_causes.h" |
16 #include "content/common/gpu/gpu_rendering_stats.h" | 16 #include "content/common/gpu/gpu_rendering_stats.h" |
17 #include "content/common/gpu/surface_capturer.h" | |
17 #include "content/public/common/common_param_traits.h" | 18 #include "content/public/common/common_param_traits.h" |
18 #include "content/public/common/gpu_memory_stats.h" | 19 #include "content/public/common/gpu_memory_stats.h" |
19 #include "gpu/command_buffer/common/command_buffer.h" | 20 #include "gpu/command_buffer/common/command_buffer.h" |
20 #include "gpu/command_buffer/common/constants.h" | 21 #include "gpu/command_buffer/common/constants.h" |
21 #include "gpu/command_buffer/common/mailbox.h" | 22 #include "gpu/command_buffer/common/mailbox.h" |
22 #include "gpu/config/gpu_info.h" | 23 #include "gpu/config/gpu_info.h" |
23 #include "gpu/ipc/gpu_command_buffer_traits.h" | 24 #include "gpu/ipc/gpu_command_buffer_traits.h" |
24 #include "ipc/ipc_channel_handle.h" | 25 #include "ipc/ipc_channel_handle.h" |
25 #include "ipc/ipc_message_macros.h" | 26 #include "ipc/ipc_message_macros.h" |
26 #include "media/base/video_frame.h" | 27 #include "media/base/video_frame.h" |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
216 IPC_STRUCT_TRAITS_MEMBER(texture_upload_count) | 217 IPC_STRUCT_TRAITS_MEMBER(texture_upload_count) |
217 IPC_STRUCT_TRAITS_MEMBER(total_texture_upload_time) | 218 IPC_STRUCT_TRAITS_MEMBER(total_texture_upload_time) |
218 IPC_STRUCT_TRAITS_MEMBER(global_total_processing_commands_time) | 219 IPC_STRUCT_TRAITS_MEMBER(global_total_processing_commands_time) |
219 IPC_STRUCT_TRAITS_MEMBER(total_processing_commands_time) | 220 IPC_STRUCT_TRAITS_MEMBER(total_processing_commands_time) |
220 IPC_STRUCT_TRAITS_END() | 221 IPC_STRUCT_TRAITS_END() |
221 | 222 |
222 IPC_ENUM_TRAITS(media::VideoFrame::Format) | 223 IPC_ENUM_TRAITS(media::VideoFrame::Format) |
223 | 224 |
224 IPC_ENUM_TRAITS(media::VideoEncodeAccelerator::Error) | 225 IPC_ENUM_TRAITS(media::VideoEncodeAccelerator::Error) |
225 | 226 |
227 IPC_ENUM_TRAITS(content::SurfaceCapturer::Error) | |
228 | |
226 //------------------------------------------------------------------------------ | 229 //------------------------------------------------------------------------------ |
227 // GPU Messages | 230 // GPU Messages |
228 // These are messages from the browser to the GPU process. | 231 // These are messages from the browser to the GPU process. |
229 | 232 |
230 // Tells the GPU process to initialize itself. The browser explicitly | 233 // Tells the GPU process to initialize itself. The browser explicitly |
231 // requests this be done so that we are guaranteed that the channel is set | 234 // requests this be done so that we are guaranteed that the channel is set |
232 // up between the browser and GPU process before doing any work that might | 235 // up between the browser and GPU process before doing any work that might |
233 // potentially crash the GPU process. Detection of the child process | 236 // potentially crash the GPU process. Detection of the child process |
234 // exiting abruptly is predicated on having the IPC channel set up. | 237 // exiting abruptly is predicated on having the IPC channel set up. |
235 IPC_MESSAGE_CONTROL0(GpuMsg_Initialize) | 238 IPC_MESSAGE_CONTROL0(GpuMsg_Initialize) |
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
564 base::SharedMemoryHandle /* transfer_buffer */, | 567 base::SharedMemoryHandle /* transfer_buffer */, |
565 uint32 /* size */) | 568 uint32 /* size */) |
566 | 569 |
567 // Create and initialize a hardware video decoder, returning its new route_id. | 570 // Create and initialize a hardware video decoder, returning its new route_id. |
568 // Created decoders should be freed with AcceleratedVideoDecoderMsg_Destroy when | 571 // Created decoders should be freed with AcceleratedVideoDecoderMsg_Destroy when |
569 // no longer needed. | 572 // no longer needed. |
570 IPC_SYNC_MESSAGE_ROUTED1_1(GpuCommandBufferMsg_CreateVideoDecoder, | 573 IPC_SYNC_MESSAGE_ROUTED1_1(GpuCommandBufferMsg_CreateVideoDecoder, |
571 media::VideoCodecProfile /* profile */, | 574 media::VideoCodecProfile /* profile */, |
572 int /* route_id */) | 575 int /* route_id */) |
573 | 576 |
577 // Create and initialize a surface capturer, returning its new route_id. | |
578 // Created capturers should be freed with SurfaceCapturerMsg_Destroy when no | |
579 // longer needed. | |
580 IPC_SYNC_MESSAGE_ROUTED0_1(GpuCommandBufferMsg_CreateSurfaceCapturer, | |
581 int /* route_id */) | |
582 | |
574 // Tells the proxy that there was an error and the command buffer had to be | 583 // Tells the proxy that there was an error and the command buffer had to be |
575 // destroyed for some reason. | 584 // destroyed for some reason. |
576 IPC_MESSAGE_ROUTED1(GpuCommandBufferMsg_Destroyed, | 585 IPC_MESSAGE_ROUTED1(GpuCommandBufferMsg_Destroyed, |
577 gpu::error::ContextLostReason /* reason */) | 586 gpu::error::ContextLostReason /* reason */) |
578 | 587 |
579 // Request that the GPU process reply with the given message. Reply may be | 588 // Request that the GPU process reply with the given message. Reply may be |
580 // delayed. | 589 // delayed. |
581 IPC_MESSAGE_ROUTED1(GpuCommandBufferMsg_Echo, | 590 IPC_MESSAGE_ROUTED1(GpuCommandBufferMsg_Echo, |
582 IPC::Message /* reply */) | 591 IPC::Message /* reply */) |
583 | 592 |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
756 | 765 |
757 // Notify the renderer that an output buffer has been filled with encoded data. | 766 // Notify the renderer that an output buffer has been filled with encoded data. |
758 IPC_MESSAGE_ROUTED3(AcceleratedVideoEncoderHostMsg_BitstreamBufferReady, | 767 IPC_MESSAGE_ROUTED3(AcceleratedVideoEncoderHostMsg_BitstreamBufferReady, |
759 int32 /* bitstream_buffer_id */, | 768 int32 /* bitstream_buffer_id */, |
760 uint32 /* payload_size */, | 769 uint32 /* payload_size */, |
761 bool /* key_frame */) | 770 bool /* key_frame */) |
762 | 771 |
763 // Report error condition. | 772 // Report error condition. |
764 IPC_MESSAGE_ROUTED1(AcceleratedVideoEncoderHostMsg_NotifyError, | 773 IPC_MESSAGE_ROUTED1(AcceleratedVideoEncoderHostMsg_NotifyError, |
765 media::VideoEncodeAccelerator::Error /* error */) | 774 media::VideoEncodeAccelerator::Error /* error */) |
775 | |
776 //------------------------------------------------------------------------------ | |
777 // Gpu Surface Capturer Messages | |
778 // These messages are sent from the Browser process to the GPU process. | |
779 | |
780 // Initialize the capturer. | |
781 IPC_MESSAGE_ROUTED1(SurfaceCapturerMsg_Initialize, | |
782 media::VideoFrame::Format /* format */) | |
783 | |
784 // Attempt to perform a capture. | |
Pawel Osciak
2013/08/24 01:29:31
s/perform/start/ ?
sheu
2013/08/26 21:30:52
Done.
| |
785 IPC_MESSAGE_ROUTED0(SurfaceCapturerMsg_TryCapture) | |
786 | |
787 // Copy captured contents to a video frame. | |
788 IPC_MESSAGE_ROUTED3(SurfaceCapturerMsg_CopyCaptureToVideoFrame, | |
789 int32 /* buffer_id */, | |
790 base::SharedMemoryHandle /* buffer_shm */, | |
791 uint32 /* buffer_size */) | |
792 | |
793 // Destroy the capturer. | |
794 IPC_MESSAGE_ROUTED0(SurfaceCapturerMsg_Destroy) | |
795 | |
796 //------------------------------------------------------------------------------ | |
797 // Gpu Surface Capturer Host Messages | |
798 // These messages are sent from GPU process to Browser process. | |
799 | |
800 // Report the capture output parameters to the Browser process. | |
801 IPC_MESSAGE_ROUTED2(SurfaceCapturerHostMsg_NotifyCaptureParameters, | |
802 gfx::Size /* buffer_size */, | |
803 gfx::Rect /* visible_rect */) | |
804 | |
805 // Report successful copy of a capture of a surface. | |
806 IPC_MESSAGE_ROUTED1(SurfaceCapturerHostMsg_NotifyCopyCaptureDone, | |
807 int32 /* frame_id */) | |
808 | |
809 // Report error. | |
810 IPC_MESSAGE_ROUTED1(SurfaceCapturerHostMsg_NotifyError, | |
811 content::SurfaceCapturer::Error /* error */) | |
OLD | NEW |