Shaka Packager SDK
Loading...
Searching...
No Matches
mock_mpd_builder.h
1// Copyright 2015 Google LLC. All rights reserved.
2//
3// Use of this source code is governed by a BSD-style
4// license that can be found in the LICENSE file or at
5// https://developers.google.com/open-source/licenses/bsd
6
7#ifndef MPD_BASE_MOCK_MPD_BUILDER_H_
8#define MPD_BASE_MOCK_MPD_BUILDER_H_
9
10#include <absl/synchronization/mutex.h>
11#include <gmock/gmock.h>
12
13#include <packager/macros/classes.h>
14#include <packager/mpd/base/adaptation_set.h>
15#include <packager/mpd/base/content_protection_element.h>
16#include <packager/mpd/base/mpd_builder.h>
17#include <packager/mpd/base/period.h>
18#include <packager/mpd/base/representation.h>
19
20namespace shaka {
21
22class MockMpdBuilder : public MpdBuilder {
23 public:
25 ~MockMpdBuilder() override;
26
27 MOCK_METHOD1(GetOrCreatePeriod, Period*(double start_time_in_seconds));
28 MOCK_METHOD1(ToString, bool(std::string* output));
29};
30
31class MockPeriod : public Period {
32 public:
33 MockPeriod(uint32_t period_id, double start_time_in_seconds);
34
35 MOCK_METHOD2(GetOrCreateAdaptationSet,
36 AdaptationSet*(const MediaInfo& media_info,
37 bool content_protection_in_adaptation_set));
38
39 private:
40 // Only for constructing the super class. Not used for testing.
41 uint32_t sequence_counter_ = 0;
42};
43
45 public:
47 ~MockAdaptationSet() override;
48
49 MOCK_METHOD1(AddRepresentation, Representation*(const MediaInfo& media_info));
50 MOCK_METHOD1(CopyRepresentation,
51 Representation*(const Representation& representation));
52 MOCK_METHOD1(AddContentProtectionElement,
53 void(const ContentProtectionElement& element));
54 MOCK_METHOD2(UpdateContentProtectionPssh,
55 void(const std::string& drm_uuid, const std::string& pssh));
56 MOCK_METHOD1(AddRole, void(AdaptationSet::Role role));
57 MOCK_METHOD1(ForceSetSegmentAlignment, void(bool segment_alignment));
58 MOCK_METHOD1(AddAdaptationSetSwitching,
59 void(const AdaptationSet* adaptation_set));
60 MOCK_METHOD1(AddTrickPlayReference,
61 void(const AdaptationSet* adaptation_set));
62
63 private:
64 // Only for constructing the super class. Not used for testing.
65 uint32_t sequence_counter_ = 0;
66};
67
69 public:
70 // |representation_id| is the numeric ID for the <Representation>.
71 explicit MockRepresentation(uint32_t representation_id);
72 ~MockRepresentation() override;
73
74 MOCK_METHOD1(AddContentProtectionElement,
75 void(const ContentProtectionElement& element));
76 MOCK_METHOD2(UpdateContentProtectionPssh,
77 void(const std::string& drm_uuid, const std::string& pssh));
78 MOCK_METHOD4(AddNewSegment,
79 void(int64_t start_time,
80 int64_t duration,
81 uint64_t size,
82 int64_t segment_number));
83 MOCK_METHOD0(SetSegmentDuration, void());
84 MOCK_METHOD0(SetAvailabilityTimeOffset, void());
85 MOCK_METHOD1(SetSampleDuration, void(int32_t sample_duration));
86 MOCK_CONST_METHOD0(GetMediaInfo, const MediaInfo&());
87};
88
89} // namespace shaka
90
91#endif // MPD_BASE_MOCK_MPD_BUILDER_H_
virtual Representation * AddRepresentation(const MediaInfo &media_info)
virtual void AddContentProtectionElement(const ContentProtectionElement &element)
virtual void ForceSetSegmentAlignment(bool segment_alignment)
virtual Representation * CopyRepresentation(const Representation &representation)
virtual void AddTrickPlayReference(const AdaptationSet *adaptation_set)
virtual void AddAdaptationSetSwitching(const AdaptationSet *adaptation_set)
virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
virtual void AddRole(Role role)
This class generates DASH MPDs (Media Presentation Descriptions).
Definition mpd_builder.h:37
virtual Period * GetOrCreatePeriod(double start_time_in_seconds)
virtual bool ToString(std::string *output)
virtual AdaptationSet * GetOrCreateAdaptationSet(const MediaInfo &media_info, bool content_protection_in_adaptation_set)
Definition period.cc:75
double start_time_in_seconds() const
Definition period.h:55
virtual void AddContentProtectionElement(const ContentProtectionElement &element)
virtual void AddNewSegment(int64_t start_time, int64_t duration, uint64_t size, int64_t segment_number)
virtual void UpdateContentProtectionPssh(const std::string &drm_uuid, const std::string &pssh)
virtual const MediaInfo & GetMediaInfo() const
virtual void SetSampleDuration(int32_t sample_duration)
All the methods that are virtual are virtual for mocking.