OLD | NEW |
(Empty) | |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 // IPC messages for the Cast transport API. |
| 6 // Multiply-included message file, hence no include guard. |
| 7 |
| 8 #include "content/common/cast_messages_data.h" |
| 9 #include "content/common/content_export.h" |
| 10 #include "content/public/common/p2p_socket_type.h" |
| 11 #include "ipc/ipc_message_macros.h" |
| 12 #include "media/cast/cast_sender.h" |
| 13 #include "media/cast/rtcp/rtcp_defines.h" |
| 14 #include "media/cast/transport/cast_transport_sender.h" |
| 15 #include "net/base/ip_endpoint.h" |
| 16 #include "net/base/net_util.h" |
| 17 |
| 18 #undef IPC_MESSAGE_EXPORT |
| 19 #define IPC_MESSAGE_EXPORT CONTENT_EXPORT |
| 20 #define IPC_MESSAGE_START CastMsgStart |
| 21 |
| 22 IPC_ENUM_TRAITS(media::cast::transport::AudioCodec) |
| 23 IPC_ENUM_TRAITS(media::cast::transport::VideoCodec) |
| 24 IPC_ENUM_TRAITS(media::cast::transport::RtcpSenderFrameStatus) |
| 25 IPC_ENUM_TRAITS(media::cast::transport::CastTransportStatus) |
| 26 |
| 27 IPC_STRUCT_TRAITS_BEGIN(media::cast::transport::EncodedAudioFrame) |
| 28 IPC_STRUCT_TRAITS_MEMBER(codec) |
| 29 IPC_STRUCT_TRAITS_MEMBER(frame_id) |
| 30 IPC_STRUCT_TRAITS_MEMBER(samples) |
| 31 IPC_STRUCT_TRAITS_MEMBER(data) |
| 32 IPC_STRUCT_TRAITS_END() |
| 33 |
| 34 IPC_STRUCT_TRAITS_BEGIN(media::cast::transport::EncodedVideoFrame) |
| 35 IPC_STRUCT_TRAITS_MEMBER(codec) |
| 36 IPC_STRUCT_TRAITS_MEMBER(key_frame) |
| 37 IPC_STRUCT_TRAITS_MEMBER(frame_id) |
| 38 IPC_STRUCT_TRAITS_MEMBER(last_referenced_frame_id) |
| 39 IPC_STRUCT_TRAITS_MEMBER(data) |
| 40 IPC_STRUCT_TRAITS_END() |
| 41 |
| 42 IPC_STRUCT_TRAITS_BEGIN(media::cast::transport::RtcpSenderInfo) |
| 43 IPC_STRUCT_TRAITS_MEMBER(ntp_seconds) |
| 44 IPC_STRUCT_TRAITS_MEMBER(ntp_fraction) |
| 45 IPC_STRUCT_TRAITS_MEMBER(rtp_timestamp) |
| 46 IPC_STRUCT_TRAITS_MEMBER(send_packet_count) |
| 47 IPC_STRUCT_TRAITS_MEMBER(send_octet_count) |
| 48 IPC_STRUCT_TRAITS_END() |
| 49 |
| 50 IPC_STRUCT_TRAITS_BEGIN(media::cast::transport::RtcpDlrrReportBlock) |
| 51 IPC_STRUCT_TRAITS_MEMBER(last_rr) |
| 52 IPC_STRUCT_TRAITS_MEMBER(delay_since_last_rr) |
| 53 IPC_STRUCT_TRAITS_END() |
| 54 |
| 55 IPC_STRUCT_TRAITS_BEGIN(media::cast::transport::RtcpSenderFrameLogMessage) |
| 56 IPC_STRUCT_TRAITS_MEMBER(frame_status) |
| 57 IPC_STRUCT_TRAITS_MEMBER(rtp_timestamp) |
| 58 IPC_STRUCT_TRAITS_END() |
| 59 |
| 60 IPC_STRUCT_TRAITS_BEGIN(media::cast::transport::CastTransportConfig) |
| 61 IPC_STRUCT_TRAITS_MEMBER(receiver_ip_address) |
| 62 IPC_STRUCT_TRAITS_MEMBER(local_ip_address) |
| 63 IPC_STRUCT_TRAITS_MEMBER(receive_port) |
| 64 IPC_STRUCT_TRAITS_MEMBER(send_port) |
| 65 IPC_STRUCT_TRAITS_MEMBER(audio_ssrc) |
| 66 IPC_STRUCT_TRAITS_MEMBER(video_ssrc) |
| 67 IPC_STRUCT_TRAITS_MEMBER(video_codec) |
| 68 IPC_STRUCT_TRAITS_MEMBER(audio_codec) |
| 69 IPC_STRUCT_TRAITS_MEMBER(audio_frequency) |
| 70 IPC_STRUCT_TRAITS_MEMBER(audio_channels) |
| 71 IPC_STRUCT_TRAITS_MEMBER(audio_rtp_history_ms) |
| 72 IPC_STRUCT_TRAITS_MEMBER(video_rtp_history_ms) |
| 73 IPC_STRUCT_TRAITS_MEMBER(audio_rtp_max_delay_ms) |
| 74 IPC_STRUCT_TRAITS_MEMBER(video_rtp_max_delay_ms) |
| 75 IPC_STRUCT_TRAITS_MEMBER(audio_rtp_payload_type) |
| 76 IPC_STRUCT_TRAITS_MEMBER(video_rtp_payload_type) |
| 77 IPC_STRUCT_TRAITS_MEMBER(aes_key) |
| 78 IPC_STRUCT_TRAITS_MEMBER(aes_iv_mask) |
| 79 IPC_STRUCT_TRAITS_END() |
| 80 |
| 81 IPC_STRUCT_TRAITS_BEGIN(cast::SendRtcpFromRtpSenderData) |
| 82 IPC_STRUCT_TRAITS_MEMBER(packet_type_flags) |
| 83 IPC_STRUCT_TRAITS_MEMBER(sending_ssrc) |
| 84 IPC_STRUCT_TRAITS_MEMBER(c_name) |
| 85 IPC_STRUCT_TRAITS_END() |
| 86 |
| 87 |
| 88 // Cast messages sent from the browser to the renderer. |
| 89 |
| 90 IPC_MESSAGE_CONTROL3(CastMsg_RtpStatisticsUpdate, |
| 91 int32 /* channel_id */, |
| 92 base::TimeTicks /* now */, |
| 93 media::cast::transport::RtcpSenderInfo /* sender_info */) |
| 94 |
| 95 IPC_MESSAGE_CONTROL2(CastMsg_GotPacket, |
| 96 int32 /* channel_id */, |
| 97 media::cast::Packet /* packet */); |
| 98 |
| 99 IPC_MESSAGE_CONTROL2( |
| 100 CastMsg_NotifyStatusChange, |
| 101 int32 /* channel_id */, |
| 102 media::cast::transport::CastTransportStatus /* status */); |
| 103 |
| 104 // Cast messages sent from the renderer to the browser. |
| 105 |
| 106 IPC_MESSAGE_CONTROL3( |
| 107 CastHostMsg_InsertCodedAudioFrame, |
| 108 int32 /* channel_id */, |
| 109 media::cast::transport::EncodedAudioFrame /* audio_frame */, |
| 110 base::TimeTicks /* recorded_time */) |
| 111 |
| 112 IPC_MESSAGE_CONTROL3( |
| 113 CastHostMsg_InsertCodedVideoFrame, |
| 114 int32 /* channel_id */, |
| 115 media::cast::transport::EncodedVideoFrame /* video_frame */, |
| 116 base::TimeTicks /* recorded_time */) |
| 117 |
| 118 IPC_MESSAGE_CONTROL5( |
| 119 CastHostMsg_SendRtcpFromRtpSender, |
| 120 int32 /* channel_id */, |
| 121 cast::SendRtcpFromRtpSenderData /* flags, ssrc, name */, |
| 122 media::cast::transport::RtcpSenderInfo /* sender_info */, |
| 123 media::cast::transport::RtcpDlrrReportBlock /* dlrr */, |
| 124 media::cast::transport::RtcpSenderLogMessage /* sender_log */) |
| 125 |
| 126 IPC_MESSAGE_CONTROL3( |
| 127 CastHostMsg_ResendPackets, |
| 128 int32 /* channel_id */, |
| 129 bool /* is_audio */, |
| 130 media::cast::MissingFramesAndPacketsMap /* missing_packets */) |
| 131 |
| 132 IPC_MESSAGE_CONTROL2( |
| 133 CastHostMsg_New, |
| 134 int32 /* channel_id */, |
| 135 media::cast::transport::CastTransportConfig /* config */); |
| 136 |
| 137 IPC_MESSAGE_CONTROL1( |
| 138 CastHostMsg_Delete, |
| 139 int32 /* channel_id */); |
OLD | NEW |