Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(451)

Side by Side Diff: remoting/base/protocol_util.cc

Issue 2865019: remoting: Extract the utility to get the BytesPerPixel from PixelFormat into a function. (Closed)
Patch Set: sort order Created 10 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « remoting/base/protocol_util.h ('k') | remoting/client/decoder_verbatim.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "remoting/base/protocol_util.h" 5 #include "remoting/base/protocol_util.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/hash_tables.h" 8 #include "base/hash_tables.h"
9 #include "talk/base/byteorder.h" 9 #include "talk/base/byteorder.h"
10 10
11 namespace remoting { 11 namespace remoting {
12 12
13 scoped_refptr<media::DataBuffer> SerializeAndFrameMessage( 13 scoped_refptr<media::DataBuffer> SerializeAndFrameMessage(
14 const google::protobuf::MessageLite& msg) { 14 const google::protobuf::MessageLite& msg) {
15 15
16 // Create a buffer with 4 extra bytes. This is used as prefix to write an 16 // Create a buffer with 4 extra bytes. This is used as prefix to write an
17 // int32 of the serialized message size for framing. 17 // int32 of the serialized message size for framing.
18 const int kExtraBytes = sizeof(int32); 18 const int kExtraBytes = sizeof(int32);
19 int size = msg.ByteSize() + kExtraBytes; 19 int size = msg.ByteSize() + kExtraBytes;
20 scoped_refptr<media::DataBuffer> buffer = new media::DataBuffer(size); 20 scoped_refptr<media::DataBuffer> buffer = new media::DataBuffer(size);
21 talk_base::SetBE32(buffer->GetWritableData(), msg.GetCachedSize()); 21 talk_base::SetBE32(buffer->GetWritableData(), msg.GetCachedSize());
22 msg.SerializeWithCachedSizesToArray(buffer->GetWritableData() + kExtraBytes); 22 msg.SerializeWithCachedSizesToArray(buffer->GetWritableData() + kExtraBytes);
23 buffer->SetDataSize(size); 23 buffer->SetDataSize(size);
24 return buffer; 24 return buffer;
25 } 25 }
26 26
27 int GetBytesPerPixel(PixelFormat format) {
28 // Note: The order is important here for performace. This is sorted from the
29 // most common to the less common (PixelFormatAscii is mostly used
30 // just for testing).
31 switch (format) {
32 case PixelFormatRgb24: return 3;
33 case PixelFormatRgb565: return 2;
34 case PixelFormatRgb32: return 4;
35 case PixelFormatAscii: return 1;
36 default:
37 NOTREACHED() << "Pixel format not supported";
38 return 0;
39 }
40 }
41
27 } // namespace remoting 42 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/base/protocol_util.h ('k') | remoting/client/decoder_verbatim.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698