summaryrefslogtreecommitdiffstats
path: root/chromecast
diff options
context:
space:
mode:
authorhalliwell <halliwell@chromium.org>2015-12-15 15:01:34 -0800
committerCommit bot <commit-bot@chromium.org>2015-12-15 23:02:19 +0000
commitbe626ffba26425c38c3418c8d27f3bb43460d1e6 (patch)
treec6fee187490c55aa8545f6402f8c15978ac1d9c8 /chromecast
parentb460625d15a1ea80272d125a63233d823d095a1d (diff)
downloadchromium_src-be626ffba26425c38c3418c8d27f3bb43460d1e6.zip
chromium_src-be626ffba26425c38c3418c8d27f3bb43460d1e6.tar.gz
chromium_src-be626ffba26425c38c3418c8d27f3bb43460d1e6.tar.bz2
[Chromecast] Remove unused fields from CMA backend statistics
Separate Decoder::Statistics into audio and video-specific structs so there are no unused fields. BUG=internal b/25379144 Review URL: https://codereview.chromium.org/1528793003 Cr-Commit-Position: refs/heads/master@{#365370}
Diffstat (limited to 'chromecast')
-rw-r--r--chromecast/media/cma/pipeline/audio_pipeline_impl.cc6
-rw-r--r--chromecast/media/cma/pipeline/video_pipeline_impl.cc10
-rw-r--r--chromecast/public/media/media_pipeline_backend.h35
3 files changed, 31 insertions, 20 deletions
diff --git a/chromecast/media/cma/pipeline/audio_pipeline_impl.cc b/chromecast/media/cma/pipeline/audio_pipeline_impl.cc
index 2f051eb..5edc017 100644
--- a/chromecast/media/cma/pipeline/audio_pipeline_impl.cc
+++ b/chromecast/media/cma/pipeline/audio_pipeline_impl.cc
@@ -73,11 +73,11 @@ void AudioPipelineImpl::UpdateStatistics() {
if (client().statistics_cb.is_null())
return;
- MediaPipelineBackend::Decoder::Statistics device_stats;
- audio_decoder_->GetStatistics(&device_stats);
+ MediaPipelineBackend::AudioDecoder::Statistics audio_stats;
+ audio_decoder_->GetStatistics(&audio_stats);
::media::PipelineStatistics current_stats;
- current_stats.audio_bytes_decoded = device_stats.decoded_bytes;
+ current_stats.audio_bytes_decoded = audio_stats.decoded_bytes;
::media::PipelineStatistics delta_stats;
delta_stats.audio_bytes_decoded =
diff --git a/chromecast/media/cma/pipeline/video_pipeline_impl.cc b/chromecast/media/cma/pipeline/video_pipeline_impl.cc
index 61ec7dd..1888776 100644
--- a/chromecast/media/cma/pipeline/video_pipeline_impl.cc
+++ b/chromecast/media/cma/pipeline/video_pipeline_impl.cc
@@ -101,13 +101,13 @@ void VideoPipelineImpl::UpdateStatistics() {
if (client().statistics_cb.is_null())
return;
- MediaPipelineBackend::Decoder::Statistics device_stats;
- video_decoder_->GetStatistics(&device_stats);
+ MediaPipelineBackend::VideoDecoder::Statistics video_stats;
+ video_decoder_->GetStatistics(&video_stats);
::media::PipelineStatistics current_stats;
- current_stats.video_bytes_decoded = device_stats.decoded_bytes;
- current_stats.video_frames_decoded = device_stats.decoded_samples;
- current_stats.video_frames_dropped = device_stats.dropped_samples;
+ current_stats.video_bytes_decoded = video_stats.decoded_bytes;
+ current_stats.video_frames_decoded = video_stats.decoded_frames;
+ current_stats.video_frames_dropped = video_stats.dropped_frames;
::media::PipelineStatistics delta_stats;
delta_stats.video_bytes_decoded =
diff --git a/chromecast/public/media/media_pipeline_backend.h b/chromecast/public/media/media_pipeline_backend.h
index febd2523..d3739de 100644
--- a/chromecast/public/media/media_pipeline_backend.h
+++ b/chromecast/public/media/media_pipeline_backend.h
@@ -73,14 +73,6 @@ class MediaPipelineBackend {
virtual ~Delegate() {}
};
- // Statistics (computed since pipeline last started playing).
- // For video, a sample is defined as a frame.
- struct Statistics {
- uint64_t decoded_bytes;
- uint64_t decoded_samples;
- uint64_t dropped_samples;
- };
-
// Provides the delegate for this decoder. Called once before the backend
// is initialized; is never called after the backend is initialized.
virtual void SetDelegate(Delegate* delegate) = 0;
@@ -104,10 +96,6 @@ class MediaPipelineBackend {
// calling OnPushBufferComplete() for kBufferPending case).
virtual BufferStatus PushBuffer(CastDecoderBuffer* buffer) = 0;
- // Returns the playback statistics since this decoder's creation. Only
- // called when playing or paused.
- virtual void GetStatistics(Statistics* statistics) = 0;
-
protected:
virtual ~Decoder() {}
};
@@ -128,6 +116,13 @@ class MediaPipelineBackend {
int64_t timestamp_microseconds;
};
+ // Statistics (computed since last call to backend Start).
+ struct Statistics {
+ // Reported as webkitAudioBytesDecoded. Counts number of source bytes
+ // decoded (not decoder output bytes).
+ uint64_t decoded_bytes;
+ };
+
// Provides the audio configuration. Called once before the backend is
// initialized, and again any time the configuration changes (in any state).
// Note that SetConfig() may be called before SetDelegate() is called.
@@ -146,18 +141,34 @@ class MediaPipelineBackend {
// Only called when the backend is playing.
virtual RenderingDelay GetRenderingDelay() = 0;
+ // Returns the playback statistics since last call to backend Start. Only
+ // called when playing or paused.
+ virtual void GetStatistics(Statistics* statistics) = 0;
+
protected:
~AudioDecoder() override {}
};
class VideoDecoder : public Decoder {
public:
+ // Statistics (computed since last call to backend Start).
+ struct Statistics {
+ // Counts number of source bytes decoded (not decoder output).
+ uint64_t decoded_bytes; // Reported as webkitVideoBytesDecoded.
+ uint64_t decoded_frames; // Reported as webkitDecodedFrames.
+ uint64_t dropped_frames; // Reported as webkitDroppedFrames.
+ };
+
// Provides the video configuration. Called once before the backend is
// initialized, and again any time the configuration changes (in any state).
// Note that SetConfig() may be called before SetDelegate() is called.
// Returns true if the configuration is a supported configuration.
virtual bool SetConfig(const VideoConfig& config) = 0;
+ // Returns the playback statistics since last call to backend Start. Only
+ // called when playing or paused.
+ virtual void GetStatistics(Statistics* statistics) = 0;
+
protected:
~VideoDecoder() override {}
};