#ifndef MEDIA_FORMATS_HLS_MEDIA_PLAYLIST_TEST_BUILDER_H_
#define MEDIA_FORMATS_HLS_MEDIA_PLAYLIST_TEST_BUILDER_H_
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/location.h"
#include "base/memory/raw_ptr.h"
#include "base/time/time.h"
#include "media/formats/hls/media_playlist.h"
#include "media/formats/hls/media_segment.h"
#include "media/formats/hls/playlist_test_builder.h"
#include "media/formats/hls/test_util.h"
#include "media/formats/hls/types.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"
namespace media::hls {
class MultivariantPlaylist;
class MediaPlaylistTestBuilder : public PlaylistTestBuilder<MediaPlaylist> { … };
inline void HasType(std::optional<PlaylistType> type,
const base::Location& from,
const MediaPlaylist& playlist) { … }
inline void HasTargetDuration(base::TimeDelta value,
const base::Location& from,
const MediaPlaylist& playlist) { … }
inline void HasComputedDuration(base::TimeDelta value,
const base::Location& from,
const MediaPlaylist& playlist) { … }
inline void HasPartialSegmentInfo(
std::optional<MediaPlaylist::PartialSegmentInfo> partial_segment_info,
const base::Location& from,
const MediaPlaylist& playlist) { … }
inline void HasMediaSequenceTag(bool value,
const base::Location& from,
const MediaPlaylist& playlist) { … }
inline void HasSkipBoundary(std::optional<base::TimeDelta> value,
const base::Location& from,
const MediaPlaylist& playlist) { … }
inline void CanSkipDateRanges(bool value,
const base::Location& from,
const MediaPlaylist& playlist) { … }
inline void HasHoldBackDistance(base::TimeDelta value,
const base::Location& from,
const MediaPlaylist& playlist) { … }
inline void HasPartHoldBackDistance(std::optional<base::TimeDelta> value,
const base::Location& from,
const MediaPlaylist& playlist) { … }
inline void CanBlockReload(bool value,
const base::Location& from,
const MediaPlaylist& playlist) { … }
inline void HasDuration(base::TimeDelta duration,
const base::Location& from,
const MediaSegment& segment) { … }
inline void HasMediaSequenceNumber(types::DecimalInteger number,
const base::Location& from,
const MediaSegment& segment) { … }
inline void HasEncryptionData(
std::optional<std::tuple<GURL,
XKeyTagMethod,
XKeyTagKeyFormat,
MediaSegment::EncryptionData::IVContainer>> pack,
const base::Location& from,
const MediaSegment& segment) { … }
inline void HasDiscontinuitySequenceNumber(types::DecimalInteger number,
const base::Location& from,
const MediaSegment& segment) { … }
inline void HasUri(GURL uri,
const base::Location& from,
const MediaSegment& segment) { … }
inline void HasInitializationSegment(
scoped_refptr<MediaSegment::InitializationSegment> expected,
const base::Location& from,
const MediaSegment& segment) { … }
inline void HasByteRange(std::optional<types::ByteRange> range,
const base::Location& from,
const MediaSegment& segment) { … }
inline void HasBitRate(std::optional<types::DecimalInteger> bitrate,
const base::Location& from,
const MediaSegment& segment) { … }
inline void HasDiscontinuity(bool value,
const base::Location& from,
const MediaSegment& segment) { … }
inline void IsGap(bool value,
const base::Location& from,
const MediaSegment& segment) { … }
inline void IsEndList(bool value,
const base::Location& from,
const MediaPlaylist& playlist) { … }
inline void IsIFramesOnly(bool value,
const base::Location& from,
const MediaPlaylist& playlist) { … }
}
#endif