summaryrefslogtreecommitdiff
path: root/cras/src/tests/iodev_stub.cc
diff options
context:
space:
mode:
authorJorge E. Moreira <jemoreira@google.com>2021-04-12 19:05:41 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-04-12 19:05:41 +0000
commitbcf1f249f11b6865cff3f0d3f0ae5801e67e0e7e (patch)
tree7e0e07b9d8d50fc5dd352d5b36d74fa3cb3427db /cras/src/tests/iodev_stub.cc
parent1a33fa04345d1d2599eae37bb34781783aa0d04e (diff)
parent072dce8ca50bdf87b113490cdf14bde14724914f (diff)
downloadadhd-bcf1f249f11b6865cff3f0d3f0ae5801e67e0e7e.tar.gz
Merge remote-tracking branch 'aosp/upstream-main' into master am: 072dce8ca5android-s-beta-4android-s-beta-3android-s-beta-4
Original change: https://android-review.googlesource.com/c/platform/external/adhd/+/1673705 Change-Id: I34df6886976fcb22f0bef53453a5cd0924f04f7b
Diffstat (limited to 'cras/src/tests/iodev_stub.cc')
-rw-r--r--cras/src/tests/iodev_stub.cc36
1 files changed, 35 insertions, 1 deletions
diff --git a/cras/src/tests/iodev_stub.cc b/cras/src/tests/iodev_stub.cc
index 3dbb61d1..2e84faac 100644
--- a/cras/src/tests/iodev_stub.cc
+++ b/cras/src/tests/iodev_stub.cc
@@ -21,12 +21,30 @@ struct cb_data {
std::unordered_map<cras_iodev*, cb_data> frames_queued_map;
std::unordered_map<cras_iodev*, cb_data> valid_frames_map;
std::unordered_map<cras_iodev*, timespec> drop_time_map;
+std::unordered_map<const cras_iodev*, double> est_rate_ratio_map;
+std::unordered_map<const cras_iodev*, int> update_rate_map;
+std::unordered_map<const cras_ionode*, int> on_internal_card_map;
} // namespace
void iodev_stub_reset() {
frames_queued_map.clear();
valid_frames_map.clear();
drop_time_map.clear();
+ est_rate_ratio_map.clear();
+ update_rate_map.clear();
+ on_internal_card_map.clear();
+}
+
+void iodev_stub_est_rate_ratio(cras_iodev* iodev, double ratio) {
+ est_rate_ratio_map.insert({iodev, ratio});
+}
+
+void iodev_stub_update_rate(cras_iodev* iodev, int data) {
+ update_rate_map.insert({iodev, data});
+}
+
+void iodev_stub_on_internal_card(cras_ionode* node, int data) {
+ on_internal_card_map.insert({node, data});
}
void iodev_stub_frames_queued(cras_iodev* iodev, int ret, timespec ts) {
@@ -67,7 +85,11 @@ int cras_iodev_get_valid_frames(struct cras_iodev* iodev,
}
double cras_iodev_get_est_rate_ratio(const struct cras_iodev* iodev) {
- return 1.0;
+ auto elem = est_rate_ratio_map.find(iodev);
+ if (elem != est_rate_ratio_map.end()) {
+ return elem->second;
+ }
+ return 1.0f;
}
int cras_iodev_get_dsp_delay(const struct cras_iodev* iodev) {
@@ -93,6 +115,10 @@ struct dev_stream* cras_iodev_rm_stream(struct cras_iodev* iodev,
int cras_iodev_update_rate(struct cras_iodev* iodev,
unsigned int level,
struct timespec* level_tstamp) {
+ auto elem = update_rate_map.find(iodev);
+ if (elem != update_rate_map.end()) {
+ return elem->second;
+ }
return 0;
}
@@ -188,4 +214,12 @@ int cras_iodev_drop_frames_by_time(struct cras_iodev* iodev,
drop_time_map.insert({iodev, ts});
return 0;
}
+
+bool cras_iodev_is_on_internal_card(const struct cras_ionode* node) {
+ auto elem = on_internal_card_map.find(node);
+ if (elem != on_internal_card_map.end()) {
+ return elem->second;
+ }
+ return 1;
+}
} // extern "C"