Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(485)

Unified Diff: remoting/client/plugin/pepper_video_renderer_3d.cc

Issue 2113523007: More cleanups in FrameStats (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix android Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « remoting/client/plugin/pepper_video_renderer_3d.h ('k') | remoting/client/software_video_renderer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.
« no previous file with comments | « remoting/client/plugin/pepper_video_renderer_3d.h ('k') | remoting/client/software_video_renderer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698