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

Unified Diff: chrome/common/cast_messages.h

Issue 1515433002: Replace uses of raw uint32's with a type-checked RtpTimeTicks data type. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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 side-by-side diff with in-line comments
Download patch
Index: chrome/common/cast_messages.h
diff --git a/chrome/common/cast_messages.h b/chrome/common/cast_messages.h
index e10717189ffb17db6e5995c88eaab3e9ced5e578..d6ab6a6bacb4fd8d1dc9ecc66f6184c5f68fb6d4 100644
--- a/chrome/common/cast_messages.h
+++ b/chrome/common/cast_messages.h
@@ -7,11 +7,45 @@
#include "ipc/ipc_message_macros.h"
#include "media/cast/cast_sender.h"
+#include "media/cast/common/rtp_time.h"
#include "media/cast/logging/logging_defines.h"
#include "media/cast/net/cast_transport_sender.h"
#include "media/cast/net/rtcp/rtcp_defines.h"
#include "net/base/ip_endpoint.h"
+#ifndef CHROME_COMMON_CAST_MESSAGES_H_
+#define CHROME_COMMON_CAST_MESSAGES_H_
+
+template<>
+struct IPC::ParamTraits<media::cast::RtpTimeTicks> {
Irfan 2015/12/09 21:24:27 I wonder if this belongs to its own header ?
miu 2015/12/10 00:38:36 I looked at a number of examples elsewhere, and th
+ using param_type = media::cast::RtpTimeTicks;
+
+ static void Write(Message* m, const param_type& p) {
+ auto serialized = p.SerializeForIPC();
+ IPC::ParamTraits<decltype(serialized)>::Write(m, serialized);
+ }
+
+ static bool Read(const Message* m, base::PickleIterator* iter,
+ param_type* r) {
+ decltype(r->SerializeForIPC()) serialized;
+ if (IPC::ParamTraits<decltype(serialized)>::Read(m, iter, &serialized)) {
+ *r = param_type::DeserializeForIPC(serialized);
+ return true;
+ }
+ return false;
+ }
+
+ static void Log(const param_type& p, std::string* l) {
+ std::ostringstream oss;
+ oss << p;
+ l->append(oss.str());
+ }
+};
+
+#endif // CHROME_COMMON_CAST_MESSAGES_H_
+
+// Multiply-included message file, hence no include guard from here.
+
#undef IPC_MESSAGE_EXPORT
#define IPC_MESSAGE_EXPORT
#define IPC_MESSAGE_START CastMsgStart
@@ -161,7 +195,7 @@ IPC_MESSAGE_CONTROL4(
int32 /* channel_id */,
uint32 /* ssrc */,
base::TimeTicks /* current_time */,
- uint32 /* current_time_as_rtp_timestamp */)
+ media::cast::RtpTimeTicks /* current_time_as_rtp_timestamp */)
IPC_MESSAGE_CONTROL3(
CastHostMsg_CancelSendingFrames,

Powered by Google App Engine
This is Rietveld 408576698