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

Side by Side Diff: media/base/pipeline.h

Issue 9864022: Move DataSource::SetPreload() to BufferedDataSource. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src
Patch Set: Created 8 years, 9 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef MEDIA_BASE_PIPELINE_H_ 5 #ifndef MEDIA_BASE_PIPELINE_H_
6 #define MEDIA_BASE_PIPELINE_H_ 6 #define MEDIA_BASE_PIPELINE_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/gtest_prod_util.h" 10 #include "base/gtest_prod_util.h"
11 #include "base/synchronization/condition_variable.h" 11 #include "base/synchronization/condition_variable.h"
12 #include "base/synchronization/lock.h" 12 #include "base/synchronization/lock.h"
13 #include "media/base/demuxer.h" 13 #include "media/base/demuxer.h"
14 #include "media/base/download_rate_monitor.h" 14 #include "media/base/download_rate_monitor.h"
15 #include "media/base/filter_host.h" 15 #include "media/base/filter_host.h"
16 #include "media/base/media_export.h" 16 #include "media/base/media_export.h"
17 #include "media/base/pipeline_status.h" 17 #include "media/base/pipeline_status.h"
18 #include "media/base/preload.h"
19 #include "ui/gfx/size.h" 18 #include "ui/gfx/size.h"
20 19
21 class MessageLoop; 20 class MessageLoop;
22 21
23 namespace base { 22 namespace base {
24 class TimeDelta; 23 class TimeDelta;
25 } 24 }
26 25
27 namespace media { 26 namespace media {
28 27
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 // Gets the current volume setting being used by the audio renderer. When 197 // Gets the current volume setting being used by the audio renderer. When
199 // the pipeline is started, this value will be 1.0f. Valid values range 198 // the pipeline is started, this value will be 1.0f. Valid values range
200 // from 0.0f to 1.0f. 199 // from 0.0f to 1.0f.
201 float GetVolume() const; 200 float GetVolume() const;
202 201
203 // Attempt to set the volume of the audio renderer. Valid values for volume 202 // Attempt to set the volume of the audio renderer. Valid values for volume
204 // range from 0.0f (muted) to 1.0f (full volume). This value affects all 203 // range from 0.0f (muted) to 1.0f (full volume). This value affects all
205 // channels proportionately for multi-channel audio streams. 204 // channels proportionately for multi-channel audio streams.
206 void SetVolume(float volume); 205 void SetVolume(float volume);
207 206
208 // Set the preload value for the pipeline.
209 void SetPreload(Preload preload);
210
211 // Gets the current pipeline time. For a pipeline "time" progresses from 0 to 207 // Gets the current pipeline time. For a pipeline "time" progresses from 0 to
212 // the end of the media. 208 // the end of the media.
213 base::TimeDelta GetCurrentTime() const; 209 base::TimeDelta GetCurrentTime() const;
214 210
215 // Get the approximate amount of playable data buffered so far in micro- 211 // Get the approximate amount of playable data buffered so far in micro-
216 // seconds. 212 // seconds.
217 base::TimeDelta GetBufferedTime(); 213 base::TimeDelta GetBufferedTime();
218 214
219 // Get the duration of the media in microseconds. If the duration has not 215 // Get the duration of the media in microseconds. If the duration has not
220 // been determined yet, then returns 0. 216 // been determined yet, then returns 0.
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
371 // Carries out stopping and destroying all filters, placing the pipeline in 367 // Carries out stopping and destroying all filters, placing the pipeline in
372 // the kError state. 368 // the kError state.
373 void ErrorChangedTask(PipelineStatus error); 369 void ErrorChangedTask(PipelineStatus error);
374 370
375 // Carries out notifying filters that the playback rate has changed. 371 // Carries out notifying filters that the playback rate has changed.
376 void PlaybackRateChangedTask(float playback_rate); 372 void PlaybackRateChangedTask(float playback_rate);
377 373
378 // Carries out notifying filters that the volume has changed. 374 // Carries out notifying filters that the volume has changed.
379 void VolumeChangedTask(float volume); 375 void VolumeChangedTask(float volume);
380 376
381 // Returns media preload value.
382 virtual Preload GetPreload() const;
383
384 // Carries out notifying filters that the preload value has changed.
385 void PreloadChangedTask(Preload preload);
386
387 // Carries out notifying filters that we are seeking to a new timestamp. 377 // Carries out notifying filters that we are seeking to a new timestamp.
388 void SeekTask(base::TimeDelta time, const PipelineStatusCB& seek_cb); 378 void SeekTask(base::TimeDelta time, const PipelineStatusCB& seek_cb);
389 379
390 // Carries out handling a notification from a filter that it has ended. 380 // Carries out handling a notification from a filter that it has ended.
391 void NotifyEndedTask(); 381 void NotifyEndedTask();
392 382
393 // Carries out handling a notification of network event. 383 // Carries out handling a notification of network event.
394 void NotifyNetworkEventTask(NetworkEvent type); 384 void NotifyNetworkEventTask(NetworkEvent type);
395 385
396 // Carries out disabling the audio renderer. 386 // Carries out disabling the audio renderer.
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
519 509
520 // Indicates whether the data source is local, such as a local media file 510 // Indicates whether the data source is local, such as a local media file
521 // from disk or a local webcam stream. 511 // from disk or a local webcam stream.
522 bool local_source_; 512 bool local_source_;
523 513
524 // Current volume level (from 0.0f to 1.0f). This value is set immediately 514 // Current volume level (from 0.0f to 1.0f). This value is set immediately
525 // via SetVolume() and a task is dispatched on the message loop to notify the 515 // via SetVolume() and a task is dispatched on the message loop to notify the
526 // filters. 516 // filters.
527 float volume_; 517 float volume_;
528 518
529 // Current value of preload attribute. This value is set immediately via
530 // SetPreload() and a task is dispatched on the message loop to notify the
531 // filters.
532 Preload preload_;
533
534 // Current playback rate (>= 0.0f). This value is set immediately via 519 // Current playback rate (>= 0.0f). This value is set immediately via
535 // SetPlaybackRate() and a task is dispatched on the message loop to notify 520 // SetPlaybackRate() and a task is dispatched on the message loop to notify
536 // the filters. 521 // the filters.
537 float playback_rate_; 522 float playback_rate_;
538 523
539 // Playback rate to set when the current seek has finished. 524 // Playback rate to set when the current seek has finished.
540 float pending_playback_rate_; 525 float pending_playback_rate_;
541 526
542 // Reference clock. Keeps track of current playback time. Uses system 527 // Reference clock. Keeps track of current playback time. Uses system
543 // clock and linear interpolation, but can have its time manually set 528 // clock and linear interpolation, but can have its time manually set
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
632 617
633 // True if the pipeline is actively downloading bytes, false otherwise. 618 // True if the pipeline is actively downloading bytes, false otherwise.
634 bool is_downloading_data_; 619 bool is_downloading_data_;
635 620
636 DISALLOW_COPY_AND_ASSIGN(Pipeline); 621 DISALLOW_COPY_AND_ASSIGN(Pipeline);
637 }; 622 };
638 623
639 } // namespace media 624 } // namespace media
640 625
641 #endif // MEDIA_BASE_PIPELINE_H_ 626 #endif // MEDIA_BASE_PIPELINE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698