@blockcast/mmt-transport 0.2.0
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.
- package/dist/abr-controller.d.ts +94 -0
- package/dist/abr-controller.d.ts.map +1 -0
- package/dist/abr-controller.js +174 -0
- package/dist/abr-controller.js.map +1 -0
- package/dist/amt-gateway.d.ts +160 -0
- package/dist/amt-gateway.d.ts.map +1 -0
- package/dist/amt-gateway.js +390 -0
- package/dist/amt-gateway.js.map +1 -0
- package/dist/clock.d.ts +104 -0
- package/dist/clock.d.ts.map +1 -0
- package/dist/clock.js +183 -0
- package/dist/clock.js.map +1 -0
- package/dist/driad-discovery.d.ts +50 -0
- package/dist/driad-discovery.d.ts.map +1 -0
- package/dist/driad-discovery.js +170 -0
- package/dist/driad-discovery.js.map +1 -0
- package/dist/fec-client.d.ts +442 -0
- package/dist/fec-client.d.ts.map +1 -0
- package/dist/fec-client.js +784 -0
- package/dist/fec-client.js.map +1 -0
- package/dist/fec-client.test.d.ts +8 -0
- package/dist/fec-client.test.d.ts.map +1 -0
- package/dist/fec-client.test.js +112 -0
- package/dist/fec-client.test.js.map +1 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +43 -0
- package/dist/index.js.map +1 -0
- package/dist/transport-manager.d.ts +114 -0
- package/dist/transport-manager.d.ts.map +1 -0
- package/dist/transport-manager.js +396 -0
- package/dist/transport-manager.js.map +1 -0
- package/dist/types.d.ts +356 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +85 -0
- package/dist/types.js.map +1 -0
- package/package.json +60 -0
- package/src/abr-controller.ts +227 -0
- package/src/amt-gateway.ts +511 -0
- package/src/clock.ts +212 -0
- package/src/driad-discovery.ts +193 -0
- package/src/fec-client.test.ts +140 -0
- package/src/fec-client.ts +1097 -0
- package/src/index.ts +122 -0
- package/src/transport-manager.ts +460 -0
- package/src/types.ts +420 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fec-client.js","sourceRoot":"","sources":["../src/fec-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fec-client.test.d.ts","sourceRoot":"","sources":["../src/fec-client.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for FEC Client
|
|
3
|
+
*
|
|
4
|
+
* Note: MmtFecClient requires WASM module which is tested separately in mmt-wasm.
|
|
5
|
+
* These tests cover the pure TypeScript parts (MfuReassembler) and type exports.
|
|
6
|
+
*/
|
|
7
|
+
import { describe, expect, it, beforeEach } from "vitest";
|
|
8
|
+
import { MoqFecClient } from "./fec-client.js";
|
|
9
|
+
describe("FecDecoderConfig interface", () => {
|
|
10
|
+
it("should have correct shape", () => {
|
|
11
|
+
const config = {
|
|
12
|
+
symbolSize: 1280,
|
|
13
|
+
sourceBlocks: 1,
|
|
14
|
+
subBlocks: 1,
|
|
15
|
+
alignment: 8,
|
|
16
|
+
interleaveDepth: 30,
|
|
17
|
+
};
|
|
18
|
+
expect(config.symbolSize).toBe(1280);
|
|
19
|
+
expect(config.sourceBlocks).toBe(1);
|
|
20
|
+
expect(config.subBlocks).toBe(1);
|
|
21
|
+
expect(config.alignment).toBe(8);
|
|
22
|
+
expect(config.interleaveDepth).toBe(30);
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
describe("MoqFecClient", () => {
|
|
26
|
+
let client;
|
|
27
|
+
beforeEach(() => {
|
|
28
|
+
client = new MoqFecClient({
|
|
29
|
+
symbolSize: 1280,
|
|
30
|
+
k: 10,
|
|
31
|
+
p: 3,
|
|
32
|
+
interleaveDepth: 30,
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
it("should create with default config", () => {
|
|
36
|
+
const defaultClient = new MoqFecClient();
|
|
37
|
+
const config = defaultClient.getConfig();
|
|
38
|
+
expect(config.symbolSize).toBe(1280);
|
|
39
|
+
expect(config.k).toBe(10);
|
|
40
|
+
expect(config.p).toBe(3);
|
|
41
|
+
expect(config.interleaveDepth).toBe(30);
|
|
42
|
+
});
|
|
43
|
+
it("should create with custom config", () => {
|
|
44
|
+
const config = client.getConfig();
|
|
45
|
+
expect(config.symbolSize).toBe(1280);
|
|
46
|
+
expect(config.k).toBe(10);
|
|
47
|
+
expect(config.p).toBe(3);
|
|
48
|
+
expect(config.interleaveDepth).toBe(30);
|
|
49
|
+
});
|
|
50
|
+
it("should not be initialized without WASM module", () => {
|
|
51
|
+
expect(client.isInitialized()).toBe(false);
|
|
52
|
+
expect(client.isDecoderReady()).toBe(false);
|
|
53
|
+
});
|
|
54
|
+
it("should return default stats when not initialized", () => {
|
|
55
|
+
const stats = client.getStats();
|
|
56
|
+
expect(stats.blocksComplete).toBe(0);
|
|
57
|
+
expect(stats.blocksIncomplete).toBe(0);
|
|
58
|
+
expect(stats.totalSymbolsReceived).toBe(0);
|
|
59
|
+
expect(stats.effectiveLossRate).toBe(0);
|
|
60
|
+
expect(stats.recoveryRate).toBe(1);
|
|
61
|
+
});
|
|
62
|
+
it("should return ABR stats when not initialized", () => {
|
|
63
|
+
const abrStats = client.getAbrStats();
|
|
64
|
+
expect(abrStats.effectiveLossRate).toBe(0);
|
|
65
|
+
expect(abrStats.rawLossRate).toBe(0);
|
|
66
|
+
expect(abrStats.recoveryRate).toBe(1);
|
|
67
|
+
expect(abrStats.fecEnabled).toBe(false);
|
|
68
|
+
});
|
|
69
|
+
it("should calculate max block size", () => {
|
|
70
|
+
// Without WASM, uses config values: k * symbolSize
|
|
71
|
+
const maxSize = client.getMaxBlockSize();
|
|
72
|
+
expect(maxSize).toBe(10 * 1280); // k=10, symbolSize=1280
|
|
73
|
+
});
|
|
74
|
+
it("should calculate overhead ratio", () => {
|
|
75
|
+
// Without WASM, uses config values: p / k
|
|
76
|
+
const overhead = client.getOverheadRatio();
|
|
77
|
+
expect(overhead).toBe(3 / 10); // p=3, k=10
|
|
78
|
+
});
|
|
79
|
+
it("should throw when encoding without initialization", () => {
|
|
80
|
+
expect(() => client.encodeBlock(new Uint8Array(100))).toThrow("MoqFecClient not initialized");
|
|
81
|
+
});
|
|
82
|
+
it("should return null when adding source symbol without decoder", () => {
|
|
83
|
+
const result = client.addSourceSymbol(0, 0, new Uint8Array(100));
|
|
84
|
+
expect(result).toBeNull();
|
|
85
|
+
});
|
|
86
|
+
it("should return null when adding repair symbol without decoder", () => {
|
|
87
|
+
const result = client.addRepairSymbol(0, 0, new Uint8Array(100));
|
|
88
|
+
expect(result).toBeNull();
|
|
89
|
+
});
|
|
90
|
+
it("should dispose cleanly", () => {
|
|
91
|
+
client.dispose();
|
|
92
|
+
expect(client.isInitialized()).toBe(false);
|
|
93
|
+
expect(client.getOti()).toBeNull();
|
|
94
|
+
});
|
|
95
|
+
it("should reject invalid OTI length", () => {
|
|
96
|
+
expect(() => client.setOti(new Uint8Array(10))).toThrow("OTI must be exactly 12 bytes");
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
describe("MoqFecClientConfig type", () => {
|
|
100
|
+
it("should allow partial config", () => {
|
|
101
|
+
const partial = {
|
|
102
|
+
k: 20,
|
|
103
|
+
};
|
|
104
|
+
const client = new MoqFecClient(partial);
|
|
105
|
+
const config = client.getConfig();
|
|
106
|
+
expect(config.k).toBe(20);
|
|
107
|
+
expect(config.p).toBe(3); // default
|
|
108
|
+
expect(config.symbolSize).toBe(1280); // default
|
|
109
|
+
expect(config.interleaveDepth).toBe(30); // default
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
//# sourceMappingURL=fec-client.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fec-client.test.js","sourceRoot":"","sources":["../src/fec-client.test.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @blockcast/transport
|
|
3
|
+
*
|
|
4
|
+
* Unified transport manager for MoQ players with WebTransport, multicast, AMT, DRIAD, and FEC support.
|
|
5
|
+
*
|
|
6
|
+
* Transport modes:
|
|
7
|
+
* - Native multicast (ASM/SSM via IGMPv3/MLD + PIM-SSM)
|
|
8
|
+
* - AMT tunneling (RFC 7450) with optional DRIAD relay discovery
|
|
9
|
+
* - WebTransport/QUIC (MoQ-lite protocol)
|
|
10
|
+
* - WebSocket fallback
|
|
11
|
+
*
|
|
12
|
+
* Transport promotion hierarchy (WebTransport-first for fast startup):
|
|
13
|
+
* 1. WebTransport - immediate connection for fast channel select
|
|
14
|
+
* 2. Background discovery - check if multicast available
|
|
15
|
+
* 3. Promote to multicast (Native SSM > IGMP > AMT) if available
|
|
16
|
+
* 4. WebSocket fallback if WebTransport unavailable
|
|
17
|
+
*
|
|
18
|
+
* Features:
|
|
19
|
+
* - Progressive adaptive bitrate based on network conditions
|
|
20
|
+
* - FEC (Forward Error Correction) for burst loss recovery
|
|
21
|
+
* - Seamless transport switching with session continuity
|
|
22
|
+
* - Unified FEC/ABR pipeline across all transport modes
|
|
23
|
+
* - A/V synchronization via SharedClock
|
|
24
|
+
*/
|
|
25
|
+
export type { TransportConfig, TransportSubscription, QualityLevel, TransportCapabilities, TransportMode, TransportState, DRIADRelay, AmtRelayInfo, GroupKey, PacketMetadata, MfuFragment, ReassembledMfu, ProcessingStats, MmtFecClientOptions, Micro, SyncDecision, MulticastAPI, MulticastSubscription, MulticastTransportMode, MulticastConfig, PacketSource, SubscriptionState, SubscriptionStats, MulticastSubscriptionHandle, FecConfig, FecStats, MulticastConfigWithFec, MulticastBridge, MoqFecConfig, RepairObjectHeader, SSMConfig, SSMSubscription, } from "./types.js";
|
|
26
|
+
export { FEC_CONFIG_MESSAGE_TYPE, REPAIR_TRACK_SUFFIX, repairTrackPath, isRepairTrack, sourceTrackFromRepair, MoqFecAlgorithm, } from "./types.js";
|
|
27
|
+
export { TransportManager, transportManager } from "./transport-manager.js";
|
|
28
|
+
export { SSMTransportManager, ssmTransport } from "./transport-manager.js";
|
|
29
|
+
export { DRIADDiscovery, driadDiscovery } from "./driad-discovery.js";
|
|
30
|
+
export { AdaptiveBitrateController, QUALITY_LEVELS, type FecStatsForAbr, } from "./abr-controller.js";
|
|
31
|
+
export { AMTGatewayManager, AMTGateway, amtGatewayManager, type AMTSubscriptionConfig, type AMTGatewayOptions, } from "./amt-gateway.js";
|
|
32
|
+
export { MmtFecClient, createMulticastFecHandler, setupMmtFec, MoqFecClient, createMoqFecClient, loadMmtWasm, type MoqFecClientConfig, type MoqFecClientStats, type FecDecoderConfig, } from "./fec-client.js";
|
|
33
|
+
export { SharedClock, getSharedClock, resetSharedClock, SYNC_TOLERANCE_US, PTS_OFFSET_US, } from "./clock.js";
|
|
34
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,YAAY,EACX,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,WAAW,EACX,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,qBAAqB,EAErB,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,SAAS,EACT,QAAQ,EACR,sBAAsB,EACtB,eAAe,EAEf,YAAY,EACZ,kBAAkB,EAElB,SAAS,EACT,eAAe,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EACN,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,eAAe,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG5E,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3E,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtE,OAAO,EACN,yBAAyB,EACzB,cAAc,EACd,KAAK,cAAc,GACnB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACN,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,GACtB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACN,YAAY,EACZ,yBAAyB,EACzB,WAAW,EAEX,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAEtB,KAAK,gBAAgB,GACrB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACN,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,GACb,MAAM,YAAY,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @blockcast/transport
|
|
3
|
+
*
|
|
4
|
+
* Unified transport manager for MoQ players with WebTransport, multicast, AMT, DRIAD, and FEC support.
|
|
5
|
+
*
|
|
6
|
+
* Transport modes:
|
|
7
|
+
* - Native multicast (ASM/SSM via IGMPv3/MLD + PIM-SSM)
|
|
8
|
+
* - AMT tunneling (RFC 7450) with optional DRIAD relay discovery
|
|
9
|
+
* - WebTransport/QUIC (MoQ-lite protocol)
|
|
10
|
+
* - WebSocket fallback
|
|
11
|
+
*
|
|
12
|
+
* Transport promotion hierarchy (WebTransport-first for fast startup):
|
|
13
|
+
* 1. WebTransport - immediate connection for fast channel select
|
|
14
|
+
* 2. Background discovery - check if multicast available
|
|
15
|
+
* 3. Promote to multicast (Native SSM > IGMP > AMT) if available
|
|
16
|
+
* 4. WebSocket fallback if WebTransport unavailable
|
|
17
|
+
*
|
|
18
|
+
* Features:
|
|
19
|
+
* - Progressive adaptive bitrate based on network conditions
|
|
20
|
+
* - FEC (Forward Error Correction) for burst loss recovery
|
|
21
|
+
* - Seamless transport switching with session continuity
|
|
22
|
+
* - Unified FEC/ABR pipeline across all transport modes
|
|
23
|
+
* - A/V synchronization via SharedClock
|
|
24
|
+
*/
|
|
25
|
+
// FEC constants and utilities per draft-ramadan-moq-fec-00
|
|
26
|
+
export { FEC_CONFIG_MESSAGE_TYPE, REPAIR_TRACK_SUFFIX, repairTrackPath, isRepairTrack, sourceTrackFromRepair, MoqFecAlgorithm, } from "./types.js";
|
|
27
|
+
// Transport Manager (renamed from SSMTransportManager)
|
|
28
|
+
export { TransportManager, transportManager } from "./transport-manager.js";
|
|
29
|
+
// @deprecated - Use TransportManager and transportManager instead
|
|
30
|
+
export { SSMTransportManager, ssmTransport } from "./transport-manager.js";
|
|
31
|
+
// DRIAD Discovery
|
|
32
|
+
export { DRIADDiscovery, driadDiscovery } from "./driad-discovery.js";
|
|
33
|
+
// Adaptive Bitrate Controller
|
|
34
|
+
export { AdaptiveBitrateController, QUALITY_LEVELS, } from "./abr-controller.js";
|
|
35
|
+
// AMT Gateway
|
|
36
|
+
export { AMTGatewayManager, AMTGateway, amtGatewayManager, } from "./amt-gateway.js";
|
|
37
|
+
// FEC Client
|
|
38
|
+
export { MmtFecClient, createMulticastFecHandler, setupMmtFec,
|
|
39
|
+
// MoQ FEC Client (for WebTransport)
|
|
40
|
+
MoqFecClient, createMoqFecClient, loadMmtWasm, } from "./fec-client.js";
|
|
41
|
+
// A/V Sync Clock
|
|
42
|
+
export { SharedClock, getSharedClock, resetSharedClock, SYNC_TOLERANCE_US, PTS_OFFSET_US, } from "./clock.js";
|
|
43
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAyCH,2DAA2D;AAC3D,OAAO,EACN,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,eAAe,GACf,MAAM,YAAY,CAAC;AAEpB,uDAAuD;AACvD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE5E,kEAAkE;AAClE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3E,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtE,8BAA8B;AAC9B,OAAO,EACN,yBAAyB,EACzB,cAAc,GAEd,MAAM,qBAAqB,CAAC;AAE7B,cAAc;AACd,OAAO,EACN,iBAAiB,EACjB,UAAU,EACV,iBAAiB,GAGjB,MAAM,kBAAkB,CAAC;AAE1B,aAAa;AACb,OAAO,EACN,YAAY,EACZ,yBAAyB,EACzB,WAAW;AACX,oCAAoC;AACpC,YAAY,EACZ,kBAAkB,EAClB,WAAW,GAKX,MAAM,iBAAiB,CAAC;AAEzB,iBAAiB;AACjB,OAAO,EACN,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,GACb,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @blockcast/transport - Transport Manager
|
|
3
|
+
*
|
|
4
|
+
* Unified transport abstraction for MoQ players supporting:
|
|
5
|
+
* - Native multicast (ASM/SSM via IGMPv3/MLD + PIM-SSM)
|
|
6
|
+
* - AMT tunneling (RFC 7450) with optional DRIAD relay discovery
|
|
7
|
+
* - WebTransport/QUIC (MoQ-lite protocol)
|
|
8
|
+
* - WebSocket fallback
|
|
9
|
+
*
|
|
10
|
+
* Transport promotion hierarchy (WebTransport-first for fast startup):
|
|
11
|
+
* 1. WebTransport - immediate connection for fast channel select
|
|
12
|
+
* 2. Background discovery - check if multicast available
|
|
13
|
+
* 3. Promote to multicast (Native SSM > IGMP > AMT) if available
|
|
14
|
+
* 4. WebSocket fallback if WebTransport unavailable
|
|
15
|
+
*
|
|
16
|
+
* Features:
|
|
17
|
+
* - Progressive adaptive bitrate based on network conditions
|
|
18
|
+
* - FEC (Forward Error Correction) for burst loss recovery
|
|
19
|
+
* - Seamless transport switching with session continuity
|
|
20
|
+
* - Unified FEC/ABR pipeline across all transport modes
|
|
21
|
+
*/
|
|
22
|
+
import type { TransportConfig, TransportCapabilities, TransportState, QualityLevel } from "./types.js";
|
|
23
|
+
/**
|
|
24
|
+
* Transport Manager
|
|
25
|
+
*
|
|
26
|
+
* Manages transport connections with automatic mode selection:
|
|
27
|
+
* WebTransport -> Native SSM -> IGMP -> AMT -> WebSocket
|
|
28
|
+
*
|
|
29
|
+
* Renamed from SSMTransportManager - the old name is preserved
|
|
30
|
+
* as a deprecated alias for backwards compatibility.
|
|
31
|
+
*/
|
|
32
|
+
export declare class TransportManager {
|
|
33
|
+
private state;
|
|
34
|
+
private capabilities;
|
|
35
|
+
private subscription;
|
|
36
|
+
private driad;
|
|
37
|
+
private abr;
|
|
38
|
+
private onPacket?;
|
|
39
|
+
private onError?;
|
|
40
|
+
private onStateChange?;
|
|
41
|
+
constructor();
|
|
42
|
+
/**
|
|
43
|
+
* Detect available transport capabilities
|
|
44
|
+
*/
|
|
45
|
+
detectCapabilities(): Promise<TransportCapabilities>;
|
|
46
|
+
/**
|
|
47
|
+
* Connect using best available transport
|
|
48
|
+
*
|
|
49
|
+
* Promotion hierarchy:
|
|
50
|
+
* 1. Native SSM (IWA with Direct Sockets)
|
|
51
|
+
* 2. Native IGMP (IWA fallback)
|
|
52
|
+
* 3. AMT Gateway (specified or discovered via DRIAD)
|
|
53
|
+
* 4. MOQ WebTransport (final fallback)
|
|
54
|
+
*/
|
|
55
|
+
connect(config: TransportConfig): Promise<boolean>;
|
|
56
|
+
/**
|
|
57
|
+
* Connect via native SSM (Source-Specific Multicast)
|
|
58
|
+
*/
|
|
59
|
+
private connectNativeSSM;
|
|
60
|
+
/**
|
|
61
|
+
* Connect via native IGMP (Any-Source Multicast)
|
|
62
|
+
*/
|
|
63
|
+
private connectNativeIGMP;
|
|
64
|
+
/**
|
|
65
|
+
* Connect via AMT Gateway (with optional DRIAD discovery)
|
|
66
|
+
*/
|
|
67
|
+
private connectAMT;
|
|
68
|
+
/**
|
|
69
|
+
* Connect via WebSocket-based AMT proxy (browser fallback)
|
|
70
|
+
*/
|
|
71
|
+
private connectAMTProxy;
|
|
72
|
+
/**
|
|
73
|
+
* Handle received packet
|
|
74
|
+
*/
|
|
75
|
+
private handlePacket;
|
|
76
|
+
/**
|
|
77
|
+
* Get current transport state
|
|
78
|
+
*/
|
|
79
|
+
getState(): TransportState;
|
|
80
|
+
/**
|
|
81
|
+
* Get current quality level
|
|
82
|
+
*/
|
|
83
|
+
getQuality(): QualityLevel;
|
|
84
|
+
/**
|
|
85
|
+
* Force quality level
|
|
86
|
+
*/
|
|
87
|
+
setQuality(name: string): void;
|
|
88
|
+
/**
|
|
89
|
+
* Set packet callback
|
|
90
|
+
*/
|
|
91
|
+
setPacketCallback(callback: (data: ArrayBuffer) => void): void;
|
|
92
|
+
/**
|
|
93
|
+
* Set error callback
|
|
94
|
+
*/
|
|
95
|
+
setErrorCallback(callback: (error: Error) => void): void;
|
|
96
|
+
/**
|
|
97
|
+
* Set state change callback
|
|
98
|
+
*/
|
|
99
|
+
setStateCallback(callback: (state: TransportState) => void): void;
|
|
100
|
+
/**
|
|
101
|
+
* Disconnect
|
|
102
|
+
*/
|
|
103
|
+
disconnect(): void;
|
|
104
|
+
}
|
|
105
|
+
export declare const transportManager: TransportManager;
|
|
106
|
+
/**
|
|
107
|
+
* @deprecated Use `TransportManager` instead. This alias is preserved for backwards compatibility.
|
|
108
|
+
*/
|
|
109
|
+
export declare const SSMTransportManager: typeof TransportManager;
|
|
110
|
+
/**
|
|
111
|
+
* @deprecated Use `transportManager` instead. This alias is preserved for backwards compatibility.
|
|
112
|
+
*/
|
|
113
|
+
export declare const ssmTransport: TransportManager;
|
|
114
|
+
//# sourceMappingURL=transport-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport-manager.d.ts","sourceRoot":"","sources":["../src/transport-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EACX,eAAe,EAEf,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,MAAM,YAAY,CAAC;AAIpB;;;;;;;;GAQG;AACH,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,KAAK,CAMX;IAEF,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,GAAG,CAA4B;IAEvC,OAAO,CAAC,QAAQ,CAAC,CAA8B;IAC/C,OAAO,CAAC,OAAO,CAAC,CAAyB;IACzC,OAAO,CAAC,aAAa,CAAC,CAAkC;;IAMxD;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAmB1D;;;;;;;;OAQG;IACG,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAoDxD;;OAEG;YACW,gBAAgB;IAgD9B;;OAEG;YACW,iBAAiB;IAyC/B;;OAEG;YACW,UAAU;IAoExB;;OAEG;YACW,eAAe;IA2D7B;;OAEG;IACH,OAAO,CAAC,YAAY;IAYpB;;OAEG;IACH,QAAQ,IAAI,cAAc;IAI1B;;OAEG;IACH,UAAU,IAAI,YAAY;IAI1B;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM;IAIvB;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI;IAIvD;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;IAIjD;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI;IAI1D;;OAEG;IACH,UAAU;CAYV;AAGD,eAAO,MAAM,gBAAgB,kBAAyB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,mBAAmB,yBAAmB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,YAAY,kBAAmB,CAAC"}
|