Index: media/base/android/media_codec_decoder.h |
diff --git a/media/base/android/media_codec_decoder.h b/media/base/android/media_codec_decoder.h |
index 0a3033e03cf5c1ff208d89757cc33af843d9ce67..8385d60573a74d31c9f3ae5eb183f9467d0ec39b 100644 |
--- a/media/base/android/media_codec_decoder.h |
+++ b/media/base/android/media_codec_decoder.h |
@@ -19,6 +19,7 @@ |
namespace media { |
+struct FrameStatistics; |
class MediaCodecBridge; |
// The decoder for MediaCodecPlayer. |
@@ -137,10 +138,15 @@ class MediaCodecDecoder { |
// MediaCodecDecoder constructor. |
// Parameters: |
+ // decoder_thread_name: |
+ // The thread name to be passed to decoder thread constructor. |
// media_task_runner: |
// A task runner for the controlling thread. All public methods should be |
// called on this thread, and callbacks are delivered on this thread. |
// The MediaCodecPlayer uses a dedicated (Media) thread for this. |
+ // frame_statistics: |
+ // A pointer to FrameStatistics object which gathers playback quality |
+ // related data. |
// external_request_data_cb: |
// Called periodically as the amount of internally stored data decreases. |
// The receiver should call OnDemuxerDataAvailable() with more data. |
@@ -157,17 +163,17 @@ class MediaCodecDecoder { |
// error_cb: |
// Called when a MediaCodec error occurred. If this happens, a player has |
// to either call ReleaseDecoderResources() or destroy the decoder object. |
- // decoder_thread_name: |
- // The thread name to be passed to decoder thread constructor. |
MediaCodecDecoder( |
+ const char* decoder_thread_name, |
const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner, |
+ FrameStatistics* frame_statistics, |
const base::Closure& external_request_data_cb, |
const base::Closure& starvation_cb, |
const base::Closure& decoder_drained_cb, |
const base::Closure& stop_done_cb, |
const base::Closure& waiting_for_decryption_key_cb, |
- const base::Closure& error_cb, |
- const char* decoder_thread_name); |
+ const base::Closure& error_cb); |
+ |
virtual ~MediaCodecDecoder(); |
virtual const char* class_name() const; |
@@ -310,16 +316,18 @@ class MediaCodecDecoder { |
// Protected data. |
+ // We call MediaCodecBridge on this thread for both input and output buffers. |
+ base::Thread decoder_thread_; |
+ |
// Object for posting tasks on Media thread. |
scoped_refptr<base::SingleThreadTaskRunner> media_task_runner_; |
+ // Statistics for UMA. |
+ FrameStatistics* frame_statistics_; |
+ |
// Controls Android MediaCodec |
scoped_ptr<MediaCodecBridge> media_codec_bridge_; |
- // We call MediaCodecBridge on this thread for both |
- // input and output buffers. |
- base::Thread decoder_thread_; |
- |
// The queue of access units. |
AccessUnitQueue au_queue_; |