This CL adds a new factory method called AudioDeviceFactory. It is a template based factory which allows the user to create a media::AudioRenderSink implementation (AudioDevice) using a factory which is created once and then distributed to all clients.
Advantages:
+ We can mock (or try alternative implementations of) AudioDevice for all clients at one centralized place.
+ The factory now owns the audio message filter, hence the restriction that each client must be created on the main renderer thread should now be removed.
BUG=none
TEST=content_unittests, misc. WebRTC demos, WebAudio demos and <audio> tag demos.
Review URL: https://chromiumcodereview.appspot.com/
10537121
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144888 0039d316-1c4b-4281-b951-d872f2087c98