Index: remoting/client/plugin/pepper_video_renderer_3d.cc |
diff --git a/remoting/client/plugin/pepper_video_renderer_3d.cc b/remoting/client/plugin/pepper_video_renderer_3d.cc |
index d83c7c44b7bed031ade511e415ea5228ad13559f..796415ad7b583a823ec71e0b9d5febafce2ea9f7 100644 |
--- a/remoting/client/plugin/pepper_video_renderer_3d.cc |
+++ b/remoting/client/plugin/pepper_video_renderer_3d.cc |
@@ -33,27 +33,34 @@ const uint32_t kMinimumPictureCount = 3; |
class PepperVideoRenderer3D::FrameTracker { |
public: |
FrameTracker(std::unique_ptr<VideoPacket> packet, |
- protocol::PerformanceTracker* perf_tracker, |
+ protocol::FrameStatsConsumer* stats_consumer, |
const base::Closure& done) |
- : packet_(std::move(packet)), perf_tracker_(perf_tracker), done_(done) { |
- stats_ = protocol::FrameStats::GetForVideoPacket(*packet_); |
+ : packet_(std::move(packet)), |
+ stats_consumer_(stats_consumer), |
+ done_(done) { |
+ stats_.host_stats = protocol::HostFrameStats::GetForVideoPacket(*packet_); |
+ stats_.client_stats.time_received = base::TimeTicks::Now(); |
} |
~FrameTracker() { |
- if (perf_tracker_) |
- perf_tracker_->RecordVideoFrameStats(stats_); |
+ if (stats_consumer_) |
+ stats_consumer_->OnVideoFrameStats(stats_); |
if (!done_.is_null()) |
done_.Run(); |
} |
- void OnDecoded() { stats_.time_decoded = base::TimeTicks::Now(); } |
- void OnRendered() { stats_.time_rendered = base::TimeTicks::Now(); } |
+ void OnDecoded() { |
+ stats_.client_stats.time_decoded = base::TimeTicks::Now(); |
+ } |
+ void OnRendered() { |
+ stats_.client_stats.time_rendered = base::TimeTicks::Now(); |
+ } |
VideoPacket* packet() { return packet_.get(); } |
private: |
std::unique_ptr<VideoPacket> packet_; |
- protocol::PerformanceTracker* perf_tracker_; |
+ protocol::FrameStatsConsumer* stats_consumer_; |
protocol::FrameStats stats_; |
base::Closure done_; |
}; |
@@ -104,8 +111,8 @@ void PepperVideoRenderer3D::EnableDebugDirtyRegion(bool enable) { |
bool PepperVideoRenderer3D::Initialize( |
const ClientContext& context, |
- protocol::PerformanceTracker* perf_tracker) { |
- perf_tracker_ = perf_tracker; |
+ protocol::FrameStatsConsumer* stats_consumer) { |
+ stats_consumer_ = stats_consumer; |
const int32_t context_attributes[] = { |
PP_GRAPHICS3DATTRIB_ALPHA_SIZE, 8, |
@@ -198,12 +205,16 @@ protocol::FrameConsumer* PepperVideoRenderer3D::GetFrameConsumer() { |
return nullptr; |
} |
+protocol::FrameStatsConsumer* PepperVideoRenderer3D::GetFrameStatsConsumer() { |
+ return stats_consumer_; |
+} |
+ |
void PepperVideoRenderer3D::ProcessVideoPacket( |
std::unique_ptr<VideoPacket> packet, |
const base::Closure& done) { |
VideoPacket* packet_ptr = packet.get(); |
std::unique_ptr<FrameTracker> frame_tracker( |
- new FrameTracker(std::move(packet), perf_tracker_, done)); |
+ new FrameTracker(std::move(packet), stats_consumer_, done)); |
// Don't need to do anything if the packet is empty. Host sends empty video |
// packets when the screen is not changing. |