diff options
author | ajwong@chromium.org <ajwong@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-04 21:49:12 +0000 |
---|---|---|
committer | ajwong@chromium.org <ajwong@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-04 21:49:12 +0000 |
commit | 83337270c01c66378d443f5c3d15926cac164747 (patch) | |
tree | a94d2b86aa74a0fa15a5f9404f4abc6c7cc725e4 /media/audio/audio_output.h | |
parent | cdf6cc8f2b5036894359123804d28b92b9cfa9ee (diff) | |
download | chromium_src-83337270c01c66378d443f5c3d15926cac164747.zip chromium_src-83337270c01c66378d443f5c3d15926cac164747.tar.gz chromium_src-83337270c01c66378d443f5c3d15926cac164747.tar.bz2 |
Reimplement the AlsaPcmOutputStream and fix the threading issues.
Changes the threading model from one thread per stream to one shared thread. Also, redoes the alsa reading/buffering logic to assume an asynchronous data source, and respect the different packet sizes. The Alsa device is set to non-blocking now. State transitions are cleaned up, and the threading semantics are reworked. Now linux audio will no longer crash on shutdown, seek, pause, or tab close. This implementation does still leak though. :( The leak will be fixed in another CL.
Review URL: http://codereview.chromium.org/160497
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22414 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/audio/audio_output.h')
-rw-r--r-- | media/audio/audio_output.h | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/media/audio/audio_output.h b/media/audio/audio_output.h index a12742e..14c0828 100644 --- a/media/audio/audio_output.h +++ b/media/audio/audio_output.h @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. +// Copyright (c) 2008-2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -43,11 +43,9 @@ class AudioOutputStream { public: enum State { STATE_CREATED = 0, // The output stream is created. - STATE_OPENED, // The output stream is opened. STATE_STARTED, // The output stream is started. STATE_PAUSED, // The output stream is paused. STATE_STOPPED, // The output stream is stopped. - STATE_CLOSING, // The output stream is being closed. STATE_CLOSED, // The output stream is closed. STATE_ERROR, // The output stream is in error state. }; |