Changeset 138895 in webkit


Ignore:
Timestamp:
Jan 5, 2013 12:04:35 PM (11 years ago)
Author:
crogers@google.com
Message:

Implement MediaStreamSource::setAudioFormat()
https://bugs.webkit.org/show_bug.cgi?id=106053

Reviewed by Kenneth Russell.

Source/Platform:

  • chromium/public/WebAudioDestinationConsumer.h:

(WebAudioDestinationConsumer):

Source/WebCore:

MediaStreamAudioDestinationNode needs to be able to tell its associated
MediaStreamSource about the audio format (number of channels and sample-rate).

  • Modules/webaudio/MediaStreamAudioDestinationNode.cpp:

(WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):

  • platform/audio/AudioDestinationConsumer.h:

(AudioDestinationConsumer):

  • platform/chromium/support/WebMediaStreamSource.cpp:

(ConsumerWrapper):
(WebKit::ConsumerWrapper::setFormat):
(WebKit):

  • platform/mediastream/MediaStreamSource.cpp:

(WebCore::MediaStreamSource::setAudioFormat):
(WebCore):

  • platform/mediastream/MediaStreamSource.h:

(MediaStreamSource):

Location:
trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/Platform/ChangeLog

    r138831 r138895  
     12013-01-05  Chris Rogers  <crogers@google.com>
     2
     3        Implement MediaStreamSource::setAudioFormat()
     4        https://bugs.webkit.org/show_bug.cgi?id=106053
     5
     6        Reviewed by Kenneth Russell.
     7
     8        * chromium/public/WebAudioDestinationConsumer.h:
     9        (WebAudioDestinationConsumer):
     10
    1112013-01-04  James Robinson  <jamesr@chromium.org>
    212
  • trunk/Source/Platform/chromium/public/WebAudioDestinationConsumer.h

    r135985 r138895  
    3434    virtual ~WebAudioDestinationConsumer() { }
    3535
     36    virtual void setFormat(size_t numberOfChannels, float sampleRate) = 0;
     37
    3638    // The size of the vector is the number of audio channels, and numberOfFrames is the
    3739    // number of audio frames in the (possibly multi-channel) buffer in a planar format.
  • trunk/Source/WebCore/ChangeLog

    r138891 r138895  
     12013-01-05  Chris Rogers  <crogers@google.com>
     2
     3        Implement MediaStreamSource::setAudioFormat()
     4        https://bugs.webkit.org/show_bug.cgi?id=106053
     5
     6        Reviewed by Kenneth Russell.
     7
     8        MediaStreamAudioDestinationNode needs to be able to tell its associated
     9        MediaStreamSource about the audio format (number of channels and sample-rate).
     10
     11        * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
     12        (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
     13        * platform/audio/AudioDestinationConsumer.h:
     14        (AudioDestinationConsumer):
     15        * platform/chromium/support/WebMediaStreamSource.cpp:
     16        (ConsumerWrapper):
     17        (WebKit::ConsumerWrapper::setFormat):
     18        (WebKit):
     19        * platform/mediastream/MediaStreamSource.cpp:
     20        (WebCore::MediaStreamSource::setAudioFormat):
     21        (WebCore):
     22        * platform/mediastream/MediaStreamSource.h:
     23        (MediaStreamSource):
     24
    1252013-01-05  Zeno Albisser  <zeno@webkit.org>
    226
  • trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioDestinationNode.cpp

    r135985 r138895  
    5757    MediaStreamCenter::instance().didCreateMediaStream(m_stream->descriptor());
    5858
     59    m_source->setAudioFormat(numberOfChannels, context->sampleRate());
     60
    5961    initialize();
    6062}
  • trunk/Source/WebCore/platform/audio/AudioDestinationConsumer.h

    r135985 r138895  
    4242    virtual ~AudioDestinationConsumer() { }
    4343
     44    virtual void setFormat(size_t numberOfChannels, float sampleRate) = 0;
    4445    virtual void consumeAudio(AudioBus*, size_t numberOfFrames) = 0;
    4546};
  • trunk/Source/WebCore/platform/chromium/support/WebMediaStreamSource.cpp

    r135985 r138895  
    151151    }
    152152
     153    virtual void setFormat(size_t numberOfChannels, float sampleRate) OVERRIDE;
    153154    virtual void consumeAudio(AudioBus*, size_t numberOfFrames) OVERRIDE;
    154155
     
    161162    WebAudioDestinationConsumer* m_consumer;
    162163};
     164
     165void ConsumerWrapper::setFormat(size_t numberOfChannels, float sampleRate)
     166{
     167    m_consumer->setFormat(numberOfChannels, sampleRate);
     168}
    163169
    164170void ConsumerWrapper::consumeAudio(AudioBus* bus, size_t numberOfFrames)
  • trunk/Source/WebCore/platform/mediastream/MediaStreamSource.cpp

    r135985 r138895  
    9393}
    9494
     95void MediaStreamSource::setAudioFormat(size_t numberOfChannels, float sampleRate)
     96{
     97    ASSERT(m_requiresConsumer);
     98    MutexLocker locker(m_audioConsumersLock);
     99    for (Vector<RefPtr<AudioDestinationConsumer> >::iterator it = m_audioConsumers.begin(); it != m_audioConsumers.end(); ++it)
     100        (*it)->setFormat(numberOfChannels, sampleRate);
     101}
     102
    95103void MediaStreamSource::consumeAudio(AudioBus* bus, size_t numberOfFrames)
    96104{
  • trunk/Source/WebCore/platform/mediastream/MediaStreamSource.h

    r135985 r138895  
    8181    void setExtraData(PassRefPtr<ExtraData> extraData) { m_extraData = extraData; }
    8282
     83    void setAudioFormat(size_t numberOfChannels, float sampleRate);
    8384    void consumeAudio(AudioBus*, size_t numberOfFrames);
    8485
  • trunk/Tools/DumpRenderTree/chromium/MockWebMediaStreamCenter.cpp

    r135985 r138895  
    9090public:
    9191    virtual ~MockWebAudioDestinationConsumer() { }
     92    virtual void setFormat(size_t numberOfChannels, float sampleRate) OVERRIDE { }
    9293    virtual void consumeAudio(const WebVector<const float*>&, size_t number_of_frames) OVERRIDE { }
    9394};
Note: See TracChangeset for help on using the changeset viewer.