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