// Copyright 2012 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef MEDIA_BASE_STREAM_PARSER_BUFFER_H_ #define MEDIA_BASE_STREAM_PARSER_BUFFER_H_ #include <stddef.h> #include <stdint.h> #include "base/time/time.h" #include "media/base/decoder_buffer.h" #include "media/base/demuxer_stream.h" #include "media/base/media_export.h" #include "media/base/stream_parser.h" #include "media/base/timestamp_constants.h" namespace media { // Simple wrapper around base::TimeDelta that represents a decode timestamp. // Making DecodeTimestamp a different type makes it easier to determine whether // code is operating on presentation or decode timestamps and makes conversions // between the two types explicit and easy to spot. class DecodeTimestamp { … }; // Assert assumptions necessary for DecodeTimestamp analogues of // base::TimeDelta::is_inf(), media::kNoTimestamp and media::kInfiniteDuration. static_assert …; static_assert …; // Indicates an invalid or missing decode timestamp. constexpr DecodeTimestamp kNoDecodeTimestamp = …; // Similar to media::kInfiniteDuration, indicates a decode timestamp of positive // infinity. constexpr DecodeTimestamp kMaxDecodeTimestamp = …; class MEDIA_EXPORT StreamParserBuffer : public DecoderBuffer { … }; } // namespace media #endif // MEDIA_BASE_STREAM_PARSER_BUFFER_H_