Home | History | Annotate | Download | only in logging
      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