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