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

Unified Diff: media/filters/audio_renderer_base.h

Issue 155695: Replace the guts of AudioRendererBase with calls to scaling algorithm. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 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 | « media/filters/audio_renderer_algorithm_base.cc ('k') | media/filters/audio_renderer_base.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/filters/audio_renderer_base.h
===================================================================
--- media/filters/audio_renderer_base.h (revision 22189)
+++ media/filters/audio_renderer_base.h (working copy)
@@ -24,6 +24,7 @@
#include "media/base/buffers.h"
#include "media/base/factory.h"
#include "media/base/filters.h"
+#include "media/filters/audio_renderer_algorithm_base.h"
namespace media {
@@ -40,11 +41,8 @@
virtual void Initialize(AudioDecoder* decoder, FilterCallback* callback);
protected:
- // The default maximum size of the queue.
- static const size_t kDefaultMaxQueueSize;
-
// Only allow a factory to create this class.
- explicit AudioRendererBase(size_t max_queue_size);
+ AudioRendererBase();
virtual ~AudioRendererBase();
// Called by Initialize(). |media_format| is the format of the AudioDecoder.
@@ -60,10 +58,9 @@
// |pending_reads_|.
virtual void OnReadComplete(Buffer* buffer_in);
- // Fills the given buffer with audio data by dequeuing buffers and copying the
- // data into the |dest|. FillBuffer() also takes care of updating the clock.
- // Returns the number of bytes copied into |dest|, which may be less than
- // equal to |len|.
+ // Fills the given buffer with audio data by delegating to its |algorithm_|.
+ // FillBuffer() also takes care of updating the clock. Returns the number of
+ // bytes copied into |dest|, which may be less than or equal to |len|.
//
// If this method is returns less bytes than |len| (including zero), it could
// be a sign that the pipeline is stalled or unable to stream the data fast
@@ -80,7 +77,6 @@
// Safe to call on any thread.
size_t FillBuffer(uint8* dest,
size_t len,
- float rate,
const base::TimeDelta& playback_delay);
// Helper to parse a media format and return whether we were successful
@@ -89,6 +85,10 @@
int* channels_out, int* sample_rate_out,
int* sample_bits_out);
+ // Get/Set the playback rate of |algorithm_|.
+ virtual void SetPlaybackRate(float playback_rate);
+ virtual float GetPlaybackRate();
+
private:
// Helper method that schedules an asynchronous read from the decoder and
// increments |pending_reads_|.
@@ -99,17 +99,11 @@
// Audio decoder.
scoped_refptr<AudioDecoder> decoder_;
- // Maximum queue size, configuration parameter passed in during construction.
- size_t max_queue_size_;
+ // Algorithm for scaling audio.
+ scoped_ptr<AudioRendererAlgorithmBase> algorithm_;
- // Queued audio data.
- typedef std::deque< scoped_refptr<Buffer> > BufferQueue;
- BufferQueue queue_;
Lock lock_;
- // Remembers the amount of remaining audio data for the front buffer.
- size_t data_offset_;
-
// Simple state tracking variable.
enum State {
kUninitialized,
« no previous file with comments | « media/filters/audio_renderer_algorithm_base.cc ('k') | media/filters/audio_renderer_base.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698