15d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
25d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// found in the LICENSE file.
45d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
55d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "media/cast/logging/proto/proto_utils.h"
65d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
75d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "base/logging.h"
85d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#define TO_PROTO_ENUM(enum)  \
10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  case enum:                 \
11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    return proto::enum
125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)namespace media {
145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)namespace cast {
155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)proto::EventType ToProtoEventType(CastLoggingEvent event) {
175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  switch (event) {
18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    TO_PROTO_ENUM(UNKNOWN);
19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    TO_PROTO_ENUM(FRAME_CAPTURE_BEGIN);
20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    TO_PROTO_ENUM(FRAME_CAPTURE_END);
21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    TO_PROTO_ENUM(FRAME_ENCODED);
22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    TO_PROTO_ENUM(FRAME_ACK_RECEIVED);
23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    TO_PROTO_ENUM(FRAME_ACK_SENT);
24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    TO_PROTO_ENUM(FRAME_DECODED);
25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    TO_PROTO_ENUM(FRAME_PLAYOUT);
26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    TO_PROTO_ENUM(PACKET_SENT_TO_NETWORK);
27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    TO_PROTO_ENUM(PACKET_RETRANSMITTED);
286d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)    TO_PROTO_ENUM(PACKET_RTX_REJECTED);
29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    TO_PROTO_ENUM(PACKET_RECEIVED);
305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  }
315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  NOTREACHED();
32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  return proto::UNKNOWN;
335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)}
345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)}  // namespace cast
365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)}  // namespace media
37