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 #ifndef CHROMECAST_MEDIA_CMA_IPC_STREAMER_DECODER_BUFFER_BASE_MARSHALLER_H_ 6 #define CHROMECAST_MEDIA_CMA_IPC_STREAMER_DECODER_BUFFER_BASE_MARSHALLER_H_ 7 8 #include "base/memory/ref_counted.h" 9 #include "base/memory/scoped_ptr.h" 10 11 namespace chromecast { 12 namespace media { 13 class DecoderBufferBase; 14 class MediaMessage; 15 16 class DecoderBufferBaseMarshaller { 17 public: 18 // Writes the serialized structure of |config| into |msg|. 19 static void Write( 20 const scoped_refptr<DecoderBufferBase>& buffer, MediaMessage* msg); 21 22 // Returns a decoder buffer from its serialized structure. 23 static scoped_refptr<DecoderBufferBase> Read(scoped_ptr<MediaMessage> msg); 24 }; 25 26 } // namespace media 27 } // namespace chromecast 28 29 #endif // CHROMECAST_MEDIA_CMA_IPC_STREAMER_DECODER_BUFFER_BASE_MARSHALLER_H_ 30