1 // Copyright (c) 2012 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 #ifndef CONTENT_COMMON_MEDIA_MEDIA_PARAM_TRAITS_H_ 6 #define CONTENT_COMMON_MEDIA_MEDIA_PARAM_TRAITS_H_ 7 8 #include "content/common/content_export.h" 9 #include "ipc/ipc_message.h" 10 #include "ipc/ipc_param_traits.h" 11 12 namespace media { 13 class AudioParameters; 14 class VideoCaptureFormat; 15 } 16 17 namespace IPC { 18 19 template <> 20 struct CONTENT_EXPORT ParamTraits<media::AudioParameters> { 21 typedef media::AudioParameters param_type; 22 static void Write(Message* m, const param_type& p); 23 static bool Read(const Message* m, PickleIterator* iter, param_type* r); 24 static void Log(const param_type& p, std::string* l); 25 }; 26 27 template <> 28 struct CONTENT_EXPORT ParamTraits<media::VideoCaptureFormat> { 29 typedef media::VideoCaptureFormat param_type; 30 static void Write(Message* m, const param_type& p); 31 static bool Read(const Message* m, PickleIterator* iter, param_type* r); 32 static void Log(const param_type& p, std::string* l); 33 }; 34 35 } // namespace IPC 36 37 #endif // CONTENT_COMMON_MEDIA_MEDIA_PARAM_TRAITS_H_ 38