#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "media/formats/hls/media_segment.h"
#include "base/numerics/byte_conversions.h"
#include "base/strings/string_util.h"
#include "base/time/time.h"
#include "media/formats/hls/types.h"
#include "url/gurl.h"
namespace media::hls {
MediaSegment::InitializationSegment::InitializationSegment(
GURL uri,
std::optional<types::ByteRange> byte_range)
: … { … }
MediaSegment::InitializationSegment::~InitializationSegment() = default;
MediaSegment::EncryptionData::EncryptionData(
GURL uri,
XKeyTagMethod method,
XKeyTagKeyFormat format,
MediaSegment::EncryptionData::IVContainer iv)
: … { … }
MediaSegment::EncryptionData::~EncryptionData() = default;
MediaSegment::EncryptionData::IVContainer MediaSegment::EncryptionData::GetIV(
types::DecimalInteger media_sequence_number) const { … }
std::optional<std::string> MediaSegment::EncryptionData::GetIVStr(
types::DecimalInteger media_sequence_number) const { … }
void MediaSegment::EncryptionData::ImportKey(std::string_view key_content) { … }
MediaSegment::MediaSegment(
base::TimeDelta duration,
types::DecimalInteger media_sequence_number,
types::DecimalInteger discontinuity_sequence_number,
GURL uri,
scoped_refptr<InitializationSegment> initialization_segment,
scoped_refptr<EncryptionData> encryption_data,
std::optional<types::ByteRange> byte_range,
std::optional<types::DecimalInteger> bitrate,
bool has_discontinuity,
bool is_gap,
bool has_new_init_segment,
bool has_new_encryption_data)
: … { … }
MediaSegment::~MediaSegment() = default;
}