• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 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 #include "base/message_loop/message_loop.h"
6 #include "base/test/simple_test_tick_clock.h"
7 #include "chrome/common/cast_messages.h"
8 #include "chrome/renderer/media/cast_ipc_dispatcher.h"
9 #include "ipc/ipc_message_macros.h"
10 #include "media/cast/logging/logging_defines.h"
11 #include "testing/gtest/include/gtest/gtest.h"
12 
13 namespace {
14 
15 class CastIPCDispatcherTest : public testing::Test {
16  public:
CastIPCDispatcherTest()17   CastIPCDispatcherTest() {
18     dispatcher_ = new CastIPCDispatcher(base::MessageLoopProxy::current());
19   }
20 
21  protected:
FakeSend(const IPC::Message & message)22   void FakeSend(const IPC::Message& message) {
23     EXPECT_TRUE(dispatcher_->OnMessageReceived(message));
24   }
25 
26   scoped_refptr<CastIPCDispatcher> dispatcher_;
27   base::MessageLoopForIO message_loop_;
28 };
29 
TEST_F(CastIPCDispatcherTest,RawEvents)30 TEST_F(CastIPCDispatcherTest, RawEvents) {
31   const int kChannelId = 17;
32 
33   media::cast::PacketEvent packet_event;
34   packet_event.rtp_timestamp = 100;
35   packet_event.max_packet_id = 10;
36   packet_event.packet_id = 5;
37   packet_event.size = 512;
38   packet_event.timestamp = base::SimpleTestTickClock().NowTicks();
39   packet_event.type = media::cast::PACKET_SENT_TO_NETWORK;
40   packet_event.media_type = media::cast::VIDEO_EVENT;
41   std::vector<media::cast::PacketEvent> packet_events;
42   packet_events.push_back(packet_event);
43 
44   media::cast::FrameEvent frame_event;
45   frame_event.rtp_timestamp = 100;
46   frame_event.frame_id = 5;
47   frame_event.size = 512;
48   frame_event.timestamp = base::SimpleTestTickClock().NowTicks();
49   frame_event.media_type = media::cast::VIDEO_EVENT;
50   std::vector<media::cast::FrameEvent> frame_events;
51   frame_events.push_back(frame_event);
52 
53   packet_events.push_back(packet_event);
54   CastMsg_RawEvents raw_events_msg(kChannelId, packet_events,
55                                    frame_events);
56 
57   FakeSend(raw_events_msg);
58 }
59 
60 }  // namespace
61