tirtc-devtools-cli 0.0.9 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/README.md +17 -11
  2. package/USAGE.md +72 -33
  3. package/bin/tirtc-devtools-cli.js +1 -1
  4. package/dist/cli/src/bootstrap_flows.d.ts +46 -0
  5. package/dist/cli/src/bootstrap_flows.js +249 -0
  6. package/dist/{devtools/cli → cli}/src/config.d.ts +4 -15
  7. package/dist/{devtools/cli → cli}/src/config.js +7 -31
  8. package/dist/cli/src/default_paths.d.ts +3 -0
  9. package/dist/cli/src/default_paths.js +23 -0
  10. package/dist/{devtools/cli → cli}/src/embedded_paths.d.ts +1 -0
  11. package/dist/{devtools/cli → cli}/src/embedded_paths.js +18 -1
  12. package/dist/{devtools/cli → cli}/src/facade.d.ts +41 -235
  13. package/dist/{devtools/cli → cli}/src/facade.js +8 -27
  14. package/dist/cli/src/guide.js +47 -0
  15. package/dist/{devtools/cli → cli}/src/index.js +55 -141
  16. package/dist/{devtools/cli → cli}/src/session_manager.js +9 -11
  17. package/dist/{devtools/cli → cli}/src/token_command.js +69 -0
  18. package/dist/{devtools/cli → cli}/src/token_tool.d.ts +26 -0
  19. package/dist/{devtools/cli → cli}/src/token_tool.js +123 -22
  20. package/dist/{devtools/cli → cli}/src/transport.d.ts +1 -1
  21. package/package.json +6 -2
  22. package/script/ensure_ffmpeg.sh +1 -1
  23. package/vendor/app-server/bin/native/linux-x64/credential_napi.node +0 -0
  24. package/vendor/app-server/bin/native/macos-arm64/credential_napi.node +0 -0
  25. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/credential.h +34 -0
  26. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/error.h +13 -0
  27. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/foundation/build_info.h +27 -0
  28. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/http.h +57 -0
  29. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/logging.h +3 -1
  30. package/vendor/app-server/bin/runtime/linux-x64/lib/libcrypto.a +0 -0
  31. package/vendor/app-server/bin/runtime/linux-x64/lib/libmatrix_runtime_credential.a +0 -0
  32. package/vendor/app-server/bin/runtime/linux-x64/lib/libmatrix_runtime_foundation_http.a +0 -0
  33. package/vendor/app-server/bin/runtime/linux-x64/lib/libmatrix_runtime_foundation_logging.a +0 -0
  34. package/vendor/app-server/bin/runtime/linux-x64/lib/libssl.a +0 -0
  35. package/vendor/app-server/bin/runtime/linux-x64/manifest.txt +2 -32
  36. package/vendor/app-server/bin/runtime/macos-arm64/include/tirtc/audio.h +176 -133
  37. package/vendor/app-server/bin/runtime/macos-arm64/include/tirtc/av.h +223 -182
  38. package/vendor/app-server/bin/runtime/macos-arm64/include/tirtc/error.h +2 -0
  39. package/vendor/app-server/bin/runtime/macos-arm64/include/tirtc/media_downlink.h +6 -0
  40. package/vendor/app-server/bin/runtime/macos-arm64/include/tirtc/transport.h +58 -133
  41. package/vendor/app-server/bin/runtime/macos-arm64/include/tirtc/trp.h +47 -224
  42. package/vendor/app-server/bin/runtime/macos-arm64/lib/libTGTRP.a +0 -0
  43. package/vendor/app-server/bin/runtime/macos-arm64/lib/libTiRTC.a +0 -0
  44. package/vendor/app-server/bin/runtime/macos-arm64/lib/libmatrix_runtime_audio.a +0 -0
  45. package/vendor/app-server/bin/runtime/macos-arm64/lib/libmatrix_runtime_credential.a +0 -0
  46. package/vendor/app-server/bin/runtime/macos-arm64/lib/libmatrix_runtime_facade.a +0 -0
  47. package/vendor/app-server/bin/runtime/macos-arm64/lib/libmatrix_runtime_foundation_http.a +0 -0
  48. package/vendor/app-server/bin/runtime/macos-arm64/lib/libmatrix_runtime_foundation_logging.a +0 -0
  49. package/vendor/app-server/bin/runtime/macos-arm64/lib/libmatrix_runtime_media.a +0 -0
  50. package/vendor/app-server/bin/runtime/macos-arm64/lib/libmatrix_runtime_transport.a +0 -0
  51. package/vendor/app-server/bin/runtime/macos-arm64/lib/libmatrix_runtime_video.a +0 -0
  52. package/vendor/app-server/bin/runtime/macos-arm64/manifest.txt +19 -15
  53. package/vendor/app-server/dist/host/HostCommandCoordinator.d.ts +19 -0
  54. package/vendor/app-server/dist/host/HostCommandCoordinator.js +196 -0
  55. package/vendor/app-server/dist/host/HostProtocol.d.ts +1 -11
  56. package/vendor/app-server/dist/host/HostProtocol.js +3 -37
  57. package/vendor/app-server/dist/host/HostServer.d.ts +1 -4
  58. package/vendor/app-server/dist/host/HostServer.js +16 -152
  59. package/vendor/app-server/dist/host/RuntimeAdapter.js +2 -2
  60. package/vendor/app-server/dist/host/native/RuntimeCredentialTokenIssuer.js +3 -3
  61. package/vendor/app-server/dist/host/native/RuntimeHostBridge.js +4 -4
  62. package/vendor/app-server/dist/host/runtime_backed_preflight.js +2 -2
  63. package/vendor/app-server/dist/host/tests/helpers/runtime_e2e_local_config.js +1 -1
  64. package/vendor/app-server/dist/protocol/contract.d.ts +5 -64
  65. package/vendor/app-server/dist/protocol/contract.js +3 -12
  66. package/dist/devtools/cli/src/guide.js +0 -50
  67. package/dist/dummy.d.ts +0 -0
  68. package/dist/dummy.js +0 -1
  69. package/dist/index.d.ts +0 -1
  70. package/dist/index.js +0 -48
  71. package/vendor/app-server/bin/native/macos-arm64/libcrypto.dylib +0 -0
  72. package/vendor/app-server/bin/native/macos-arm64/libssl.dylib +0 -0
  73. package/vendor/app-server/bin/native/macos-arm64/runtime_host_napi.node +0 -0
  74. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/audio_codec.h +0 -23
  75. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/audio_frame.h +0 -36
  76. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/audio_io.h +0 -56
  77. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/audio_io_android.h +0 -19
  78. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/audio_io_apple.h +0 -19
  79. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/audio_io_harmony.h +0 -19
  80. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/audio_io_windows.h +0 -19
  81. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/audio_processing.h +0 -56
  82. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/audio_sample_rate.h +0 -18
  83. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/media_codec.h +0 -21
  84. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/media_downlink.h +0 -89
  85. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/media_uplink.h +0 -115
  86. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/runtime.h +0 -236
  87. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/video_codec.h +0 -57
  88. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/video_frame.h +0 -55
  89. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/video_io.h +0 -46
  90. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/video_io_android.h +0 -32
  91. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/video_io_apple.h +0 -34
  92. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/video_io_harmony.h +0 -32
  93. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/video_io_windows.h +0 -26
  94. package/vendor/app-server/bin/runtime/linux-x64/include/tirtc/video_processing.h +0 -34
  95. package/vendor/app-server/bin/runtime/linux-x64/lib/libmatrix_runtime_audio.a +0 -0
  96. package/vendor/app-server/bin/runtime/linux-x64/lib/libmatrix_runtime_facade.a +0 -0
  97. package/vendor/app-server/bin/runtime/linux-x64/lib/libmatrix_runtime_media.a +0 -0
  98. package/vendor/app-server/bin/runtime/linux-x64/lib/libmatrix_runtime_video.a +0 -0
  99. package/vendor/app-server/bin/runtime/linux-x64/lib/libwebrtc_apm.a +0 -0
  100. package/vendor/app-server/dist/host/RuntimeCredentialTokenIssuer.d.ts +0 -30
  101. package/vendor/app-server/dist/host/RuntimeCredentialTokenIssuer.js +0 -224
  102. /package/dist/{devtools/cli → cli}/src/dummy.d.ts +0 -0
  103. /package/dist/{devtools/cli → cli}/src/dummy.js +0 -0
  104. /package/dist/{devtools/cli → cli}/src/ffmpeg_tool.d.ts +0 -0
  105. /package/dist/{devtools/cli → cli}/src/ffmpeg_tool.js +0 -0
  106. /package/dist/{devtools/cli → cli}/src/guide.d.ts +0 -0
  107. /package/dist/{devtools/cli → cli}/src/index.d.ts +0 -0
  108. /package/dist/{devtools/cli → cli}/src/media_assets.d.ts +0 -0
  109. /package/dist/{devtools/cli → cli}/src/media_assets.js +0 -0
  110. /package/dist/{devtools/cli → cli}/src/progress.d.ts +0 -0
  111. /package/dist/{devtools/cli → cli}/src/progress.js +0 -0
  112. /package/dist/{devtools/cli → cli}/src/session_manager.d.ts +0 -0
  113. /package/dist/{devtools/cli → cli}/src/token_command.d.ts +0 -0
  114. /package/dist/{devtools/cli → cli}/src/transport.js +0 -0
  115. /package/vendor/app-server/bin/{native/macos-arm64 → runtime/macos-arm64/lib}/libtgrtc.dylib +0 -0
@@ -977,87 +977,28 @@ export declare const ServiceStartRequestSchema: z.ZodObject<{
977
977
  export declare const ConnectionConnectRequestSchema: z.ZodEffects<z.ZodObject<{
978
978
  serviceEntry: z.ZodOptional<z.ZodString>;
979
979
  peerId: z.ZodString;
980
- token: z.ZodOptional<z.ZodString>;
981
- tokenMode: z.ZodOptional<z.ZodEnum<["manual", "auto"]>>;
982
- autoToken: z.ZodOptional<z.ZodObject<{
983
- openapiEntry: z.ZodOptional<z.ZodString>;
984
- accessId: z.ZodString;
985
- secretKey: z.ZodString;
986
- localId: z.ZodOptional<z.ZodString>;
987
- userTtlSeconds: z.ZodOptional<z.ZodNumber>;
988
- channelTtlSeconds: z.ZodOptional<z.ZodNumber>;
989
- }, "strip", z.ZodTypeAny, {
990
- accessId: string;
991
- secretKey: string;
992
- openapiEntry?: string | undefined;
993
- localId?: string | undefined;
994
- userTtlSeconds?: number | undefined;
995
- channelTtlSeconds?: number | undefined;
996
- }, {
997
- accessId: string;
998
- secretKey: string;
999
- openapiEntry?: string | undefined;
1000
- localId?: string | undefined;
1001
- userTtlSeconds?: number | undefined;
1002
- channelTtlSeconds?: number | undefined;
1003
- }>>;
980
+ token: z.ZodString;
1004
981
  timeoutMs: z.ZodNumber;
1005
982
  }, "strip", z.ZodTypeAny, {
1006
983
  peerId: string;
984
+ token: string;
1007
985
  timeoutMs: number;
1008
986
  serviceEntry?: string | undefined;
1009
- token?: string | undefined;
1010
- tokenMode?: "manual" | "auto" | undefined;
1011
- autoToken?: {
1012
- accessId: string;
1013
- secretKey: string;
1014
- openapiEntry?: string | undefined;
1015
- localId?: string | undefined;
1016
- userTtlSeconds?: number | undefined;
1017
- channelTtlSeconds?: number | undefined;
1018
- } | undefined;
1019
987
  }, {
1020
988
  peerId: string;
989
+ token: string;
1021
990
  timeoutMs: number;
1022
991
  serviceEntry?: string | undefined;
1023
- token?: string | undefined;
1024
- tokenMode?: "manual" | "auto" | undefined;
1025
- autoToken?: {
1026
- accessId: string;
1027
- secretKey: string;
1028
- openapiEntry?: string | undefined;
1029
- localId?: string | undefined;
1030
- userTtlSeconds?: number | undefined;
1031
- channelTtlSeconds?: number | undefined;
1032
- } | undefined;
1033
992
  }>, {
1034
993
  peerId: string;
994
+ token: string;
1035
995
  timeoutMs: number;
1036
996
  serviceEntry?: string | undefined;
1037
- token?: string | undefined;
1038
- tokenMode?: "manual" | "auto" | undefined;
1039
- autoToken?: {
1040
- accessId: string;
1041
- secretKey: string;
1042
- openapiEntry?: string | undefined;
1043
- localId?: string | undefined;
1044
- userTtlSeconds?: number | undefined;
1045
- channelTtlSeconds?: number | undefined;
1046
- } | undefined;
1047
997
  }, {
1048
998
  peerId: string;
999
+ token: string;
1049
1000
  timeoutMs: number;
1050
1001
  serviceEntry?: string | undefined;
1051
- token?: string | undefined;
1052
- tokenMode?: "manual" | "auto" | undefined;
1053
- autoToken?: {
1054
- accessId: string;
1055
- secretKey: string;
1056
- openapiEntry?: string | undefined;
1057
- localId?: string | undefined;
1058
- userTtlSeconds?: number | undefined;
1059
- channelTtlSeconds?: number | undefined;
1060
- } | undefined;
1061
1002
  }>;
1062
1003
  export declare const StreamSendStartRequestSchema: z.ZodObject<{
1063
1004
  streamId: z.ZodNumber;
@@ -173,19 +173,10 @@ exports.ServiceStartRequestSchema = zod_1.z.object({
173
173
  exports.ConnectionConnectRequestSchema = zod_1.z.object({
174
174
  serviceEntry: zod_1.z.string().optional(),
175
175
  peerId: zod_1.z.string(),
176
- token: zod_1.z.string().optional(),
177
- tokenMode: zod_1.z.enum(["manual", "auto"]).optional(),
178
- autoToken: zod_1.z.object({
179
- openapiEntry: zod_1.z.string().optional(),
180
- accessId: zod_1.z.string(),
181
- secretKey: zod_1.z.string(),
182
- localId: zod_1.z.string().optional(),
183
- userTtlSeconds: zod_1.z.number().int().optional(),
184
- channelTtlSeconds: zod_1.z.number().int().optional(),
185
- }).optional(),
176
+ token: zod_1.z.string().min(1),
186
177
  timeoutMs: zod_1.z.number().int()
187
- }).refine((value) => Boolean(value.token) || Boolean(value.autoToken), {
188
- message: "token or autoToken is required",
178
+ }).refine((value) => value.token.trim().length > 0, {
179
+ message: "token is required",
189
180
  });
190
181
  exports.StreamSendStartRequestSchema = zod_1.z.object({
191
182
  streamId: zod_1.z.number().int(),
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.printQuickstartGuide = printQuickstartGuide;
4
- function printQuickstartGuide() {
5
- const lines = [
6
- 'TiRTC CLI 新手快速入口(服务端 -> 安卓扫码)',
7
- '',
8
- '前置条件:',
9
- '1) 已构建最新 CLI:',
10
- ' npm --prefix app-server run build',
11
- ' npm --prefix devtools/cli run build',
12
- '2) 准备一份 server-only TOML 配置,并把 mp4_path 指向可发送媒体(示例:.refers/simple.mp4)',
13
- '',
14
- '步骤 1:启动服务(自动创建 session)',
15
- ' node devtools/cli/bin/tirtc-devtools-cli.js --config ./server.toml service start',
16
- ' # 记下输出里的 sessionId,后续命令都显式带 --session',
17
- '',
18
- '步骤 2:CLI 会自动 prepare MP4 并绑定音视频 stream,不再需要手工 prepare assets_dir',
19
- ' [server] service_entry = "" license = "<LICENSE>" mp4_path = "./.refers/simple.mp4" video_stream_id = 11 audio_stream_id = 10',
20
- ' # service start 成功后会自动 prepare 并按 AUTO_ON_CONNECTED 进入待发流语义',
21
- '',
22
- '步骤 3:生成连接 bootstrap 二维码(给安卓扫码)',
23
- ' node devtools/cli/bin/tirtc-devtools-cli.js --session <SESSION_ID> debug bootstrap qrcode \\',
24
- ' "<ACCESS_ID>" "<SECRET_KEY>" "<PEER_ID>" "<SERVICE_ENTRY>"',
25
- '',
26
- '步骤 4:安卓扫码后流程(客户端侧)',
27
- ' - 解析二维码 JSON(type=tirtc-connect-bootstrap)',
28
- ' - 用 access_id + secret_key 在客户端/外部系统签发 token',
29
- ' - 持 token + peer_id 连接服务端;连接成功后请求 audio_stream_id/video_stream_id',
30
- '',
31
- '额外:如果你只想本地直接签发并拿到可扫码 payload,可执行:',
32
- ' export TIRTC_CONN_ACCESS_ID="<ACCESS_ID>"',
33
- ' export TIRTC_CONN_SECRET_KEY="<SECRET_KEY>"',
34
- ' node devtools/cli/bin/tirtc-devtools-cli.js token issue "<PEER_ID>" \\',
35
- ' --local-id "<LOCAL_ID>" --service-entry "<SERVICE_ENTRY>"',
36
- ' # CLI 会直接打印摘要、payload JSON、token,并生成本地二维码 PNG 路径',
37
- ' # 如需临时覆盖,也可显式传 --access-id / --secret-key',
38
- '',
39
- '步骤 5:服务端观测',
40
- ' node devtools/cli/bin/tirtc-devtools-cli.js --session <SESSION_ID> events tail',
41
- ' node devtools/cli/bin/tirtc-devtools-cli.js --session <SESSION_ID> report show',
42
- '',
43
- '补充:',
44
- '- debug bootstrap qrcode 仅生成连接信息二维码,不签发 token',
45
- '- 机器可读输出:在命令后追加 --json',
46
- '- 查看全部命令:node devtools/cli/bin/tirtc-devtools-cli.js --help',
47
- '- 查看单命令说明:node devtools/cli/bin/tirtc-devtools-cli.js <command> --help',
48
- ];
49
- console.log(lines.join('\n'));
50
- }
package/dist/dummy.d.ts DELETED
File without changes
package/dist/dummy.js DELETED
@@ -1 +0,0 @@
1
- "use strict";
package/dist/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export {};
package/dist/index.js DELETED
@@ -1,48 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const commander_1 = require("commander");
7
- const child_process_1 = require("child_process");
8
- const path_1 = __importDefault(require("path"));
9
- const fs_1 = __importDefault(require("fs"));
10
- const program = new commander_1.Command();
11
- const CLI_VERSION = '1.0.0';
12
- function getHostBinaryPath() {
13
- // Local development path relative to dist/index.js
14
- const localDevPath = path_1.default.resolve(__dirname, '../../../app-server/bin/tirtc-devtool-host.js');
15
- if (fs_1.default.existsSync(localDevPath)) {
16
- return localDevPath;
17
- }
18
- // Fallback to globally installed or in PATH
19
- return 'tirtc-devtool-host';
20
- }
21
- program
22
- .name('tirtc-devtool')
23
- .description('TiRTC Developer Tool CLI')
24
- .option('-v, --version', 'output the version number')
25
- .action((options) => {
26
- if (options.version) {
27
- console.log(`CLI Version: ${CLI_VERSION}`);
28
- const hostPath = getHostBinaryPath();
29
- let hostCmdPath = hostPath;
30
- let hostArgs = ['--version'];
31
- if (hostPath.endsWith('.js')) {
32
- hostArgs = [hostPath, '--version'];
33
- hostCmdPath = process.execPath;
34
- }
35
- try {
36
- const result = (0, child_process_1.spawnSync)(hostCmdPath, hostArgs, { encoding: 'utf-8' });
37
- if (result.stdout) {
38
- process.stdout.write(result.stdout);
39
- }
40
- }
41
- catch (e) {
42
- console.log('Host Version: unknown');
43
- console.log('Protocol Version: unknown');
44
- }
45
- process.exit(0);
46
- }
47
- });
48
- program.parse(process.argv);
@@ -1,23 +0,0 @@
1
- #ifndef TIRTC_AUDIO_CODEC_H_
2
- #define TIRTC_AUDIO_CODEC_H_
3
-
4
- #include <stddef.h>
5
-
6
- #include "tirtc/audio_frame.h"
7
- #include "tirtc/error.h"
8
-
9
- #ifdef __cplusplus
10
- extern "C" {
11
- #endif
12
-
13
- TirtcError tirtc_audio_g711a_encode(const TirtcAudioPcmFrame* pcm_frame, void* out_buffer,
14
- size_t out_buffer_capacity, TirtcAudioEncodedFrame* out_frame);
15
-
16
- TirtcError tirtc_audio_g711a_decode(const TirtcAudioEncodedFrame* in_frame, void* out_buffer,
17
- size_t out_buffer_capacity, TirtcAudioPcmFrame* out_frame);
18
-
19
- #ifdef __cplusplus
20
- }
21
- #endif
22
-
23
- #endif // TIRTC_AUDIO_CODEC_H_
@@ -1,36 +0,0 @@
1
- #ifndef TIRTC_AUDIO_FRAME_H_
2
- #define TIRTC_AUDIO_FRAME_H_
3
-
4
- #include <stddef.h>
5
- #include <stdint.h>
6
-
7
- #include "tirtc/audio_sample_rate.h"
8
- #include "tirtc/media_codec.h"
9
-
10
- #ifdef __cplusplus
11
- extern "C" {
12
- #endif
13
-
14
- typedef struct TirtcAudioPcmFrame {
15
- TirtcAudioSampleRate sample_rate;
16
- uint32_t samples_per_channel;
17
- int64_t pts_us;
18
- /* Mutable PCM payload for capture, processing, and render-fill paths. */
19
- void* data;
20
- size_t data_bytes;
21
- } TirtcAudioPcmFrame;
22
-
23
- typedef struct TirtcAudioEncodedFrame {
24
- TirtcMediaCodec codec;
25
- TirtcAudioSampleRate sample_rate;
26
- uint32_t samples_per_channel;
27
- int64_t pts_us;
28
- const void* data;
29
- size_t data_bytes;
30
- } TirtcAudioEncodedFrame;
31
-
32
- #ifdef __cplusplus
33
- }
34
- #endif
35
-
36
- #endif // TIRTC_AUDIO_FRAME_H_
@@ -1,56 +0,0 @@
1
- #ifndef TIRTC_AUDIO_IO_H_
2
- #define TIRTC_AUDIO_IO_H_
3
-
4
- #include <stdint.h>
5
-
6
- #include "tirtc/audio_frame.h"
7
- #include "tirtc/error.h"
8
-
9
- #ifdef __cplusplus
10
- extern "C" {
11
- #endif
12
-
13
- typedef struct TirtcAudioAin TirtcAudioAin;
14
- typedef struct TirtcAudioAout TirtcAudioAout;
15
-
16
- typedef struct TirtcAudioIoConfig {
17
- TirtcAudioSampleRate sample_rate;
18
- /* v1 uses fixed 10 ms mono blocks: 8K -> 80 samples, 16K -> 160 samples. */
19
- uint32_t samples_per_buffer;
20
- } TirtcAudioIoConfig;
21
-
22
- typedef void (*TirtcAudioAinOnFrameFn)(TirtcAudioAin* ain, const TirtcAudioPcmFrame* frame,
23
- void* user_data);
24
-
25
- /*
26
- * AOUT pre-fills sample_rate, samples_per_channel, data, and data_bytes before
27
- * calling render. The callback contract expects a non-negative rendered PCM
28
- * byte count. Backends defensively clamp negative returns to zero and zero-fill
29
- * any remaining buffer space.
30
- *
31
- * The render callback and user_data supplied at open-time must stay valid until
32
- * close completes. Backends may invoke render without holding backend locks.
33
- */
34
- typedef int (*TirtcAudioAoutRenderFn)(TirtcAudioAout* aout, TirtcAudioPcmFrame* frame,
35
- void* user_data);
36
-
37
- TirtcError tirtc_audio_ain_open(TirtcAudioAin* ain, const TirtcAudioIoConfig* config,
38
- TirtcAudioAinOnFrameFn on_frame, void* user_data);
39
-
40
- TirtcError tirtc_audio_ain_close(TirtcAudioAin* ain);
41
- void tirtc_audio_ain_destroy(TirtcAudioAin* ain);
42
-
43
- TirtcError tirtc_audio_aout_open(TirtcAudioAout* aout, const TirtcAudioIoConfig* config,
44
- TirtcAudioAoutRenderFn render, void* user_data);
45
-
46
- TirtcError tirtc_audio_aout_set_volume(TirtcAudioAout* aout, uint32_t volume_percent);
47
- TirtcError tirtc_audio_aout_pause(TirtcAudioAout* aout, int pause_on);
48
- TirtcError tirtc_audio_aout_flush(TirtcAudioAout* aout);
49
- TirtcError tirtc_audio_aout_close(TirtcAudioAout* aout);
50
- void tirtc_audio_aout_destroy(TirtcAudioAout* aout);
51
-
52
- #ifdef __cplusplus
53
- }
54
- #endif
55
-
56
- #endif // TIRTC_AUDIO_IO_H_
@@ -1,19 +0,0 @@
1
- #ifndef TIRTC_AUDIO_IO_ANDROID_H_
2
- #define TIRTC_AUDIO_IO_ANDROID_H_
3
-
4
- #include "tirtc/audio_io.h"
5
-
6
- #ifdef __cplusplus
7
- extern "C" {
8
- #endif
9
-
10
- #if defined(__ANDROID__)
11
- TirtcError tirtc_audio_android_create_open_sl_ain(TirtcAudioAin** out_ain);
12
- TirtcError tirtc_audio_android_create_open_sl_aout(TirtcAudioAout** out_aout);
13
- #endif
14
-
15
- #ifdef __cplusplus
16
- }
17
- #endif
18
-
19
- #endif // TIRTC_AUDIO_IO_ANDROID_H_
@@ -1,19 +0,0 @@
1
- #ifndef TIRTC_AUDIO_IO_APPLE_H_
2
- #define TIRTC_AUDIO_IO_APPLE_H_
3
-
4
- #include "tirtc/audio_io.h"
5
-
6
- #ifdef __cplusplus
7
- extern "C" {
8
- #endif
9
-
10
- #if defined(__APPLE__)
11
- TirtcError tirtc_audio_apple_create_audio_toolbox_ain(TirtcAudioAin** out_ain);
12
- TirtcError tirtc_audio_apple_create_audio_queue_aout(TirtcAudioAout** out_aout);
13
- #endif
14
-
15
- #ifdef __cplusplus
16
- }
17
- #endif
18
-
19
- #endif // TIRTC_AUDIO_IO_APPLE_H_
@@ -1,19 +0,0 @@
1
- #ifndef TIRTC_AUDIO_IO_HARMONY_H_
2
- #define TIRTC_AUDIO_IO_HARMONY_H_
3
-
4
- #include "tirtc/audio_io.h"
5
-
6
- #ifdef __cplusplus
7
- extern "C" {
8
- #endif
9
-
10
- #if defined(__OHOS__)
11
- TirtcError tirtc_audio_harmony_create_open_sl_ain(TirtcAudioAin** out_ain);
12
- TirtcError tirtc_audio_harmony_create_audio_render_aout(TirtcAudioAout** out_aout);
13
- #endif
14
-
15
- #ifdef __cplusplus
16
- }
17
- #endif
18
-
19
- #endif // TIRTC_AUDIO_IO_HARMONY_H_
@@ -1,19 +0,0 @@
1
- #ifndef TIRTC_AUDIO_IO_WINDOWS_H_
2
- #define TIRTC_AUDIO_IO_WINDOWS_H_
3
-
4
- #include "tirtc/audio_io.h"
5
-
6
- #ifdef __cplusplus
7
- extern "C" {
8
- #endif
9
-
10
- #if defined(_WIN32)
11
- TirtcError tirtc_audio_windows_create_wasapi_ain(TirtcAudioAin** out_ain);
12
- TirtcError tirtc_audio_windows_create_wave_out_aout(TirtcAudioAout** out_aout);
13
- #endif
14
-
15
- #ifdef __cplusplus
16
- }
17
- #endif
18
-
19
- #endif // TIRTC_AUDIO_IO_WINDOWS_H_
@@ -1,56 +0,0 @@
1
- #ifndef TIRTC_AUDIO_PROCESSING_H_
2
- #define TIRTC_AUDIO_PROCESSING_H_
3
-
4
- #include "tirtc/audio_frame.h"
5
- #include "tirtc/error.h"
6
-
7
- #ifdef __cplusplus
8
- extern "C" {
9
- #endif
10
-
11
- typedef struct TirtcAudioProcessor TirtcAudioProcessor;
12
-
13
- typedef enum TirtcAudioAecMode {
14
- TIRTC_AUDIO_AEC_MODE_DISABLED = 0,
15
- TIRTC_AUDIO_AEC_MODE_ENABLED = 1,
16
- } TirtcAudioAecMode;
17
-
18
- typedef enum TirtcAudioAnsLevel {
19
- TIRTC_AUDIO_ANS_LEVEL_DISABLED = 0,
20
- TIRTC_AUDIO_ANS_LEVEL_LOW = 1,
21
- TIRTC_AUDIO_ANS_LEVEL_MEDIUM = 2,
22
- TIRTC_AUDIO_ANS_LEVEL_HIGH = 3,
23
- } TirtcAudioAnsLevel;
24
-
25
- typedef enum TirtcAudioAgcLevel {
26
- TIRTC_AUDIO_AGC_LEVEL_DISABLED = 0,
27
- TIRTC_AUDIO_AGC_LEVEL_LOW = 1,
28
- TIRTC_AUDIO_AGC_LEVEL_MEDIUM = 2,
29
- TIRTC_AUDIO_AGC_LEVEL_HIGH = 3,
30
- } TirtcAudioAgcLevel;
31
-
32
- typedef struct TirtcAudioProcessorConfig {
33
- TirtcAudioSampleRate sample_rate;
34
- TirtcAudioAecMode aec_mode;
35
- TirtcAudioAnsLevel ans_level;
36
- TirtcAudioAgcLevel agc_level;
37
- } TirtcAudioProcessorConfig;
38
-
39
- TirtcError tirtc_audio_processor_create(const TirtcAudioProcessorConfig* config,
40
- TirtcAudioProcessor** out_processor);
41
- void tirtc_audio_processor_destroy(TirtcAudioProcessor* processor);
42
-
43
- TirtcError tirtc_audio_processor_set_config(TirtcAudioProcessor* processor,
44
- const TirtcAudioProcessorConfig* config);
45
-
46
- TirtcError tirtc_audio_processor_process(TirtcAudioProcessor* processor,
47
- const TirtcAudioPcmFrame* in_frame,
48
- TirtcAudioPcmFrame* out_frame);
49
-
50
- TirtcError tirtc_audio_processor_reset(TirtcAudioProcessor* processor);
51
-
52
- #ifdef __cplusplus
53
- }
54
- #endif
55
-
56
- #endif // TIRTC_AUDIO_PROCESSING_H_
@@ -1,18 +0,0 @@
1
- #ifndef TIRTC_MEDIA_CONTRACT_AUDIO_SAMPLE_RATE_H_
2
- #define TIRTC_MEDIA_CONTRACT_AUDIO_SAMPLE_RATE_H_
3
-
4
- #ifdef __cplusplus
5
- extern "C" {
6
- #endif
7
-
8
- typedef enum TirtcAudioSampleRate {
9
- TIRTC_AUDIO_SAMPLE_RATE_NONE = 0,
10
- TIRTC_AUDIO_SAMPLE_RATE_8K = 8000,
11
- TIRTC_AUDIO_SAMPLE_RATE_16K = 16000,
12
- } TirtcAudioSampleRate;
13
-
14
- #ifdef __cplusplus
15
- }
16
- #endif
17
-
18
- #endif // TIRTC_MEDIA_CONTRACT_AUDIO_SAMPLE_RATE_H_
@@ -1,21 +0,0 @@
1
- #ifndef TIRTC_MEDIA_CONTRACT_MEDIA_CODEC_H_
2
- #define TIRTC_MEDIA_CONTRACT_MEDIA_CODEC_H_
3
-
4
- #ifdef __cplusplus
5
- extern "C" {
6
- #endif
7
-
8
- typedef enum TirtcMediaCodec {
9
- TIRTC_MEDIA_CODEC_NONE = 0,
10
- TIRTC_MEDIA_CODEC_AUDIO_G711A = 1,
11
- /* Reserved shared identifiers; concrete video implementations live outside media-contract. */
12
- TIRTC_MEDIA_CODEC_VIDEO_H264 = 65,
13
- TIRTC_MEDIA_CODEC_VIDEO_H265 = 66,
14
- TIRTC_MEDIA_CODEC_VIDEO_MJPEG = 67,
15
- } TirtcMediaCodec;
16
-
17
- #ifdef __cplusplus
18
- }
19
- #endif
20
-
21
- #endif // TIRTC_MEDIA_CONTRACT_MEDIA_CODEC_H_
@@ -1,89 +0,0 @@
1
- #ifndef TIRTC_MEDIA_DOWNLINK_H_
2
- #define TIRTC_MEDIA_DOWNLINK_H_
3
-
4
- #include <stdint.h>
5
-
6
- #include "tirtc/audio_frame.h"
7
- #include "tirtc/audio_io.h"
8
- #include "tirtc/error.h"
9
- #include "tirtc/video_frame.h"
10
- #include "tirtc/video_io.h"
11
-
12
- #ifdef __cplusplus
13
- extern "C" {
14
- #endif
15
-
16
- typedef struct TirtcMediaDownlinkAudio TirtcMediaDownlinkAudio;
17
- typedef struct TirtcMediaDownlinkVideo TirtcMediaDownlinkVideo;
18
-
19
- typedef enum TirtcMediaDownlinkState {
20
- TIRTC_MEDIA_DOWNLINK_STATE_IDLE = 0,
21
- TIRTC_MEDIA_DOWNLINK_STATE_RENDERING = 1,
22
- TIRTC_MEDIA_DOWNLINK_STATE_BUFFERING = 2,
23
- TIRTC_MEDIA_DOWNLINK_STATE_PAUSED = 3,
24
- TIRTC_MEDIA_DOWNLINK_STATE_COMPLETED = 4,
25
- TIRTC_MEDIA_DOWNLINK_STATE_FAILED = 5,
26
- } TirtcMediaDownlinkState;
27
-
28
- typedef struct TirtcMediaDownlinkAudioOptions {
29
- uint32_t volume_percent;
30
- int gain_level;
31
- int noise_reduction_level;
32
- } TirtcMediaDownlinkAudioOptions;
33
-
34
- typedef struct TirtcMediaDownlinkAudioObserver {
35
- void (*on_state_changed)(TirtcMediaDownlinkAudio* downlink, TirtcMediaDownlinkState state,
36
- TirtcError error, void* user_data);
37
- } TirtcMediaDownlinkAudioObserver;
38
-
39
- typedef struct TirtcMediaDownlinkVideoObserver {
40
- void (*on_state_changed)(TirtcMediaDownlinkVideo* downlink, TirtcMediaDownlinkState state,
41
- TirtcError error, void* user_data);
42
- void (*on_output_size_changed)(TirtcMediaDownlinkVideo* downlink, uint32_t width, uint32_t height,
43
- void* user_data);
44
- } TirtcMediaDownlinkVideoObserver;
45
-
46
- TirtcError tirtc_media_downlink_audio_create(TirtcMediaDownlinkAudio** out_downlink);
47
- void tirtc_media_downlink_audio_destroy(TirtcMediaDownlinkAudio* downlink);
48
- TirtcError tirtc_media_downlink_audio_set_aout(TirtcMediaDownlinkAudio* downlink,
49
- TirtcAudioAout* aout);
50
- TirtcError tirtc_media_downlink_audio_set_options(TirtcMediaDownlinkAudio* downlink,
51
- const TirtcMediaDownlinkAudioOptions* options);
52
- TirtcError tirtc_media_downlink_audio_set_observer(TirtcMediaDownlinkAudio* downlink,
53
- const TirtcMediaDownlinkAudioObserver* observer,
54
- void* user_data);
55
- TirtcError tirtc_media_downlink_audio_clear_observer(TirtcMediaDownlinkAudio* downlink);
56
- TirtcError tirtc_media_downlink_audio_submit_frame(TirtcMediaDownlinkAudio* downlink,
57
- const TirtcAudioEncodedFrame* frame);
58
- TirtcError tirtc_media_downlink_audio_get_current_pts(TirtcMediaDownlinkAudio* downlink,
59
- int64_t* out_pts_us);
60
- TirtcError tirtc_media_downlink_audio_start(TirtcMediaDownlinkAudio* downlink);
61
- TirtcError tirtc_media_downlink_audio_stop(TirtcMediaDownlinkAudio* downlink);
62
-
63
- TirtcError tirtc_media_downlink_video_create(TirtcMediaDownlinkVideo** out_downlink);
64
- void tirtc_media_downlink_video_destroy(TirtcMediaDownlinkVideo* downlink);
65
- TirtcError tirtc_media_downlink_video_set_vout(TirtcMediaDownlinkVideo* downlink,
66
- TirtcVideoVout* vout);
67
- TirtcError tirtc_media_downlink_video_set_observer(TirtcMediaDownlinkVideo* downlink,
68
- const TirtcMediaDownlinkVideoObserver* observer,
69
- void* user_data);
70
- TirtcError tirtc_media_downlink_video_clear_observer(TirtcMediaDownlinkVideo* downlink);
71
- TirtcError tirtc_media_downlink_video_submit_frame(TirtcMediaDownlinkVideo* downlink,
72
- const TirtcVideoEncodedFrame* frame);
73
- TirtcError tirtc_media_downlink_video_get_current_pts(TirtcMediaDownlinkVideo* downlink,
74
- int64_t* out_pts_us);
75
- TirtcError tirtc_media_downlink_video_get_output_size(TirtcMediaDownlinkVideo* downlink,
76
- uint32_t* out_width, uint32_t* out_height);
77
- TirtcError tirtc_media_downlink_video_follow_audio(TirtcMediaDownlinkVideo* follower,
78
- TirtcMediaDownlinkAudio* source);
79
- TirtcError tirtc_media_downlink_video_follow_video(TirtcMediaDownlinkVideo* follower,
80
- TirtcMediaDownlinkVideo* source);
81
- TirtcError tirtc_media_downlink_video_use_self_timing(TirtcMediaDownlinkVideo* downlink);
82
- TirtcError tirtc_media_downlink_video_start(TirtcMediaDownlinkVideo* downlink);
83
- TirtcError tirtc_media_downlink_video_stop(TirtcMediaDownlinkVideo* downlink);
84
-
85
- #ifdef __cplusplus
86
- }
87
- #endif
88
-
89
- #endif // TIRTC_MEDIA_DOWNLINK_H_