OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Singly or Multiply-included shared traits file depending on circumstances. | 5 // Singly or Multiply-included shared traits file depending on circumstances. |
6 // This allows the use of IPC serialization macros in more than one IPC message | 6 // This allows the use of IPC serialization macros in more than one IPC message |
7 // file. | 7 // file. |
8 #ifndef CHROMECAST_COMMON_MEDIA_CMA_PARAM_TRAITS_MACROS_H_ | 8 #ifndef CHROMECAST_COMMON_MEDIA_CMA_PARAM_TRAITS_MACROS_H_ |
9 #define CHROMECAST_COMMON_MEDIA_CMA_PARAM_TRAITS_MACROS_H_ | 9 #define CHROMECAST_COMMON_MEDIA_CMA_PARAM_TRAITS_MACROS_H_ |
10 | 10 |
11 #include "chromecast/media/cma/pipeline/load_type.h" | 11 #include "chromecast/media/cma/pipeline/load_type.h" |
12 #include "ipc/ipc_message_macros.h" | 12 #include "ipc/ipc_message_macros.h" |
13 #include "ipc/param_traits_macros.h" | 13 #include "ipc/param_traits_macros.h" |
14 #include "media/base/audio_decoder_config.h" | 14 #include "media/base/audio_decoder_config.h" |
15 #include "media/base/buffering_state.h" | 15 #include "media/base/buffering_state.h" |
16 #include "media/base/channel_layout.h" | 16 #include "media/base/channel_layout.h" |
17 #include "media/base/pipeline_status.h" | 17 #include "media/base/pipeline_status.h" |
18 #include "media/base/sample_format.h" | 18 #include "media/base/sample_format.h" |
19 #include "media/base/video_decoder_config.h" | 19 #include "media/base/video_decoder_config.h" |
20 #include "media/base/video_frame.h" | 20 #include "media/base/video_frame.h" |
21 | 21 |
22 IPC_ENUM_TRAITS_MIN_MAX_VALUE(chromecast::media::LoadType, | 22 IPC_ENUM_TRAITS_MIN_MAX_VALUE(chromecast::media::LoadType, |
23 chromecast::media::kLoadTypeURL, | 23 chromecast::media::kLoadTypeURL, |
24 chromecast::media::kLoadTypeMediaStream) | 24 chromecast::media::kLoadTypeMediaStream) |
25 | 25 |
26 // TODO (gunsch): move media enum IPC code to a common location in media. | |
27 // See crbug.com/442594 for details. | |
28 IPC_ENUM_TRAITS_MIN_MAX_VALUE(media::AudioCodec, | 26 IPC_ENUM_TRAITS_MIN_MAX_VALUE(media::AudioCodec, |
29 media::AudioCodec::kUnknownAudioCodec, | 27 media::AudioCodec::kUnknownAudioCodec, |
30 media::AudioCodec::kAudioCodecMax) | 28 media::AudioCodec::kAudioCodecMax) |
31 IPC_ENUM_TRAITS_MIN_MAX_VALUE(media::BufferingState, | 29 IPC_ENUM_TRAITS_MIN_MAX_VALUE(media::BufferingState, |
32 media::BUFFERING_HAVE_NOTHING, | 30 media::BUFFERING_HAVE_NOTHING, |
33 media::BUFFERING_HAVE_ENOUGH) | 31 media::BUFFERING_HAVE_ENOUGH) |
34 IPC_ENUM_TRAITS_MIN_MAX_VALUE(media::SampleFormat, | 32 IPC_ENUM_TRAITS_MIN_MAX_VALUE(media::SampleFormat, |
35 media::SampleFormat::kUnknownSampleFormat, | 33 media::SampleFormat::kUnknownSampleFormat, |
36 media::SampleFormat::kSampleFormatMax) | 34 media::SampleFormat::kSampleFormatMax) |
37 IPC_ENUM_TRAITS_MIN_MAX_VALUE(media::ChannelLayout, | |
38 media::ChannelLayout::CHANNEL_LAYOUT_NONE, | |
39 media::ChannelLayout::CHANNEL_LAYOUT_MAX) | |
40 IPC_ENUM_TRAITS_MIN_MAX_VALUE(media::PipelineStatus, | 35 IPC_ENUM_TRAITS_MIN_MAX_VALUE(media::PipelineStatus, |
41 media::PIPELINE_OK, | 36 media::PIPELINE_OK, |
42 media::PIPELINE_STATUS_MAX) | 37 media::PIPELINE_STATUS_MAX) |
43 IPC_ENUM_TRAITS_MIN_MAX_VALUE(media::VideoCodec, | 38 IPC_ENUM_TRAITS_MIN_MAX_VALUE(media::VideoCodec, |
44 media::VideoCodec::kUnknownVideoCodec, | 39 media::VideoCodec::kUnknownVideoCodec, |
45 media::VideoCodec::kVideoCodecMax) | 40 media::VideoCodec::kVideoCodecMax) |
46 IPC_ENUM_TRAITS_MIN_MAX_VALUE(media::VideoCodecProfile, | |
47 media::VIDEO_CODEC_PROFILE_MIN, | |
48 media::VIDEO_CODEC_PROFILE_MAX) | |
49 IPC_ENUM_TRAITS_MAX_VALUE(media::VideoFrame::Format, | |
50 media::VideoFrame::FORMAT_MAX) | |
51 | 41 |
52 IPC_STRUCT_TRAITS_BEGIN(media::PipelineStatistics) | 42 IPC_STRUCT_TRAITS_BEGIN(media::PipelineStatistics) |
53 IPC_STRUCT_TRAITS_MEMBER(audio_bytes_decoded) | 43 IPC_STRUCT_TRAITS_MEMBER(audio_bytes_decoded) |
54 IPC_STRUCT_TRAITS_MEMBER(video_bytes_decoded) | 44 IPC_STRUCT_TRAITS_MEMBER(video_bytes_decoded) |
55 IPC_STRUCT_TRAITS_MEMBER(video_frames_decoded) | 45 IPC_STRUCT_TRAITS_MEMBER(video_frames_decoded) |
56 IPC_STRUCT_TRAITS_MEMBER(video_frames_dropped) | 46 IPC_STRUCT_TRAITS_MEMBER(video_frames_dropped) |
57 IPC_STRUCT_TRAITS_END() | 47 IPC_STRUCT_TRAITS_END() |
58 | 48 |
59 #endif // CHROMECAST_COMMON_MEDIA_CMA_PARAM_TRAITS_MACROS_H_ | 49 #endif // CHROMECAST_COMMON_MEDIA_CMA_PARAM_TRAITS_MACROS_H_ |
OLD | NEW |