• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 MEDIA_CAST_LOGGING_LOG_SERIALIZER_H_
6 #define MEDIA_CAST_LOGGING_LOG_SERIALIZER_H_
7 
8 #include <string>
9 
10 #include "media/cast/logging/encoding_event_subscriber.h"
11 
12 namespace media {
13 namespace cast {
14 
15 // Serialize |frame_events|, |packet_events|, |log_metadata|
16 // returned from EncodingEventSubscriber.
17 // Result is written to |output|, which can hold |max_output_bytes| of data.
18 // If |compress| is true, |output| will be set with data compresssed in
19 // gzip format.
20 // |output_bytes| will be set to number of bytes written.
21 //
22 // Returns |true| if serialization is successful. This function
23 // returns |false| if the serialized string will exceed |max_output_bytes|.
24 //
25 // See .cc file for format specification.
26 bool SerializeEvents(const media::cast::proto::LogMetadata& log_metadata,
27                      const FrameEventList& frame_events,
28                      const PacketEventList& packet_events,
29                      bool compress,
30                      int max_output_bytes,
31                      char* output,
32                      int* output_bytes);
33 
34 }  // namespace cast
35 }  // namespace media
36 
37 #endif  // MEDIA_CAST_LOGGING_LOG_SERIALIZER_H_
38