aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>2023-07-17 18:27:14 +0900
committer坂本 貴史 <o-takashi@sakamocchi.jp>2023-07-17 22:49:46 +0900
commit42b29538e8ddb205534ab1211423a96781d6f466 (patch)
treefacfc179b79994fc7f48154f5760dc68bb0341a4
parent1ed134672e167fb7e8d3538c4fec1a2cb73033ea (diff)
downloadlibhinoko-42b29538e8ddb205534ab1211423a96781d6f466.tar.gz
fw_iso_rx_multiple: implement Hinoko.FwIsoCtx.read_cycle_time() method
This commit implements the new abstract method. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
-rw-r--r--src/fw_iso_ir_multiple.c15
-rwxr-xr-xtests/fw-iso-ir-multiple2
2 files changed, 17 insertions, 0 deletions
diff --git a/src/fw_iso_ir_multiple.c b/src/fw_iso_ir_multiple.c
index aff37ad..e9d0805 100644
--- a/src/fw_iso_ir_multiple.c
+++ b/src/fw_iso_ir_multiple.c
@@ -172,6 +172,20 @@ static void fw_iso_ir_multiple_release(HinokoFwIsoCtx *inst)
priv->channels = NULL;
}
+static gboolean fw_iso_ir_multiple_read_cycle_time(HinokoFwIsoCtx *inst, gint clock_id,
+ HinawaCycleTime *const *cycle_time,
+ GError **error)
+{
+ HinokoFwIsoIrMultiple *self;
+ HinokoFwIsoIrMultiplePrivate *priv;
+
+ g_return_val_if_fail(HINOKO_IS_FW_ISO_IR_MULTIPLE(inst), FALSE);
+ self = HINOKO_FW_ISO_IR_MULTIPLE(inst);
+ priv = hinoko_fw_iso_ir_multiple_get_instance_private(self);
+
+ return fw_iso_ctx_state_read_cycle_time(&priv->state, clock_id, cycle_time, error);
+}
+
static gboolean fw_iso_ir_multiple_get_cycle_timer(HinokoFwIsoCtx *inst, gint clock_id,
HinokoCycleTimer *const *cycle_timer,
GError **error)
@@ -323,6 +337,7 @@ static void fw_iso_ctx_iface_init(HinokoFwIsoCtxInterface *iface)
iface->stop = fw_iso_ir_multiple_stop;
iface->unmap_buffer = fw_iso_ir_multiple_unmap_buffer;
iface->release = fw_iso_ir_multiple_release;
+ iface->read_cycle_time = fw_iso_ir_multiple_read_cycle_time;
iface->get_cycle_timer = fw_iso_ir_multiple_get_cycle_timer;
iface->flush_completions = fw_iso_ir_multiple_flush_completions;
iface->create_source = fw_iso_ir_multiple_create_source;
diff --git a/tests/fw-iso-ir-multiple b/tests/fw-iso-ir-multiple
index 2cd187a..0357638 100755
--- a/tests/fw-iso-ir-multiple
+++ b/tests/fw-iso-ir-multiple
@@ -26,6 +26,7 @@ methods = (
'stop',
'unmap_buffer',
'release',
+ 'read_cycle_time',
'get_cycle_timer',
'create_source',
'flush_completions',
@@ -36,6 +37,7 @@ vmethods = (
'do_stop',
'do_unmap_buffer',
'do_release',
+ 'do_read_cycle_time',
'do_get_cycle_timer',
'do_flush_completions',
'do_create_source',