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/content_export.h" |
| 9 #include "content/public/common/p2p_socket_type.h" |
| 10 #include "ipc/ipc_message_macros.h" |
| 11 #include "media/cast/cast_sender.h" |
| 12 #include "media/cast/rtcp/rtcp_defines.h" |
| 13 #include "media/cast/transport/cast_transport_sender.h" |
| 14 #include "net/base/ip_endpoint.h" |
| 15 #include "net/base/net_util.h" |
| 16 |
| 17 #undef IPC_MESSAGE_EXPORT |
| 18 #define IPC_MESSAGE_EXPORT CONTENT_EXPORT |
| 19 #define IPC_MESSAGE_START CastMsgStart |
| 20 |
| 21 IPC_ENUM_TRAITS(media::cast::transport::AudioCodec) |
| 22 IPC_ENUM_TRAITS(media::cast::transport::VideoCodec) |
| 23 IPC_ENUM_TRAITS(media::cast::transport::RtcpSenderFrameStatus) |
| 24 IPC_ENUM_TRAITS(media::cast::transport::CastTransportStatus) |
| 25 |
| 26 IPC_STRUCT_TRAITS_BEGIN(media::cast::transport::EncodedAudioFrame) |
| 27 IPC_STRUCT_TRAITS_MEMBER(codec) |
| 28 IPC_STRUCT_TRAITS_MEMBER(frame_id) |
| 29 IPC_STRUCT_TRAITS_MEMBER(samples) |
| 30 IPC_STRUCT_TRAITS_MEMBER(data) |
| 31 IPC_STRUCT_TRAITS_END() |
| 32 |
| 33 IPC_STRUCT_TRAITS_BEGIN(media::cast::transport::EncodedVideoFrame) |
| 34 IPC_STRUCT_TRAITS_MEMBER(codec) |
| 35 IPC_STRUCT_TRAITS_MEMBER(key_frame) |
| 36 IPC_STRUCT_TRAITS_MEMBER(frame_id) |
| 37 IPC_STRUCT_TRAITS_MEMBER(last_referenced_frame_id) |
| 38 IPC_STRUCT_TRAITS_MEMBER(data) |
| 39 IPC_STRUCT_TRAITS_END() |
| 40 |
| 41 IPC_STRUCT_TRAITS_BEGIN(media::cast::transport::RtcpSenderInfo) |
| 42 IPC_STRUCT_TRAITS_MEMBER(ntp_seconds) |
| 43 IPC_STRUCT_TRAITS_MEMBER(ntp_fraction) |
| 44 IPC_STRUCT_TRAITS_MEMBER(rtp_timestamp) |
| 45 IPC_STRUCT_TRAITS_MEMBER(send_packet_count) |
| 46 IPC_STRUCT_TRAITS_MEMBER(send_octet_count) |
| 47 IPC_STRUCT_TRAITS_END() |
| 48 |
| 49 IPC_STRUCT_TRAITS_BEGIN(media::cast::transport::RtcpDlrrReportBlock) |
| 50 IPC_STRUCT_TRAITS_MEMBER(last_rr) |
| 51 IPC_STRUCT_TRAITS_MEMBER(delay_since_last_rr) |
| 52 IPC_STRUCT_TRAITS_END() |
| 53 |
| 54 IPC_STRUCT_TRAITS_BEGIN(media::cast::transport::RtcpSenderFrameLogMessage) |
| 55 IPC_STRUCT_TRAITS_MEMBER(frame_status) |
| 56 IPC_STRUCT_TRAITS_MEMBER(rtp_timestamp) |
| 57 IPC_STRUCT_TRAITS_END() |
| 58 |
| 59 IPC_STRUCT_TRAITS_BEGIN(media::cast::transport::RtpConfig) |
| 60 IPC_STRUCT_TRAITS_MEMBER(history_ms) |
| 61 IPC_STRUCT_TRAITS_MEMBER(max_delay_ms) |
| 62 IPC_STRUCT_TRAITS_MEMBER(payload_type) |
| 63 IPC_STRUCT_TRAITS_END() |
| 64 |
| 65 IPC_STRUCT_TRAITS_BEGIN(media::cast::transport::CastTransportConfig) |
| 66 IPC_STRUCT_TRAITS_MEMBER(receiver_endpoint) |
| 67 IPC_STRUCT_TRAITS_MEMBER(local_endpoint) |
| 68 IPC_STRUCT_TRAITS_MEMBER(audio_ssrc) |
| 69 IPC_STRUCT_TRAITS_MEMBER(video_ssrc) |
| 70 IPC_STRUCT_TRAITS_MEMBER(video_codec) |
| 71 IPC_STRUCT_TRAITS_MEMBER(audio_codec) |
| 72 IPC_STRUCT_TRAITS_MEMBER(audio_frequency) |
| 73 IPC_STRUCT_TRAITS_MEMBER(audio_channels) |
| 74 IPC_STRUCT_TRAITS_MEMBER(audio_rtp_config) |
| 75 IPC_STRUCT_TRAITS_MEMBER(video_rtp_config) |
| 76 IPC_STRUCT_TRAITS_MEMBER(aes_key) |
| 77 IPC_STRUCT_TRAITS_MEMBER(aes_iv_mask) |
| 78 IPC_STRUCT_TRAITS_END() |
| 79 |
| 80 IPC_STRUCT_TRAITS_BEGIN(media::cast::transport::SendRtcpFromRtpSenderData) |
| 81 IPC_STRUCT_TRAITS_MEMBER(packet_type_flags) |
| 82 IPC_STRUCT_TRAITS_MEMBER(sending_ssrc) |
| 83 IPC_STRUCT_TRAITS_MEMBER(c_name) |
| 84 IPC_STRUCT_TRAITS_END() |
| 85 |
| 86 |
| 87 // Cast messages sent from the browser to the renderer. |
| 88 |
| 89 IPC_MESSAGE_CONTROL2(CastMsg_ReceivedPacket, |
| 90 int32 /* channel_id */, |
| 91 media::cast::Packet /* packet */); |
| 92 |
| 93 IPC_MESSAGE_CONTROL2( |
| 94 CastMsg_NotifyStatusChange, |
| 95 int32 /* channel_id */, |
| 96 media::cast::transport::CastTransportStatus /* status */); |
| 97 |
| 98 IPC_MESSAGE_CONTROL5( |
| 99 CastMsg_RtpStatistics, |
| 100 int32 /* channel_id */, |
| 101 bool /* audio */, |
| 102 media::cast::transport::RtcpSenderInfo /* sender_info */, |
| 103 base::TimeTicks /* time_sent */, |
| 104 uint32 /* rtp_timestamp */); |
| 105 |
| 106 |
| 107 // Cast messages sent from the renderer to the browser. |
| 108 |
| 109 IPC_MESSAGE_CONTROL3( |
| 110 CastHostMsg_InsertCodedAudioFrame, |
| 111 int32 /* channel_id */, |
| 112 media::cast::transport::EncodedAudioFrame /* audio_frame */, |
| 113 base::TimeTicks /* recorded_time */) |
| 114 |
| 115 IPC_MESSAGE_CONTROL3( |
| 116 CastHostMsg_InsertCodedVideoFrame, |
| 117 int32 /* channel_id */, |
| 118 media::cast::transport::EncodedVideoFrame /* video_frame */, |
| 119 base::TimeTicks /* recorded_time */) |
| 120 |
| 121 IPC_MESSAGE_CONTROL5( |
| 122 CastHostMsg_SendRtcpFromRtpSender, |
| 123 int32 /* channel_id */, |
| 124 media::cast::transport::SendRtcpFromRtpSenderData /* flags, ssrc, name */, |
| 125 media::cast::transport::RtcpSenderInfo /* sender_info */, |
| 126 media::cast::transport::RtcpDlrrReportBlock /* dlrr */, |
| 127 media::cast::transport::RtcpSenderLogMessage /* sender_log */) |
| 128 |
| 129 IPC_MESSAGE_CONTROL3( |
| 130 CastHostMsg_ResendPackets, |
| 131 int32 /* channel_id */, |
| 132 bool /* is_audio */, |
| 133 media::cast::MissingFramesAndPacketsMap /* missing_packets */) |
| 134 |
| 135 IPC_MESSAGE_CONTROL2( |
| 136 CastHostMsg_New, |
| 137 int32 /* channel_id */, |
| 138 media::cast::transport::CastTransportConfig /* config */); |
| 139 |
| 140 IPC_MESSAGE_CONTROL1( |
| 141 CastHostMsg_Delete, |
| 142 int32 /* channel_id */); |
OLD | NEW |