50 return impl_->timestamp;
62 return impl_->fromAdaptation;
66 return impl_->bandwidth;
72 ret.timestamp = impl_->timestamp;
74 ret.type = impl_->type;
75 ret.fromAdaptation = impl_->fromAdaptation;
76 ret.bandwidth = impl_->bandwidth;
84 const std::string state{};
85 const double duration{};
104 return impl_->timestamp;
112 return impl_->duration;
118 ret.timestamp = impl_->timestamp;
119 ret.state = impl_->state;
120 ret.duration = impl_->duration;
129 const double streamBandwidth{};
130 const double decodedFrames{};
131 const double droppedFrames{};
132 const double estimatedBandwidth{};
133 const double loadLatency{};
134 const double playTime{};
135 const double bufferingTime{};
136 const std::vector<shaka::TrackChoice> switchHistory{};
137 const std::vector<shaka::StateChange> stateHistory{};
143 streamBandwidth(
std::move(
internal.streamBandwidth)),
146 estimatedBandwidth(
std::move(
internal.estimatedBandwidth)),
150 switchHistory(
std::make_move_iterator(
internal.switchHistory.begin()),
std::make_move_iterator(
internal.switchHistory.end())),
151 stateHistory(
std::make_move_iterator(
internal.stateHistory.begin()),
std::make_move_iterator(
internal.stateHistory.end())) {}
168 return impl_->height;
172 return impl_->streamBandwidth;
176 return impl_->decodedFrames;
180 return impl_->droppedFrames;
184 return impl_->estimatedBandwidth;
188 return impl_->loadLatency;
192 return impl_->playTime;
196 return impl_->bufferingTime;
200 return impl_->switchHistory;
204 return impl_->stateHistory;
210 ret.width = impl_->width;
211 ret.height = impl_->height;
212 ret.streamBandwidth = impl_->streamBandwidth;
213 ret.decodedFrames = impl_->decodedFrames;
214 ret.droppedFrames = impl_->droppedFrames;
215 ret.estimatedBandwidth = impl_->estimatedBandwidth;
216 ret.loadLatency = impl_->loadLatency;
217 ret.playTime = impl_->playTime;
218 ret.bufferingTime = impl_->bufferingTime;
219 for (
const auto& item : impl_->switchHistory) {
220 ret.switchHistory.emplace_back(item.GetInternal());
222 for (
const auto& item : impl_->stateHistory) {
223 ret.stateHistory.emplace_back(item.GetInternal());
const shaka::optional< double > bandwidth
double stream_bandwidth() const
const bool fromAdaptation
double estimated_bandwidth() const
const std::string & type() const
const std::vector< shaka::StateChange > & state_history() const
const std::vector< shaka::TrackChoice > & switch_history() const
js::StateChange GetInternal() const
Impl(js::StateChange &&internal)
const std::string & state() const
double load_latency() const
TrackChoice & operator=(const TrackChoice &)
Stats & operator=(const Stats &)
bool from_adaptation() const
StateChange & operator=(const StateChange &)
Impl(js::TrackChoice &&internal)
js::TrackChoice GetInternal() const
double decoded_frames() const
Impl(js::Stats &&internal)
js::Stats GetInternal() const
double buffering_time() const
double dropped_frames() const
shaka::optional< double > bandwidth() const