diff options
author | Ben Murdoch <benm@google.com> | 2014-10-29 14:53:36 +0000 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2014-10-29 14:53:36 +0000 |
commit | ab8f6f0bd665d3c1ff476eb06c58c42630e462d4 (patch) | |
tree | 15b4406dfa6b28391b19bcf760f1aeb04d13898a /media | |
parent | 93b3e633be4a0f65c62fca1805fd44021e04beaa (diff) | |
download | chromium_org-ab8f6f0bd665d3c1ff476eb06c58c42630e462d4.tar.gz |
Merge from Chromium at DEPS revision 39.0.2171.44
This commit was generated by merge_to_master.py.
Change-Id: I12ecf158017b8be5f9a1d33f4152e5a3c812cb7f
Diffstat (limited to 'media')
44 files changed, 196 insertions, 33 deletions
diff --git a/media/audio/alsa/alsa_input.cc b/media/audio/alsa/alsa_input.cc index 0bc9f314d4..3c555a05b5 100644 --- a/media/audio/alsa/alsa_input.cc +++ b/media/audio/alsa/alsa_input.cc @@ -336,6 +336,10 @@ double AlsaPcmInputStream::GetVolume() { return static_cast<double>(current_volume); } +bool AlsaPcmInputStream::IsMuted() { + return false; +} + void AlsaPcmInputStream::HandleError(const char* method, int error) { LOG(WARNING) << method << ": " << wrapper_->StrError(error); callback_->OnError(this); diff --git a/media/audio/alsa/alsa_input.h b/media/audio/alsa/alsa_input.h index c26f3e2b66..f227c40ce7 100644 --- a/media/audio/alsa/alsa_input.h +++ b/media/audio/alsa/alsa_input.h @@ -49,6 +49,7 @@ class AlsaPcmInputStream : public AgcAudioStream<AudioInputStream> { virtual double GetMaxVolume() OVERRIDE; virtual void SetVolume(double volume) OVERRIDE; virtual double GetVolume() OVERRIDE; + virtual bool IsMuted() OVERRIDE; private: // Logs the error and invokes any registered callbacks. diff --git a/media/audio/android/audio_record_input.cc b/media/audio/android/audio_record_input.cc index 3f19588b4a..1dd6118b18 100644 --- a/media/audio/android/audio_record_input.cc +++ b/media/audio/android/audio_record_input.cc @@ -134,4 +134,9 @@ bool AudioRecordInputStream::GetAutomaticGainControl() { return false; } +bool AudioRecordInputStream::IsMuted() { + NOTIMPLEMENTED(); + return false; +} + } // namespace media diff --git a/media/audio/android/audio_record_input.h b/media/audio/android/audio_record_input.h index c240038360..0b42b7bce0 100644 --- a/media/audio/android/audio_record_input.h +++ b/media/audio/android/audio_record_input.h @@ -40,6 +40,7 @@ class MEDIA_EXPORT AudioRecordInputStream : public AudioInputStream { virtual double GetVolume() OVERRIDE; virtual void SetAutomaticGainControl(bool enabled) OVERRIDE; virtual bool GetAutomaticGainControl() OVERRIDE; + virtual bool IsMuted() OVERRIDE; static bool RegisterAudioRecordInput(JNIEnv* env); diff --git a/media/audio/android/opensles_input.cc b/media/audio/android/opensles_input.cc index 1ef3aaca5e..d8e5f63d6f 100644 --- a/media/audio/android/opensles_input.cc +++ b/media/audio/android/opensles_input.cc @@ -185,6 +185,11 @@ bool OpenSLESInputStream::GetAutomaticGainControl() { return false; } +bool OpenSLESInputStream::IsMuted() { + NOTIMPLEMENTED(); + return false; +} + bool OpenSLESInputStream::CreateRecorder() { DCHECK(thread_checker_.CalledOnValidThread()); DCHECK(!engine_object_.Get()); diff --git a/media/audio/android/opensles_input.h b/media/audio/android/opensles_input.h index 288ab43425..0443ea0933 100644 --- a/media/audio/android/opensles_input.h +++ b/media/audio/android/opensles_input.h @@ -43,6 +43,7 @@ class OpenSLESInputStream : public AudioInputStream { virtual double GetVolume() OVERRIDE; virtual void SetAutomaticGainControl(bool enabled) OVERRIDE; virtual bool GetAutomaticGainControl() OVERRIDE; + virtual bool IsMuted() OVERRIDE; private: bool CreateRecorder(); diff --git a/media/audio/audio_input_controller.cc b/media/audio/audio_input_controller.cc index 24299950cb..d57a113dd2 100644 --- a/media/audio/audio_input_controller.cc +++ b/media/audio/audio_input_controller.cc @@ -577,11 +577,24 @@ void AudioInputController::DoLogAudioLevels(float level_dbfs, if (!handler_) return; + // Detect if the user has enabled hardware mute by pressing the mute + // button in audio settings for the selected microphone. + const bool microphone_is_muted = stream_->IsMuted(); + if (microphone_is_muted) { + LogMicrophoneMuteResult(MICROPHONE_IS_MUTED); + handler_->OnLog(this, "AIC::OnData: microphone is muted!"); + // Return early if microphone is muted. No need to adding logs and UMA stats + // of audio levels if we know that the micropone is muted. + return; + } + + LogMicrophoneMuteResult(MICROPHONE_IS_NOT_MUTED); + std::string log_string = base::StringPrintf( "AIC::OnData: average audio level=%.2f dBFS", level_dbfs); static const float kSilenceThresholdDBFS = -72.24719896f; if (level_dbfs < kSilenceThresholdDBFS) - log_string += " <=> no audio input!"; + log_string += " <=> low audio input level!"; handler_->OnLog(this, log_string); UpdateSilenceState(level_dbfs < kSilenceThresholdDBFS); @@ -592,20 +605,6 @@ void AudioInputController::DoLogAudioLevels(float level_dbfs, if (microphone_volume_percent < kLowLevelMicrophoneLevelPercent) log_string += " <=> low microphone level!"; handler_->OnLog(this, log_string); - - // Try to detect if the user has enabled hardware mute by pressing the mute - // button in audio settings for the selected microphone. The idea here is to - // detect when all input samples are zeros but the actual volume slider is - // larger than zero. It should correspond to a hardware mute state. - if (level_dbfs == -std::numeric_limits<float>::infinity() && - microphone_volume_percent > 0) { - LogMicrophoneMuteResult(MICROPHONE_IS_MUTED); - log_string = base::StringPrintf( - "AIC::OnData: microphone is muted!"); - handler_->OnLog(this, log_string); - } else { - LogMicrophoneMuteResult(MICROPHONE_IS_NOT_MUTED); - } #endif } diff --git a/media/audio/audio_io.h b/media/audio/audio_io.h index 1e1eba420b..8a1ddd9ad9 100644 --- a/media/audio/audio_io.h +++ b/media/audio/audio_io.h @@ -166,6 +166,9 @@ class MEDIA_EXPORT AudioInputStream { // Returns the Automatic Gain Control (AGC) state. virtual bool GetAutomaticGainControl() = 0; + + // Returns the current muting state for the microphone. + virtual bool IsMuted() = 0; }; } // namespace media diff --git a/media/audio/cras/cras_input.cc b/media/audio/cras/cras_input.cc index 0b8644603f..3fae8df1e7 100644 --- a/media/audio/cras/cras_input.cc +++ b/media/audio/cras/cras_input.cc @@ -301,6 +301,10 @@ double CrasInputStream::GetVolume() { return GetVolumeRatioFromDecibels(dB); } +bool CrasInputStream::IsMuted() { + return false; +} + double CrasInputStream::GetVolumeRatioFromDecibels(double dB) const { return pow(10, dB / 20.0); } diff --git a/media/audio/cras/cras_input.h b/media/audio/cras/cras_input.h index 1919224d9a..3ba186a5b7 100644 --- a/media/audio/cras/cras_input.h +++ b/media/audio/cras/cras_input.h @@ -40,6 +40,7 @@ class CrasInputStream : public AgcAudioStream<AudioInputStream> { virtual double GetMaxVolume() OVERRIDE; virtual void SetVolume(double volume) OVERRIDE; virtual double GetVolume() OVERRIDE; + virtual bool IsMuted() OVERRIDE; private: // Handles requests to get samples from the provided buffer. This will be diff --git a/media/audio/fake_audio_input_stream.cc b/media/audio/fake_audio_input_stream.cc index 74ac579c1a..157d3978c7 100644 --- a/media/audio/fake_audio_input_stream.cc +++ b/media/audio/fake_audio_input_stream.cc @@ -203,6 +203,11 @@ double FakeAudioInputStream::GetVolume() { return 1.0; } +bool FakeAudioInputStream::IsMuted() { + DCHECK(audio_manager_->GetTaskRunner()->BelongsToCurrentThread()); + return false; +} + void FakeAudioInputStream::SetAutomaticGainControl(bool enabled) {} bool FakeAudioInputStream::GetAutomaticGainControl() { diff --git a/media/audio/fake_audio_input_stream.h b/media/audio/fake_audio_input_stream.h index 4c3c24c555..8413a135d9 100644 --- a/media/audio/fake_audio_input_stream.h +++ b/media/audio/fake_audio_input_stream.h @@ -36,6 +36,7 @@ class MEDIA_EXPORT FakeAudioInputStream virtual double GetVolume() OVERRIDE; virtual void SetAutomaticGainControl(bool enabled) OVERRIDE; virtual bool GetAutomaticGainControl() OVERRIDE; + virtual bool IsMuted() OVERRIDE; // Generate one beep sound. This method is called by // FakeVideoCaptureDevice to test audio/video synchronization. diff --git a/media/audio/mac/audio_input_mac.cc b/media/audio/mac/audio_input_mac.cc index b7f6e17310..af5d9bc16e 100644 --- a/media/audio/mac/audio_input_mac.cc +++ b/media/audio/mac/audio_input_mac.cc @@ -136,6 +136,11 @@ double PCMQueueInAudioInputStream::GetVolume() { return 0.0; } +bool PCMQueueInAudioInputStream::IsMuted() { + NOTREACHED() << "Only supported for low-latency mode."; + return false; +} + void PCMQueueInAudioInputStream::SetAutomaticGainControl(bool enabled) { NOTREACHED() << "Only supported for low-latency mode."; } diff --git a/media/audio/mac/audio_input_mac.h b/media/audio/mac/audio_input_mac.h index a6e897e061..0d78dd6e83 100644 --- a/media/audio/mac/audio_input_mac.h +++ b/media/audio/mac/audio_input_mac.h @@ -38,6 +38,7 @@ class PCMQueueInAudioInputStream : public AudioInputStream { virtual double GetVolume() OVERRIDE; virtual void SetAutomaticGainControl(bool enabled) OVERRIDE; virtual bool GetAutomaticGainControl() OVERRIDE; + virtual bool IsMuted() OVERRIDE; private: // Issue the OnError to |callback_|; diff --git a/media/audio/mac/audio_low_latency_input_mac.cc b/media/audio/mac/audio_low_latency_input_mac.cc index 3d95f90c8a..cb0779ee21 100644 --- a/media/audio/mac/audio_low_latency_input_mac.cc +++ b/media/audio/mac/audio_low_latency_input_mac.cc @@ -450,6 +450,29 @@ double AUAudioInputStream::GetVolume() { return 0.0; } +bool AUAudioInputStream::IsMuted() { + // Verify that we have a valid device. + DCHECK_NE(input_device_id_, kAudioObjectUnknown) << "Device ID is unknown"; + + AudioObjectPropertyAddress property_address = { + kAudioDevicePropertyMute, + kAudioDevicePropertyScopeInput, + kAudioObjectPropertyElementMaster + }; + + if (!AudioObjectHasProperty(input_device_id_, &property_address)) { + DLOG(ERROR) << "Device does not support checking master mute state"; + return false; + } + + UInt32 muted = 0; + UInt32 size = sizeof(muted); + OSStatus result = AudioObjectGetPropertyData( + input_device_id_, &property_address, 0, NULL, &size, &muted); + DLOG_IF(WARNING, result != noErr) << "Failed to get mute state"; + return result == noErr && muted != 0; +} + // AUHAL AudioDeviceOutput unit callback OSStatus AUAudioInputStream::InputProc(void* user_data, AudioUnitRenderActionFlags* flags, diff --git a/media/audio/mac/audio_low_latency_input_mac.h b/media/audio/mac/audio_low_latency_input_mac.h index c8e43fa7ff..0ce1f8f772 100644 --- a/media/audio/mac/audio_low_latency_input_mac.h +++ b/media/audio/mac/audio_low_latency_input_mac.h @@ -72,6 +72,7 @@ class AUAudioInputStream : public AgcAudioStream<AudioInputStream> { virtual double GetMaxVolume() OVERRIDE; virtual void SetVolume(double volume) OVERRIDE; virtual double GetVolume() OVERRIDE; + virtual bool IsMuted() OVERRIDE; // Returns the current hardware sample rate for the default input device. MEDIA_EXPORT static int HardwareSampleRate(); diff --git a/media/audio/pulse/pulse_input.cc b/media/audio/pulse/pulse_input.cc index 4a56d3a6b1..60afcdc23d 100644 --- a/media/audio/pulse/pulse_input.cc +++ b/media/audio/pulse/pulse_input.cc @@ -4,8 +4,6 @@ #include "media/audio/pulse/pulse_input.h" -#include <pulse/pulseaudio.h> - #include "base/logging.h" #include "media/audio/pulse/audio_manager_pulse.h" #include "media/audio/pulse/pulse_util.h" @@ -30,6 +28,7 @@ PulseAudioInputStream::PulseAudioInputStream(AudioManagerPulse* audio_manager, channels_(0), volume_(0.0), stream_started_(false), + muted_(false), fifo_(params.channels(), params.frames_per_buffer(), kNumberOfBlocksBufferInFifo), @@ -185,20 +184,17 @@ double PulseAudioInputStream::GetVolume() { // Return zero and the callback will asynchronously update the |volume_|. return 0.0; } else { - // Called by other thread, put an AutoPulseLock and wait for the operation. - AutoPulseLock auto_lock(pa_mainloop_); - if (!handle_) - return 0.0; - - size_t index = pa_stream_get_device_index(handle_); - pa_operation* operation = pa_context_get_source_info_by_index( - pa_context_, index, &VolumeCallback, this); - WaitForOperationCompletion(pa_mainloop_, operation); - + GetSourceInformation(&VolumeCallback); return volume_; } } +bool PulseAudioInputStream::IsMuted() { + DCHECK(thread_checker_.CalledOnValidThread()); + GetSourceInformation(&MuteCallback); + return muted_; +} + // static, used by pa_stream_set_read_callback. void PulseAudioInputStream::ReadCallback(pa_stream* handle, size_t length, @@ -236,11 +232,32 @@ void PulseAudioInputStream::VolumeCallback(pa_context* context, stream->volume_ = static_cast<double>(volume); } +// static, used by pa_context_get_source_info_by_index. +void PulseAudioInputStream::MuteCallback(pa_context* context, + const pa_source_info* info, + int error, + void* user_data) { + // Runs on PulseAudio callback thread. It might be possible to make this + // method more thread safe by passing a struct (or pair) of a local copy of + // |pa_mainloop_| and |muted_| instead. + PulseAudioInputStream* stream = + reinterpret_cast<PulseAudioInputStream*>(user_data); + + // Avoid infinite wait loop in case of error. + if (error) { + pa_threaded_mainloop_signal(stream->pa_mainloop_, 0); + return; + } + + stream->muted_ = info->mute != 0; +} + // static, used by pa_stream_set_state_callback. void PulseAudioInputStream::StreamNotifyCallback(pa_stream* s, void* user_data) { PulseAudioInputStream* stream = reinterpret_cast<PulseAudioInputStream*>(user_data); + if (s && stream->callback_ && pa_stream_get_state(s) == PA_STREAM_FAILED) { stream->callback_->OnError(stream); @@ -301,4 +318,16 @@ void PulseAudioInputStream::ReadData() { pa_threaded_mainloop_signal(pa_mainloop_, 0); } +bool PulseAudioInputStream::GetSourceInformation(pa_source_info_cb_t callback) { + AutoPulseLock auto_lock(pa_mainloop_); + if (!handle_) + return false; + + size_t index = pa_stream_get_device_index(handle_); + pa_operation* operation = + pa_context_get_source_info_by_index(pa_context_, index, callback, this); + WaitForOperationCompletion(pa_mainloop_, operation); + return true; +} + } // namespace media diff --git a/media/audio/pulse/pulse_input.h b/media/audio/pulse/pulse_input.h index 9f08379cef..15cae53bbb 100644 --- a/media/audio/pulse/pulse_input.h +++ b/media/audio/pulse/pulse_input.h @@ -5,6 +5,7 @@ #ifndef MEDIA_AUDIO_PULSE_PULSE_INPUT_H_ #define MEDIA_AUDIO_PULSE_PULSE_INPUT_H_ +#include <pulse/pulseaudio.h> #include <string> #include "base/threading/thread_checker.h" @@ -14,11 +15,6 @@ #include "media/audio/audio_parameters.h" #include "media/base/audio_block_fifo.h" -struct pa_context; -struct pa_source_info; -struct pa_stream; -struct pa_threaded_mainloop; - namespace media { class AudioManagerPulse; @@ -41,6 +37,7 @@ class PulseAudioInputStream : public AgcAudioStream<AudioInputStream> { virtual double GetMaxVolume() OVERRIDE; virtual void SetVolume(double volume) OVERRIDE; virtual double GetVolume() OVERRIDE; + virtual bool IsMuted() OVERRIDE; private: // PulseAudio Callbacks. @@ -48,10 +45,17 @@ class PulseAudioInputStream : public AgcAudioStream<AudioInputStream> { static void StreamNotifyCallback(pa_stream* stream, void* user_data); static void VolumeCallback(pa_context* context, const pa_source_info* info, int error, void* user_data); + static void MuteCallback(pa_context* context, + const pa_source_info* info, + int error, + void* user_data); // Helper for the ReadCallback. void ReadData(); + // Utility method used by GetVolume() and IsMuted(). + bool GetSourceInformation(pa_source_info_cb_t callback); + AudioManagerPulse* audio_manager_; AudioInputCallback* callback_; std::string device_name_; @@ -60,6 +64,10 @@ class PulseAudioInputStream : public AgcAudioStream<AudioInputStream> { double volume_; bool stream_started_; + // Set to true in IsMuted() if user has muted the selected microphone in the + // sound settings UI. + bool muted_; + // Holds the data from the OS. AudioBlockFifo fifo_; diff --git a/media/audio/virtual_audio_input_stream.cc b/media/audio/virtual_audio_input_stream.cc index f660b9c952..da3494765e 100644 --- a/media/audio/virtual_audio_input_stream.cc +++ b/media/audio/virtual_audio_input_stream.cc @@ -173,4 +173,8 @@ bool VirtualAudioInputStream::GetAutomaticGainControl() { return false; } +bool VirtualAudioInputStream::IsMuted() { + return false; +} + } // namespace media diff --git a/media/audio/virtual_audio_input_stream.h b/media/audio/virtual_audio_input_stream.h index 17e2730d53..2a52d9e2da 100644 --- a/media/audio/virtual_audio_input_stream.h +++ b/media/audio/virtual_audio_input_stream.h @@ -56,6 +56,7 @@ class MEDIA_EXPORT VirtualAudioInputStream : public AudioInputStream { virtual double GetVolume() OVERRIDE; virtual void SetAutomaticGainControl(bool enabled) OVERRIDE; virtual bool GetAutomaticGainControl() OVERRIDE; + virtual bool IsMuted() OVERRIDE; // Attaches a VirtualAudioOutputStream to be used as input. This // VirtualAudioInputStream must outlive all attached streams, so any attached diff --git a/media/audio/win/audio_low_latency_input_win.cc b/media/audio/win/audio_low_latency_input_win.cc index 9fe061b768..8df8620b9f 100644 --- a/media/audio/win/audio_low_latency_input_win.cc +++ b/media/audio/win/audio_low_latency_input_win.cc @@ -253,7 +253,7 @@ void WASAPIAudioInputStream::SetVolume(double volume) { } double WASAPIAudioInputStream::GetVolume() { - DLOG_IF(ERROR, !opened_) << "Open() has not been called successfully"; + DCHECK(opened_) << "Open() has not been called successfully"; if (!opened_) return 0.0; @@ -265,6 +265,20 @@ double WASAPIAudioInputStream::GetVolume() { return static_cast<double>(level); } +bool WASAPIAudioInputStream::IsMuted() { + DCHECK(opened_) << "Open() has not been called successfully"; + DCHECK(CalledOnValidThread()); + if (!opened_) + return false; + + // Retrieves the current muting state for the audio session. + BOOL is_muted = FALSE; + HRESULT hr = simple_audio_volume_->GetMute(&is_muted); + DLOG_IF(WARNING, FAILED(hr)) << "Failed to get input master volume."; + + return is_muted != FALSE; +} + // static AudioParameters WASAPIAudioInputStream::GetInputStreamParameters( const std::string& device_id) { diff --git a/media/audio/win/audio_low_latency_input_win.h b/media/audio/win/audio_low_latency_input_win.h index 91fdde1594..efd776fbf6 100644 --- a/media/audio/win/audio_low_latency_input_win.h +++ b/media/audio/win/audio_low_latency_input_win.h @@ -102,6 +102,7 @@ class MEDIA_EXPORT WASAPIAudioInputStream virtual double GetMaxVolume() OVERRIDE; virtual void SetVolume(double volume) OVERRIDE; virtual double GetVolume() OVERRIDE; + virtual bool IsMuted() OVERRIDE; bool started() const { return started_; } diff --git a/media/audio/win/wavein_input_win.cc b/media/audio/win/wavein_input_win.cc index e96a8774e4..72c58417bd 100644 --- a/media/audio/win/wavein_input_win.cc +++ b/media/audio/win/wavein_input_win.cc @@ -226,6 +226,11 @@ bool PCMWaveInAudioInputStream::GetAutomaticGainControl() { return false; } +bool PCMWaveInAudioInputStream::IsMuted() { + NOTIMPLEMENTED(); + return false; +} + void PCMWaveInAudioInputStream::HandleError(MMRESULT error) { DLOG(WARNING) << "PCMWaveInAudio error " << error; if (callback_) diff --git a/media/audio/win/wavein_input_win.h b/media/audio/win/wavein_input_win.h index 5b1edd59fb..67ea04311c 100644 --- a/media/audio/win/wavein_input_win.h +++ b/media/audio/win/wavein_input_win.h @@ -45,6 +45,7 @@ class PCMWaveInAudioInputStream : public AudioInputStream { virtual double GetVolume() OVERRIDE; virtual void SetAutomaticGainControl(bool enabled) OVERRIDE; virtual bool GetAutomaticGainControl() OVERRIDE; + virtual bool IsMuted() OVERRIDE; private: enum State { diff --git a/media/blink/media_blink.target.darwin-arm.mk b/media/blink/media_blink.target.darwin-arm.mk index 51801dd390..8670cdac30 100644 --- a/media/blink/media_blink.target.darwin-arm.mk +++ b/media/blink/media_blink.target.darwin-arm.mk @@ -123,6 +123,7 @@ MY_DEFS_Debug := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DPOSIX_AVOID_MMAP' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ @@ -277,6 +278,7 @@ MY_DEFS_Release := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DPOSIX_AVOID_MMAP' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ diff --git a/media/blink/media_blink.target.darwin-arm64.mk b/media/blink/media_blink.target.darwin-arm64.mk index c7eaddad7a..5e08cb6172 100644 --- a/media/blink/media_blink.target.darwin-arm64.mk +++ b/media/blink/media_blink.target.darwin-arm64.mk @@ -112,6 +112,7 @@ MY_DEFS_Debug := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DPOSIX_AVOID_MMAP' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ @@ -254,6 +255,7 @@ MY_DEFS_Release := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DPOSIX_AVOID_MMAP' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ diff --git a/media/blink/media_blink.target.darwin-mips.mk b/media/blink/media_blink.target.darwin-mips.mk index 0c178e3533..8098113c43 100644 --- a/media/blink/media_blink.target.darwin-mips.mk +++ b/media/blink/media_blink.target.darwin-mips.mk @@ -116,6 +116,7 @@ MY_DEFS_Debug := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DPOSIX_AVOID_MMAP' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ @@ -263,6 +264,7 @@ MY_DEFS_Release := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DPOSIX_AVOID_MMAP' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ diff --git a/media/blink/media_blink.target.darwin-x86.mk b/media/blink/media_blink.target.darwin-x86.mk index 64f01ca005..7c1593eb32 100644 --- a/media/blink/media_blink.target.darwin-x86.mk +++ b/media/blink/media_blink.target.darwin-x86.mk @@ -118,6 +118,7 @@ MY_DEFS_Debug := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DCHROME_PNG_WRITE_SUPPORT' \ @@ -265,6 +266,7 @@ MY_DEFS_Release := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DCHROME_PNG_WRITE_SUPPORT' \ diff --git a/media/blink/media_blink.target.darwin-x86_64.mk b/media/blink/media_blink.target.darwin-x86_64.mk index e87d82fe42..cbf7bd3fdc 100644 --- a/media/blink/media_blink.target.darwin-x86_64.mk +++ b/media/blink/media_blink.target.darwin-x86_64.mk @@ -117,6 +117,7 @@ MY_DEFS_Debug := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DPOSIX_AVOID_MMAP' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ @@ -264,6 +265,7 @@ MY_DEFS_Release := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DPOSIX_AVOID_MMAP' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ diff --git a/media/blink/media_blink.target.linux-arm.mk b/media/blink/media_blink.target.linux-arm.mk index 51801dd390..8670cdac30 100644 --- a/media/blink/media_blink.target.linux-arm.mk +++ b/media/blink/media_blink.target.linux-arm.mk @@ -123,6 +123,7 @@ MY_DEFS_Debug := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DPOSIX_AVOID_MMAP' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ @@ -277,6 +278,7 @@ MY_DEFS_Release := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DPOSIX_AVOID_MMAP' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ diff --git a/media/blink/media_blink.target.linux-arm64.mk b/media/blink/media_blink.target.linux-arm64.mk index c7eaddad7a..5e08cb6172 100644 --- a/media/blink/media_blink.target.linux-arm64.mk +++ b/media/blink/media_blink.target.linux-arm64.mk @@ -112,6 +112,7 @@ MY_DEFS_Debug := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DPOSIX_AVOID_MMAP' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ @@ -254,6 +255,7 @@ MY_DEFS_Release := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DPOSIX_AVOID_MMAP' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ diff --git a/media/blink/media_blink.target.linux-mips.mk b/media/blink/media_blink.target.linux-mips.mk index 0c178e3533..8098113c43 100644 --- a/media/blink/media_blink.target.linux-mips.mk +++ b/media/blink/media_blink.target.linux-mips.mk @@ -116,6 +116,7 @@ MY_DEFS_Debug := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DPOSIX_AVOID_MMAP' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ @@ -263,6 +264,7 @@ MY_DEFS_Release := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DPOSIX_AVOID_MMAP' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ diff --git a/media/blink/media_blink.target.linux-x86.mk b/media/blink/media_blink.target.linux-x86.mk index 64f01ca005..7c1593eb32 100644 --- a/media/blink/media_blink.target.linux-x86.mk +++ b/media/blink/media_blink.target.linux-x86.mk @@ -118,6 +118,7 @@ MY_DEFS_Debug := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DCHROME_PNG_WRITE_SUPPORT' \ @@ -265,6 +266,7 @@ MY_DEFS_Release := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DCHROME_PNG_WRITE_SUPPORT' \ diff --git a/media/blink/media_blink.target.linux-x86_64.mk b/media/blink/media_blink.target.linux-x86_64.mk index e87d82fe42..cbf7bd3fdc 100644 --- a/media/blink/media_blink.target.linux-x86_64.mk +++ b/media/blink/media_blink.target.linux-x86_64.mk @@ -117,6 +117,7 @@ MY_DEFS_Debug := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DPOSIX_AVOID_MMAP' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ @@ -264,6 +265,7 @@ MY_DEFS_Release := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DPOSIX_AVOID_MMAP' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ diff --git a/media/media.target.darwin-arm.mk b/media/media.target.darwin-arm.mk index ca26343070..5ddc81a237 100644 --- a/media/media.target.darwin-arm.mk +++ b/media/media.target.darwin-arm.mk @@ -305,6 +305,7 @@ MY_DEFS_Debug := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DUSE_OPENSSL=1' \ @@ -445,6 +446,7 @@ MY_DEFS_Release := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DUSE_OPENSSL=1' \ diff --git a/media/media.target.darwin-arm64.mk b/media/media.target.darwin-arm64.mk index fd78fb29fc..9ed9e032bb 100644 --- a/media/media.target.darwin-arm64.mk +++ b/media/media.target.darwin-arm64.mk @@ -294,6 +294,7 @@ MY_DEFS_Debug := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DUSE_OPENSSL=1' \ @@ -422,6 +423,7 @@ MY_DEFS_Release := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DUSE_OPENSSL=1' \ diff --git a/media/media.target.darwin-mips.mk b/media/media.target.darwin-mips.mk index c0bfe53855..22d9e2f642 100644 --- a/media/media.target.darwin-mips.mk +++ b/media/media.target.darwin-mips.mk @@ -297,6 +297,7 @@ MY_DEFS_Debug := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DUSE_OPENSSL=1' \ @@ -429,6 +430,7 @@ MY_DEFS_Release := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DUSE_OPENSSL=1' \ diff --git a/media/media.target.darwin-x86.mk b/media/media.target.darwin-x86.mk index a1597f7726..05a74e3f11 100644 --- a/media/media.target.darwin-x86.mk +++ b/media/media.target.darwin-x86.mk @@ -301,6 +301,7 @@ MY_DEFS_Debug := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DUSE_OPENSSL=1' \ @@ -435,6 +436,7 @@ MY_DEFS_Release := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DUSE_OPENSSL=1' \ diff --git a/media/media.target.darwin-x86_64.mk b/media/media.target.darwin-x86_64.mk index 2705a44731..1ff0a877c8 100644 --- a/media/media.target.darwin-x86_64.mk +++ b/media/media.target.darwin-x86_64.mk @@ -300,6 +300,7 @@ MY_DEFS_Debug := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DUSE_OPENSSL=1' \ @@ -433,6 +434,7 @@ MY_DEFS_Release := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DUSE_OPENSSL=1' \ diff --git a/media/media.target.linux-arm.mk b/media/media.target.linux-arm.mk index ca26343070..5ddc81a237 100644 --- a/media/media.target.linux-arm.mk +++ b/media/media.target.linux-arm.mk @@ -305,6 +305,7 @@ MY_DEFS_Debug := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DUSE_OPENSSL=1' \ @@ -445,6 +446,7 @@ MY_DEFS_Release := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DUSE_OPENSSL=1' \ diff --git a/media/media.target.linux-arm64.mk b/media/media.target.linux-arm64.mk index fd78fb29fc..9ed9e032bb 100644 --- a/media/media.target.linux-arm64.mk +++ b/media/media.target.linux-arm64.mk @@ -294,6 +294,7 @@ MY_DEFS_Debug := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DUSE_OPENSSL=1' \ @@ -422,6 +423,7 @@ MY_DEFS_Release := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DUSE_OPENSSL=1' \ diff --git a/media/media.target.linux-mips.mk b/media/media.target.linux-mips.mk index c0bfe53855..22d9e2f642 100644 --- a/media/media.target.linux-mips.mk +++ b/media/media.target.linux-mips.mk @@ -297,6 +297,7 @@ MY_DEFS_Debug := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DUSE_OPENSSL=1' \ @@ -429,6 +430,7 @@ MY_DEFS_Release := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DUSE_OPENSSL=1' \ diff --git a/media/media.target.linux-x86.mk b/media/media.target.linux-x86.mk index a1597f7726..05a74e3f11 100644 --- a/media/media.target.linux-x86.mk +++ b/media/media.target.linux-x86.mk @@ -301,6 +301,7 @@ MY_DEFS_Debug := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DUSE_OPENSSL=1' \ @@ -435,6 +436,7 @@ MY_DEFS_Release := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DUSE_OPENSSL=1' \ diff --git a/media/media.target.linux-x86_64.mk b/media/media.target.linux-x86_64.mk index 2705a44731..1ff0a877c8 100644 --- a/media/media.target.linux-x86_64.mk +++ b/media/media.target.linux-x86_64.mk @@ -300,6 +300,7 @@ MY_DEFS_Debug := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DUSE_OPENSSL=1' \ @@ -433,6 +434,7 @@ MY_DEFS_Release := \ '-DSK_BUILD_FOR_ANDROID' \ '-DSK_USE_POSIX_THREADS' \ '-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \ + '-DSK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER=1' \ '-DU_USING_ICU_NAMESPACE=0' \ '-DU_ENABLE_DYLOAD=0' \ '-DUSE_OPENSSL=1' \ |