Skip to content

Commit

Permalink
Move param traits out of media_messages.{h|cc}
Browse files Browse the repository at this point in the history
For consistency with other ipc directories. ParamTraits used elsewhere should
not live in a _messages.h/cc file.

BUG=none
TBR=dalecurtis@chromium.org

Review-Url: https://codereview.chromium.org/1995603002
Cr-Commit-Position: refs/heads/master@{#394477}
  • Loading branch information
fsamuel authored and Commit bot committed May 18, 2016
1 parent bdccd27 commit 003f9c4
Show file tree
Hide file tree
Showing 6 changed files with 97 additions and 109 deletions.
1 change: 0 additions & 1 deletion media/gpu/ipc/common/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ source_set("common") {
"create_video_encoder_params.h",
"media_message_generator.cc",
"media_message_generator.h",
"media_messages.cc",
"media_messages.h",
"media_param_traits.cc",
"media_param_traits.h",
Expand Down
86 changes: 0 additions & 86 deletions media/gpu/ipc/common/media_messages.cc

This file was deleted.

20 changes: 0 additions & 20 deletions media/gpu/ipc/common/media_messages.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
#include "gpu/ipc/common/gpu_param_traits_macros.h"
#include "ipc/ipc_message_macros.h"
#include "ipc/param_traits_macros.h"
#include "media/base/bitstream_buffer.h"
#include "media/gpu/ipc/common/media_param_traits.h"
#include "media/video/jpeg_decode_accelerator.h"
#include "media/video/video_decode_accelerator.h"
Expand All @@ -18,25 +17,6 @@

#define IPC_MESSAGE_START MediaMsgStart

#ifndef MEDIA_GPU_IPC_COMMON_MEDIA_MESSAGES_H_
#define MEDIA_GPU_IPC_COMMON_MEDIA_MESSAGES_H_

namespace IPC {
template <>
struct ParamTraits<media::BitstreamBuffer> {
using param_type = media::BitstreamBuffer;
static void GetSize(base::PickleSizer* s, const param_type& p);
static void Write(base::Pickle* m, const param_type& p);
static bool Read(const base::Pickle* m,
base::PickleIterator* iter,
param_type* r);
static void Log(const param_type& p, std::string* l);
};

} // namespace IPC

#endif // MEDIA_GPU_IPC_COMMON_MEDIA_MESSAGES_H_

IPC_STRUCT_BEGIN(AcceleratedJpegDecoderMsg_Decode_Params)
IPC_STRUCT_MEMBER(media::BitstreamBuffer, input_buffer)
IPC_STRUCT_MEMBER(gfx::Size, coded_size)
Expand Down
82 changes: 81 additions & 1 deletion media/gpu/ipc/common/media_param_traits.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,89 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Get basic type definitions.
#include <stddef.h>

#include <sstream>

#include "base/logging.h"
#include "base/numerics/safe_math.h"
#include "media/gpu/ipc/common/media_param_traits.h"

namespace IPC {

void ParamTraits<media::BitstreamBuffer>::GetSize(base::PickleSizer* s,
const param_type& p) {
GetParamSize(s, p.id());
GetParamSize(s, static_cast<uint64_t>(p.size()));
GetParamSize(s, static_cast<uint64_t>(p.offset()));
GetParamSize(s, p.presentation_timestamp());
GetParamSize(s, p.key_id());
if (!p.key_id().empty()) {
GetParamSize(s, p.iv());
GetParamSize(s, p.subsamples());
}
GetParamSize(s, p.handle());
}

void ParamTraits<media::BitstreamBuffer>::Write(base::Pickle* m,
const param_type& p) {
WriteParam(m, p.id());
WriteParam(m, static_cast<uint64_t>(p.size()));
DCHECK_GE(p.offset(), 0);
WriteParam(m, static_cast<uint64_t>(p.offset()));
WriteParam(m, p.presentation_timestamp());
WriteParam(m, p.key_id());
if (!p.key_id().empty()) {
WriteParam(m, p.iv());
WriteParam(m, p.subsamples());
}
WriteParam(m, p.handle());
}

bool ParamTraits<media::BitstreamBuffer>::Read(const base::Pickle* m,
base::PickleIterator* iter,
param_type* r) {
DCHECK(r);
uint64_t size = 0;
uint64_t offset = 0;
if (!(ReadParam(m, iter, &r->id_) && ReadParam(m, iter, &size) &&
ReadParam(m, iter, &offset) &&
ReadParam(m, iter, &r->presentation_timestamp_) &&
ReadParam(m, iter, &r->key_id_)))
return false;

base::CheckedNumeric<size_t> checked_size(size);
if (!checked_size.IsValid()) {
DLOG(ERROR) << "Invalid size: " << size;
return false;
}
r->size_ = checked_size.ValueOrDie();

base::CheckedNumeric<off_t> checked_offset(offset);
if (!checked_offset.IsValid()) {
DLOG(ERROR) << "Invalid offset: " << offset;
return false;
}
r->offset_ = checked_offset.ValueOrDie();

if (!r->key_id_.empty()) {
if (!(ReadParam(m, iter, &r->iv_) && ReadParam(m, iter, &r->subsamples_)))
return false;
}

return ReadParam(m, iter, &r->handle_);
}

void ParamTraits<media::BitstreamBuffer>::Log(const param_type& p,
std::string* l) {
std::ostringstream oss;
oss << "id=" << p.id() << ", size=" << p.size() << ", presentation_timestamp="
<< p.presentation_timestamp().ToInternalValue();
l->append(oss.str());
}

} // namespace IPC

// Generate param traits size methods.
#include "ipc/param_traits_size_macros.h"
namespace IPC {
Expand Down
16 changes: 16 additions & 0 deletions media/gpu/ipc/common/media_param_traits.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,22 @@
#ifndef MEDIA_GPU_IPC_COMMON_MEDIA_PARAM_TRAITS_H_
#define MEDIA_GPU_IPC_COMMON_MEDIA_PARAM_TRAITS_H_

#include "media/base/bitstream_buffer.h"
#include "media/gpu/ipc/common/media_param_traits_macros.h"

namespace IPC {

template <>
struct ParamTraits<media::BitstreamBuffer> {
using param_type = media::BitstreamBuffer;
static void GetSize(base::PickleSizer* s, const param_type& p);
static void Write(base::Pickle* m, const param_type& p);
static bool Read(const base::Pickle* m,
base::PickleIterator* iter,
param_type* r);
static void Log(const param_type& p, std::string* l);
};

} // namespace IPC

#endif // MEDIA_GPU_IPC_COMMON_MEDIA_PARAM_TRAITS_H_
1 change: 0 additions & 1 deletion media/gpu/ipc/media_ipc.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
'common/create_video_encoder_params.h',
'common/media_message_generator.cc',
'common/media_message_generator.h',
'common/media_messages.cc',
'common/media_messages.h',
'common/media_param_traits.h',
'common/media_param_traits.cc',
Expand Down

0 comments on commit 003f9c4

Please sign in to comment.