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 11namespace chromecast { 12namespace media { 13class DecoderBufferBase; 14class MediaMessage; 15 16class 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