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

Side by Side Diff: content/common/cast_messages.h

Issue 138753004: Cast: IPC glue between cast library transport and encoders. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: added rtp statistics callbacks Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(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 */);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698