summaryrefslogtreecommitdiff
path: root/media
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2014-10-29 14:53:36 +0000
committerBen Murdoch <benm@google.com>2014-10-29 14:53:36 +0000
commitab8f6f0bd665d3c1ff476eb06c58c42630e462d4 (patch)
tree15b4406dfa6b28391b19bcf760f1aeb04d13898a /media
parent93b3e633be4a0f65c62fca1805fd44021e04beaa (diff)
downloadchromium_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')
-rw-r--r--media/audio/alsa/alsa_input.cc4
-rw-r--r--media/audio/alsa/alsa_input.h1
-rw-r--r--media/audio/android/audio_record_input.cc5
-rw-r--r--media/audio/android/audio_record_input.h1
-rw-r--r--media/audio/android/opensles_input.cc5
-rw-r--r--media/audio/android/opensles_input.h1
-rw-r--r--media/audio/audio_input_controller.cc29
-rw-r--r--media/audio/audio_io.h3
-rw-r--r--media/audio/cras/cras_input.cc4
-rw-r--r--media/audio/cras/cras_input.h1
-rw-r--r--media/audio/fake_audio_input_stream.cc5
-rw-r--r--media/audio/fake_audio_input_stream.h1
-rw-r--r--media/audio/mac/audio_input_mac.cc5
-rw-r--r--media/audio/mac/audio_input_mac.h1
-rw-r--r--media/audio/mac/audio_low_latency_input_mac.cc23
-rw-r--r--media/audio/mac/audio_low_latency_input_mac.h1
-rw-r--r--media/audio/pulse/pulse_input.cc53
-rw-r--r--media/audio/pulse/pulse_input.h18
-rw-r--r--media/audio/virtual_audio_input_stream.cc4
-rw-r--r--media/audio/virtual_audio_input_stream.h1
-rw-r--r--media/audio/win/audio_low_latency_input_win.cc16
-rw-r--r--media/audio/win/audio_low_latency_input_win.h1
-rw-r--r--media/audio/win/wavein_input_win.cc5
-rw-r--r--media/audio/win/wavein_input_win.h1
-rw-r--r--media/blink/media_blink.target.darwin-arm.mk2
-rw-r--r--media/blink/media_blink.target.darwin-arm64.mk2
-rw-r--r--media/blink/media_blink.target.darwin-mips.mk2
-rw-r--r--media/blink/media_blink.target.darwin-x86.mk2
-rw-r--r--media/blink/media_blink.target.darwin-x86_64.mk2
-rw-r--r--media/blink/media_blink.target.linux-arm.mk2
-rw-r--r--media/blink/media_blink.target.linux-arm64.mk2
-rw-r--r--media/blink/media_blink.target.linux-mips.mk2
-rw-r--r--media/blink/media_blink.target.linux-x86.mk2
-rw-r--r--media/blink/media_blink.target.linux-x86_64.mk2
-rw-r--r--media/media.target.darwin-arm.mk2
-rw-r--r--media/media.target.darwin-arm64.mk2
-rw-r--r--media/media.target.darwin-mips.mk2
-rw-r--r--media/media.target.darwin-x86.mk2
-rw-r--r--media/media.target.darwin-x86_64.mk2
-rw-r--r--media/media.target.linux-arm.mk2
-rw-r--r--media/media.target.linux-arm64.mk2
-rw-r--r--media/media.target.linux-mips.mk2
-rw-r--r--media/media.target.linux-x86.mk2
-rw-r--r--media/media.target.linux-x86_64.mk2
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' \