FreeCalypso > hg > ice1-trau-tester
diff pcm-br/record_ctrl.c @ 35:499d065ee591
new program itt-pcm-br (PCM bridge)
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 28 Aug 2024 05:00:38 +0000 |
parents | pcm/record_ctrl.c@631f2db08538 |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pcm-br/record_ctrl.c Wed Aug 28 05:00:38 2024 +0000 @@ -0,0 +1,63 @@ +/* + * Here we implement stdin commands that control recording of E1 timeslot + * read stream. + */ + +#include <stdint.h> +#include <stdbool.h> +#include <stdio.h> +#include <stdlib.h> + +#include <osmocom/core/select.h> + +#include "globals.h" + +void cmd_record_a_start(int argc, char **argv) +{ + if (argc != 2) { + printf("error: record-a command needs 1 argument\n"); + return; + } + if (rec_file_a) { + printf("error: recording of ts A already in progress\n"); + return; + } + rec_file_a = fopen(argv[1], "w"); + if (!rec_file_a) + perror(argv[1]); +} + +void cmd_record_a_stop(int argc, char **argv) +{ + if (!rec_file_a) { + printf("error: no recording of ts A in progress\n"); + return; + } + fclose(rec_file_a); + rec_file_a = NULL; +} + +void cmd_record_b_start(int argc, char **argv) +{ + if (argc != 2) { + printf("error: record-b command needs 1 argument\n"); + return; + } + if (rec_file_b) { + printf("error: recording of ts B already in progress\n"); + return; + } + rec_file_b = fopen(argv[1], "w"); + if (!rec_file_b) + perror(argv[1]); +} + +void cmd_record_b_stop(int argc, char **argv) +{ + if (!rec_file_b) { + printf("error: no recording of ts B in progress\n"); + return; + } + fclose(rec_file_b); + rec_file_b = NULL; +}