@pipecat-ai/react-native-daily-media-manager 0.0.1
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/README.md +74 -0
- package/lib/commonjs/dailyMediaManager.js +283 -0
- package/lib/commonjs/dailyMediaManager.js.map +1 -0
- package/lib/commonjs/index.js +13 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/module/dailyMediaManager.js +277 -0
- package/lib/module/dailyMediaManager.js.map +1 -0
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/typescript/commonjs/dailyMediaManager.d.ts +41 -0
- package/lib/typescript/commonjs/dailyMediaManager.d.ts.map +1 -0
- package/lib/typescript/commonjs/index.d.ts +3 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/package.json +1 -0
- package/lib/typescript/module/dailyMediaManager.d.ts +41 -0
- package/lib/typescript/module/dailyMediaManager.d.ts.map +1 -0
- package/lib/typescript/module/index.d.ts +3 -0
- package/lib/typescript/module/index.d.ts.map +1 -0
- package/lib/typescript/module/package.json +1 -0
- package/package.json +90 -0
package/README.md
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
<h1><div align="center">
|
|
2
|
+
<img alt="pipecat client react native" width="500px" height="auto" src="https://raw.githubusercontent.com/pipecat-ai/pipecat-client-react-native-daily-transport/main/pipecat-react-native.png">
|
|
3
|
+
</div></h1>
|
|
4
|
+
|
|
5
|
+
[](https://docs.pipecat.ai/client/introduction)
|
|
6
|
+

|
|
7
|
+
|
|
8
|
+
A comprehensive media management layer built on Daily’s React Native SDK.
|
|
9
|
+
|
|
10
|
+
While [SmallWebRTCTransport](/transports/smallwebrtc/README.md) enables lightweight peer-to-peer communication without relying on Daily’s infrastructure,
|
|
11
|
+
the Daily Media Manager leverages Daily’s mature SDK to deliver enterprise-grade device management and media handling.
|
|
12
|
+
|
|
13
|
+
### Key Features
|
|
14
|
+
|
|
15
|
+
- **Complete Device Management**: Full control over cameras, microphones, and speakers with automatic device enumeration and selection
|
|
16
|
+
- **Device Error Handling**: Comprehensive error handling for device permissions, constraints, and availability issues
|
|
17
|
+
- **Media Control**: Enable/disable microphone, camera, and screen sharing with simple API calls
|
|
18
|
+
- **Track Management**: Access to WebRTC media tracks for advanced media processing
|
|
19
|
+
- **Real-time Updates**: Automatic callbacks for device changes and track events
|
|
20
|
+
|
|
21
|
+
## Installation
|
|
22
|
+
|
|
23
|
+
Install `@pipecat-ai/react-native-daily-media-manager` along with its peer dependencies:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npm i @pipecat-ai/react-native-daily-media-manager
|
|
27
|
+
npm i @daily-co/react-native-daily-js@^0.82.0
|
|
28
|
+
npm i @daily-co/react-native-webrtc@^124.0.6-daily.1
|
|
29
|
+
npm i @react-native-async-storage/async-storage@^1.24.0
|
|
30
|
+
npm i react-native-background-timer@^2.4.1
|
|
31
|
+
npm i react-native-get-random-values@^1.11.0
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
If you are using Expo, you will also need to add the following dependencies:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npm i @daily-co/config-plugin-rn-daily-js@0.0.11
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
All the details about Expo can be found [here](https://github.com/daily-co/rn-daily-js-expo-config-plugin).
|
|
41
|
+
|
|
42
|
+
A full demo can be found [here](https://github.com/pipecat-ai/pipecat-examples/tree/main/p2p-webrtc/video-transform/client/react-native)
|
|
43
|
+
|
|
44
|
+
## Quick Start
|
|
45
|
+
|
|
46
|
+
Instantiate the `DailyMediaManager` instance, to use it together with the `SmallWebRTCTransport`:
|
|
47
|
+
|
|
48
|
+
```typescript
|
|
49
|
+
const options: SmallWebRTCTransportConstructorOptions = {
|
|
50
|
+
mediaManager: new DailyMediaManager(),
|
|
51
|
+
};
|
|
52
|
+
const transport = new RNSmallWebRTCTransport(options);
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Contributing
|
|
56
|
+
|
|
57
|
+
We welcome contributions from the community! Whether you're fixing bugs, improving documentation, or adding new features, here's how you can help:
|
|
58
|
+
|
|
59
|
+
- **Found a bug?** Open an [issue](https://github.com/pipecat-ai/pipecat-client-react-native-transports/issues)
|
|
60
|
+
- **Have a feature idea?** Start a [discussion](https://discord.gg/pipecat)
|
|
61
|
+
- **Want to contribute code?** Check our [CONTRIBUTING.md](CONTRIBUTING.md) guide
|
|
62
|
+
- **Documentation improvements?** [Docs](https://github.com/pipecat-ai/docs) PRs are always welcome
|
|
63
|
+
|
|
64
|
+
Before submitting a pull request, please check existing issues and PRs to avoid duplicates.
|
|
65
|
+
|
|
66
|
+
We aim to review all contributions promptly and provide constructive feedback to help get your changes merged.
|
|
67
|
+
|
|
68
|
+
## Getting help
|
|
69
|
+
|
|
70
|
+
➡️ [Join our Discord](https://discord.gg/pipecat)
|
|
71
|
+
|
|
72
|
+
➡️ [Read the docs](https://docs.pipecat.ai)
|
|
73
|
+
|
|
74
|
+
➡️ [Reach us on X](https://x.com/pipecat_ai)
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DailyMediaManager = void 0;
|
|
7
|
+
var _reactNativeSmallWebrtcTransport = require("@pipecat-ai/react-native-small-webrtc-transport");
|
|
8
|
+
var _reactNativeDailyJs = _interopRequireDefault(require("@daily-co/react-native-daily-js"));
|
|
9
|
+
var _clientJs = require("@pipecat-ai/client-js");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
class DailyMediaManager extends _reactNativeSmallWebrtcTransport.MediaManager {
|
|
12
|
+
_selectedCam = {};
|
|
13
|
+
_selectedMic = {};
|
|
14
|
+
_selectedSpeaker = {};
|
|
15
|
+
constructor(onTrackStartedCallback, onTrackStoppedCallback) {
|
|
16
|
+
super();
|
|
17
|
+
this._initialized = false;
|
|
18
|
+
this._connected = false;
|
|
19
|
+
this._connectResolve = null;
|
|
20
|
+
this._onTrackStartedCallback = onTrackStartedCallback;
|
|
21
|
+
this._onTrackStoppedCallback = onTrackStoppedCallback;
|
|
22
|
+
this._supportsScreenShare = true;
|
|
23
|
+
this._daily = _reactNativeDailyJs.default.getCallInstance() ?? _reactNativeDailyJs.default.createCallObject();
|
|
24
|
+
this._daily.on('track-started', this.handleTrackStarted.bind(this));
|
|
25
|
+
this._daily.on('track-stopped', this.handleTrackStopped.bind(this));
|
|
26
|
+
this._daily.on('available-devices-updated', this._handleAvailableDevicesUpdated.bind(this));
|
|
27
|
+
this._daily.on(
|
|
28
|
+
// TODO, we need to add DailyEventObjectSelectedDevicesUpdated to types overrides inside react-ntive-daily-js
|
|
29
|
+
// @ts-ignore
|
|
30
|
+
'selected-devices-updated', this._handleSelectedDevicesUpdated.bind(this));
|
|
31
|
+
this._daily.on('camera-error', this.handleDeviceError.bind(this));
|
|
32
|
+
this._daily.on('local-audio-level', this._handleLocalAudioLevel.bind(this));
|
|
33
|
+
this._daily.on('remote-participants-audio-level', this._handleRemoteAudioLevel.bind(this));
|
|
34
|
+
}
|
|
35
|
+
async initialize() {
|
|
36
|
+
if (this._initialized) {
|
|
37
|
+
console.warn('DailyMediaManager already initialized');
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
await this._daily.startCamera({
|
|
41
|
+
startVideoOff: !this._camEnabled,
|
|
42
|
+
startAudioOff: !this._micEnabled
|
|
43
|
+
});
|
|
44
|
+
const {
|
|
45
|
+
devices
|
|
46
|
+
} = await this._daily.enumerateDevices();
|
|
47
|
+
const cams = devices.filter(d => d.kind === 'videoinput');
|
|
48
|
+
const mics = devices.filter(d => d.kind === 'audio');
|
|
49
|
+
const speakers = devices.filter(d => d.kind === 'audio');
|
|
50
|
+
this._callbacks.onAvailableCamsUpdated?.(cams);
|
|
51
|
+
this._callbacks.onAvailableMicsUpdated?.(mics);
|
|
52
|
+
this._callbacks.onAvailableSpeakersUpdated?.(speakers);
|
|
53
|
+
let inputDevices = await this._daily.getInputDevices();
|
|
54
|
+
this._selectedCam = inputDevices.camera;
|
|
55
|
+
this._callbacks.onCamUpdated?.(this._selectedCam);
|
|
56
|
+
this._selectedMic = inputDevices.mic;
|
|
57
|
+
this._callbacks.onMicUpdated?.(this._selectedMic);
|
|
58
|
+
|
|
59
|
+
// TODO: keeping it disabled for now
|
|
60
|
+
// It is not possible to use the audio observers provided by Daily
|
|
61
|
+
// Instantiate audio observers
|
|
62
|
+
/*if (!this._daily.isLocalAudioLevelObserverRunning())
|
|
63
|
+
await this._daily.startLocalAudioLevelObserver(100);
|
|
64
|
+
if (!this._daily.isRemoteParticipantsAudioLevelObserverRunning())
|
|
65
|
+
await this._daily.startRemoteParticipantsAudioLevelObserver(100);*/
|
|
66
|
+
|
|
67
|
+
this._initialized = true;
|
|
68
|
+
}
|
|
69
|
+
async connect() {
|
|
70
|
+
if (this._connected) {
|
|
71
|
+
console.warn('DailyMediaManager already connected');
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
this._connected = true;
|
|
75
|
+
if (!this._initialized) {
|
|
76
|
+
return new Promise(resolve => {
|
|
77
|
+
(async () => {
|
|
78
|
+
this._connectResolve = resolve;
|
|
79
|
+
await this.initialize();
|
|
80
|
+
})();
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
async disconnect() {
|
|
85
|
+
this._daily.stopLocalAudioLevelObserver();
|
|
86
|
+
this._daily.stopRemoteParticipantsAudioLevelObserver();
|
|
87
|
+
await this._daily.leave();
|
|
88
|
+
this._initialized = false;
|
|
89
|
+
this._connected = false;
|
|
90
|
+
}
|
|
91
|
+
async getAllMics() {
|
|
92
|
+
let devices = (await this._daily.enumerateDevices()).devices;
|
|
93
|
+
return devices.filter(device => device.kind === 'audio');
|
|
94
|
+
}
|
|
95
|
+
async getAllCams() {
|
|
96
|
+
let devices = (await this._daily.enumerateDevices()).devices;
|
|
97
|
+
return devices.filter(device => device.kind === 'videoinput');
|
|
98
|
+
}
|
|
99
|
+
async getAllSpeakers() {
|
|
100
|
+
let devices = (await this._daily.enumerateDevices()).devices;
|
|
101
|
+
return devices.filter(device => device.kind === 'audio');
|
|
102
|
+
}
|
|
103
|
+
updateMic(micId) {
|
|
104
|
+
this._daily.setAudioDevice(micId).then(async () => {
|
|
105
|
+
let inputDevices = await this._daily.getInputDevices();
|
|
106
|
+
this._selectedMic = inputDevices.mic;
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
updateCam(camId) {
|
|
110
|
+
this._daily.setCamera(camId).then(async () => {
|
|
111
|
+
let inputDevices = await this._daily.getInputDevices();
|
|
112
|
+
this._selectedCam = inputDevices.camera;
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
updateSpeaker(speakerId) {
|
|
116
|
+
this._daily?.setAudioDevice(speakerId).then(async () => {
|
|
117
|
+
const devicesInUse = await this._daily.getInputDevices();
|
|
118
|
+
this._selectedSpeaker = devicesInUse?.speaker;
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
get selectedMic() {
|
|
122
|
+
return this._selectedMic;
|
|
123
|
+
}
|
|
124
|
+
get selectedCam() {
|
|
125
|
+
return this._selectedCam;
|
|
126
|
+
}
|
|
127
|
+
get selectedSpeaker() {
|
|
128
|
+
return this._selectedSpeaker;
|
|
129
|
+
}
|
|
130
|
+
async enableMic(enable) {
|
|
131
|
+
this._micEnabled = enable;
|
|
132
|
+
if (!this._daily.participants()?.local) return;
|
|
133
|
+
this._daily.setLocalAudio(enable);
|
|
134
|
+
}
|
|
135
|
+
enableCam(enable) {
|
|
136
|
+
this._camEnabled = enable;
|
|
137
|
+
this._daily.setLocalVideo(enable);
|
|
138
|
+
}
|
|
139
|
+
enableScreenShare(enable) {
|
|
140
|
+
if (enable) {
|
|
141
|
+
this._daily.startScreenShare();
|
|
142
|
+
} else {
|
|
143
|
+
this._daily.stopScreenShare();
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
get isCamEnabled() {
|
|
147
|
+
return this._daily.localVideo();
|
|
148
|
+
}
|
|
149
|
+
get isMicEnabled() {
|
|
150
|
+
return this._daily.localAudio();
|
|
151
|
+
}
|
|
152
|
+
get isSharingScreen() {
|
|
153
|
+
return this._daily.localScreenAudio() || this._daily.localScreenVideo();
|
|
154
|
+
}
|
|
155
|
+
tracks() {
|
|
156
|
+
const participants = this._daily.participants();
|
|
157
|
+
return {
|
|
158
|
+
local: {
|
|
159
|
+
audio: participants?.local?.tracks?.audio?.persistentTrack,
|
|
160
|
+
screenAudio: participants?.local?.tracks?.screenAudio?.persistentTrack,
|
|
161
|
+
screenVideo: participants?.local?.tracks?.screenVideo?.persistentTrack,
|
|
162
|
+
video: participants?.local?.tracks?.video?.persistentTrack
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
_handleAvailableDevicesUpdated(event) {
|
|
167
|
+
this._callbacks.onAvailableCamsUpdated?.(event.availableDevices.filter(d => d.kind === 'videoinput'));
|
|
168
|
+
this._callbacks.onAvailableMicsUpdated?.(event.availableDevices.filter(d => d.kind === 'audio'));
|
|
169
|
+
this._callbacks.onAvailableSpeakersUpdated?.(event.availableDevices.filter(d => d.kind === 'audio'));
|
|
170
|
+
if (this._selectedSpeaker.deviceId === 'default') {
|
|
171
|
+
this.updateSpeaker('default');
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
// TODO, we need to add DailyEventObjectSelectedDevicesUpdated to types overrides inside react-ntive-daily-js
|
|
176
|
+
_handleSelectedDevicesUpdated(
|
|
177
|
+
// @ts-ignore
|
|
178
|
+
event) {
|
|
179
|
+
if (this._selectedCam?.deviceId !== event.devices.camera) {
|
|
180
|
+
this._selectedCam = event.devices.camera;
|
|
181
|
+
this._callbacks.onCamUpdated?.(event.devices.camera);
|
|
182
|
+
}
|
|
183
|
+
if (this._selectedMic?.deviceId !== event.devices.mic) {
|
|
184
|
+
this._selectedMic = event.devices.mic;
|
|
185
|
+
this._callbacks.onMicUpdated?.(event.devices.mic);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
handleDeviceError(ev) {
|
|
189
|
+
const generateDeviceError = error => {
|
|
190
|
+
const devices = [];
|
|
191
|
+
switch (error.type) {
|
|
192
|
+
case 'permissions':
|
|
193
|
+
{
|
|
194
|
+
error.blockedMedia.forEach(d => {
|
|
195
|
+
devices.push(d === 'video' ? 'cam' : 'mic');
|
|
196
|
+
});
|
|
197
|
+
return new _clientJs.DeviceError(devices, error.type, error.msg, {
|
|
198
|
+
blockedBy: error.blockedBy
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
case 'not-found':
|
|
202
|
+
{
|
|
203
|
+
error.missingMedia.forEach(d => {
|
|
204
|
+
devices.push(d === 'video' ? 'cam' : 'mic');
|
|
205
|
+
});
|
|
206
|
+
return new _clientJs.DeviceError(devices, error.type, error.msg);
|
|
207
|
+
}
|
|
208
|
+
case 'constraints':
|
|
209
|
+
{
|
|
210
|
+
error.failedMedia.forEach(d => {
|
|
211
|
+
devices.push(d === 'video' ? 'cam' : 'mic');
|
|
212
|
+
});
|
|
213
|
+
return new _clientJs.DeviceError(devices, error.type, error.msg, {
|
|
214
|
+
reason: error.reason
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
case 'cam-in-use':
|
|
218
|
+
{
|
|
219
|
+
devices.push('cam');
|
|
220
|
+
return new _clientJs.DeviceError(devices, 'in-use', error.msg);
|
|
221
|
+
}
|
|
222
|
+
case 'mic-in-use':
|
|
223
|
+
{
|
|
224
|
+
devices.push('mic');
|
|
225
|
+
return new _clientJs.DeviceError(devices, 'in-use', error.msg);
|
|
226
|
+
}
|
|
227
|
+
case 'cam-mic-in-use':
|
|
228
|
+
{
|
|
229
|
+
devices.push('cam');
|
|
230
|
+
devices.push('mic');
|
|
231
|
+
return new _clientJs.DeviceError(devices, 'in-use', error.msg);
|
|
232
|
+
}
|
|
233
|
+
case 'undefined-mediadevices':
|
|
234
|
+
case 'unknown':
|
|
235
|
+
default:
|
|
236
|
+
{
|
|
237
|
+
devices.push('cam');
|
|
238
|
+
devices.push('mic');
|
|
239
|
+
return new _clientJs.DeviceError(devices, error.type, error.msg);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
};
|
|
243
|
+
this._callbacks.onDeviceError?.(generateDeviceError(ev.error));
|
|
244
|
+
}
|
|
245
|
+
_handleLocalAudioLevel(ev) {
|
|
246
|
+
this._callbacks.onLocalAudioLevel?.(ev.audioLevel);
|
|
247
|
+
}
|
|
248
|
+
_handleRemoteAudioLevel(ev) {
|
|
249
|
+
const participants = this._daily.participants();
|
|
250
|
+
for (const participantId in ev.participantsAudioLevel) {
|
|
251
|
+
if (ev.participantsAudioLevel.hasOwnProperty(participantId)) {
|
|
252
|
+
const audioLevel = ev.participantsAudioLevel[participantId];
|
|
253
|
+
let participant = participants[participantId];
|
|
254
|
+
if (audioLevel && participant) {
|
|
255
|
+
this._callbacks.onRemoteAudioLevel?.(audioLevel, dailyParticipantToParticipant(participant));
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
async handleTrackStarted(event) {
|
|
261
|
+
if (!event.participant?.local) return;
|
|
262
|
+
if (event.track.kind === 'audio') {
|
|
263
|
+
if (this._connectResolve) {
|
|
264
|
+
this._connectResolve();
|
|
265
|
+
this._connectResolve = null;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
this._callbacks.onTrackStarted?.(event.track, event.participant ? dailyParticipantToParticipant(event.participant) : undefined);
|
|
269
|
+
this._onTrackStartedCallback?.(event);
|
|
270
|
+
}
|
|
271
|
+
handleTrackStopped(event) {
|
|
272
|
+
if (!event.participant?.local) return;
|
|
273
|
+
this._callbacks.onTrackStopped?.(event.track, event.participant ? dailyParticipantToParticipant(event.participant) : undefined);
|
|
274
|
+
this._onTrackStoppedCallback?.(event);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
exports.DailyMediaManager = DailyMediaManager;
|
|
278
|
+
const dailyParticipantToParticipant = p => ({
|
|
279
|
+
id: p.user_id,
|
|
280
|
+
local: p.local,
|
|
281
|
+
name: p.user_name
|
|
282
|
+
});
|
|
283
|
+
//# sourceMappingURL=dailyMediaManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNativeSmallWebrtcTransport","require","_reactNativeDailyJs","_interopRequireDefault","_clientJs","e","__esModule","default","DailyMediaManager","MediaManager","_selectedCam","_selectedMic","_selectedSpeaker","constructor","onTrackStartedCallback","onTrackStoppedCallback","_initialized","_connected","_connectResolve","_onTrackStartedCallback","_onTrackStoppedCallback","_supportsScreenShare","_daily","Daily","getCallInstance","createCallObject","on","handleTrackStarted","bind","handleTrackStopped","_handleAvailableDevicesUpdated","_handleSelectedDevicesUpdated","handleDeviceError","_handleLocalAudioLevel","_handleRemoteAudioLevel","initialize","console","warn","startCamera","startVideoOff","_camEnabled","startAudioOff","_micEnabled","devices","enumerateDevices","cams","filter","d","kind","mics","speakers","_callbacks","onAvailableCamsUpdated","onAvailableMicsUpdated","onAvailableSpeakersUpdated","inputDevices","getInputDevices","camera","onCamUpdated","mic","onMicUpdated","connect","Promise","resolve","disconnect","stopLocalAudioLevelObserver","stopRemoteParticipantsAudioLevelObserver","leave","getAllMics","device","getAllCams","getAllSpeakers","updateMic","micId","setAudioDevice","then","updateCam","camId","setCamera","updateSpeaker","speakerId","devicesInUse","speaker","selectedMic","selectedCam","selectedSpeaker","enableMic","enable","participants","local","setLocalAudio","enableCam","setLocalVideo","enableScreenShare","startScreenShare","stopScreenShare","isCamEnabled","localVideo","isMicEnabled","localAudio","isSharingScreen","localScreenAudio","localScreenVideo","tracks","audio","persistentTrack","screenAudio","screenVideo","video","event","availableDevices","deviceId","ev","generateDeviceError","error","type","blockedMedia","forEach","push","DeviceError","msg","blockedBy","missingMedia","failedMedia","reason","onDeviceError","onLocalAudioLevel","audioLevel","participantId","participantsAudioLevel","hasOwnProperty","participant","onRemoteAudioLevel","dailyParticipantToParticipant","track","onTrackStarted","undefined","onTrackStopped","exports","p","id","user_id","name","user_name"],"sourceRoot":"../../src","sources":["dailyMediaManager.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "DailyMediaManager", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _dailyMediaManager.DailyMediaManager;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _dailyMediaManager = require("./dailyMediaManager.js");
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_dailyMediaManager","require"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"commonjs"}
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { MediaManager } from '@pipecat-ai/react-native-small-webrtc-transport';
|
|
4
|
+
import Daily from '@daily-co/react-native-daily-js';
|
|
5
|
+
import { DeviceError } from '@pipecat-ai/client-js';
|
|
6
|
+
export class DailyMediaManager extends MediaManager {
|
|
7
|
+
_selectedCam = {};
|
|
8
|
+
_selectedMic = {};
|
|
9
|
+
_selectedSpeaker = {};
|
|
10
|
+
constructor(onTrackStartedCallback, onTrackStoppedCallback) {
|
|
11
|
+
super();
|
|
12
|
+
this._initialized = false;
|
|
13
|
+
this._connected = false;
|
|
14
|
+
this._connectResolve = null;
|
|
15
|
+
this._onTrackStartedCallback = onTrackStartedCallback;
|
|
16
|
+
this._onTrackStoppedCallback = onTrackStoppedCallback;
|
|
17
|
+
this._supportsScreenShare = true;
|
|
18
|
+
this._daily = Daily.getCallInstance() ?? Daily.createCallObject();
|
|
19
|
+
this._daily.on('track-started', this.handleTrackStarted.bind(this));
|
|
20
|
+
this._daily.on('track-stopped', this.handleTrackStopped.bind(this));
|
|
21
|
+
this._daily.on('available-devices-updated', this._handleAvailableDevicesUpdated.bind(this));
|
|
22
|
+
this._daily.on(
|
|
23
|
+
// TODO, we need to add DailyEventObjectSelectedDevicesUpdated to types overrides inside react-ntive-daily-js
|
|
24
|
+
// @ts-ignore
|
|
25
|
+
'selected-devices-updated', this._handleSelectedDevicesUpdated.bind(this));
|
|
26
|
+
this._daily.on('camera-error', this.handleDeviceError.bind(this));
|
|
27
|
+
this._daily.on('local-audio-level', this._handleLocalAudioLevel.bind(this));
|
|
28
|
+
this._daily.on('remote-participants-audio-level', this._handleRemoteAudioLevel.bind(this));
|
|
29
|
+
}
|
|
30
|
+
async initialize() {
|
|
31
|
+
if (this._initialized) {
|
|
32
|
+
console.warn('DailyMediaManager already initialized');
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
await this._daily.startCamera({
|
|
36
|
+
startVideoOff: !this._camEnabled,
|
|
37
|
+
startAudioOff: !this._micEnabled
|
|
38
|
+
});
|
|
39
|
+
const {
|
|
40
|
+
devices
|
|
41
|
+
} = await this._daily.enumerateDevices();
|
|
42
|
+
const cams = devices.filter(d => d.kind === 'videoinput');
|
|
43
|
+
const mics = devices.filter(d => d.kind === 'audio');
|
|
44
|
+
const speakers = devices.filter(d => d.kind === 'audio');
|
|
45
|
+
this._callbacks.onAvailableCamsUpdated?.(cams);
|
|
46
|
+
this._callbacks.onAvailableMicsUpdated?.(mics);
|
|
47
|
+
this._callbacks.onAvailableSpeakersUpdated?.(speakers);
|
|
48
|
+
let inputDevices = await this._daily.getInputDevices();
|
|
49
|
+
this._selectedCam = inputDevices.camera;
|
|
50
|
+
this._callbacks.onCamUpdated?.(this._selectedCam);
|
|
51
|
+
this._selectedMic = inputDevices.mic;
|
|
52
|
+
this._callbacks.onMicUpdated?.(this._selectedMic);
|
|
53
|
+
|
|
54
|
+
// TODO: keeping it disabled for now
|
|
55
|
+
// It is not possible to use the audio observers provided by Daily
|
|
56
|
+
// Instantiate audio observers
|
|
57
|
+
/*if (!this._daily.isLocalAudioLevelObserverRunning())
|
|
58
|
+
await this._daily.startLocalAudioLevelObserver(100);
|
|
59
|
+
if (!this._daily.isRemoteParticipantsAudioLevelObserverRunning())
|
|
60
|
+
await this._daily.startRemoteParticipantsAudioLevelObserver(100);*/
|
|
61
|
+
|
|
62
|
+
this._initialized = true;
|
|
63
|
+
}
|
|
64
|
+
async connect() {
|
|
65
|
+
if (this._connected) {
|
|
66
|
+
console.warn('DailyMediaManager already connected');
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
this._connected = true;
|
|
70
|
+
if (!this._initialized) {
|
|
71
|
+
return new Promise(resolve => {
|
|
72
|
+
(async () => {
|
|
73
|
+
this._connectResolve = resolve;
|
|
74
|
+
await this.initialize();
|
|
75
|
+
})();
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
async disconnect() {
|
|
80
|
+
this._daily.stopLocalAudioLevelObserver();
|
|
81
|
+
this._daily.stopRemoteParticipantsAudioLevelObserver();
|
|
82
|
+
await this._daily.leave();
|
|
83
|
+
this._initialized = false;
|
|
84
|
+
this._connected = false;
|
|
85
|
+
}
|
|
86
|
+
async getAllMics() {
|
|
87
|
+
let devices = (await this._daily.enumerateDevices()).devices;
|
|
88
|
+
return devices.filter(device => device.kind === 'audio');
|
|
89
|
+
}
|
|
90
|
+
async getAllCams() {
|
|
91
|
+
let devices = (await this._daily.enumerateDevices()).devices;
|
|
92
|
+
return devices.filter(device => device.kind === 'videoinput');
|
|
93
|
+
}
|
|
94
|
+
async getAllSpeakers() {
|
|
95
|
+
let devices = (await this._daily.enumerateDevices()).devices;
|
|
96
|
+
return devices.filter(device => device.kind === 'audio');
|
|
97
|
+
}
|
|
98
|
+
updateMic(micId) {
|
|
99
|
+
this._daily.setAudioDevice(micId).then(async () => {
|
|
100
|
+
let inputDevices = await this._daily.getInputDevices();
|
|
101
|
+
this._selectedMic = inputDevices.mic;
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
updateCam(camId) {
|
|
105
|
+
this._daily.setCamera(camId).then(async () => {
|
|
106
|
+
let inputDevices = await this._daily.getInputDevices();
|
|
107
|
+
this._selectedCam = inputDevices.camera;
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
updateSpeaker(speakerId) {
|
|
111
|
+
this._daily?.setAudioDevice(speakerId).then(async () => {
|
|
112
|
+
const devicesInUse = await this._daily.getInputDevices();
|
|
113
|
+
this._selectedSpeaker = devicesInUse?.speaker;
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
get selectedMic() {
|
|
117
|
+
return this._selectedMic;
|
|
118
|
+
}
|
|
119
|
+
get selectedCam() {
|
|
120
|
+
return this._selectedCam;
|
|
121
|
+
}
|
|
122
|
+
get selectedSpeaker() {
|
|
123
|
+
return this._selectedSpeaker;
|
|
124
|
+
}
|
|
125
|
+
async enableMic(enable) {
|
|
126
|
+
this._micEnabled = enable;
|
|
127
|
+
if (!this._daily.participants()?.local) return;
|
|
128
|
+
this._daily.setLocalAudio(enable);
|
|
129
|
+
}
|
|
130
|
+
enableCam(enable) {
|
|
131
|
+
this._camEnabled = enable;
|
|
132
|
+
this._daily.setLocalVideo(enable);
|
|
133
|
+
}
|
|
134
|
+
enableScreenShare(enable) {
|
|
135
|
+
if (enable) {
|
|
136
|
+
this._daily.startScreenShare();
|
|
137
|
+
} else {
|
|
138
|
+
this._daily.stopScreenShare();
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
get isCamEnabled() {
|
|
142
|
+
return this._daily.localVideo();
|
|
143
|
+
}
|
|
144
|
+
get isMicEnabled() {
|
|
145
|
+
return this._daily.localAudio();
|
|
146
|
+
}
|
|
147
|
+
get isSharingScreen() {
|
|
148
|
+
return this._daily.localScreenAudio() || this._daily.localScreenVideo();
|
|
149
|
+
}
|
|
150
|
+
tracks() {
|
|
151
|
+
const participants = this._daily.participants();
|
|
152
|
+
return {
|
|
153
|
+
local: {
|
|
154
|
+
audio: participants?.local?.tracks?.audio?.persistentTrack,
|
|
155
|
+
screenAudio: participants?.local?.tracks?.screenAudio?.persistentTrack,
|
|
156
|
+
screenVideo: participants?.local?.tracks?.screenVideo?.persistentTrack,
|
|
157
|
+
video: participants?.local?.tracks?.video?.persistentTrack
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
_handleAvailableDevicesUpdated(event) {
|
|
162
|
+
this._callbacks.onAvailableCamsUpdated?.(event.availableDevices.filter(d => d.kind === 'videoinput'));
|
|
163
|
+
this._callbacks.onAvailableMicsUpdated?.(event.availableDevices.filter(d => d.kind === 'audio'));
|
|
164
|
+
this._callbacks.onAvailableSpeakersUpdated?.(event.availableDevices.filter(d => d.kind === 'audio'));
|
|
165
|
+
if (this._selectedSpeaker.deviceId === 'default') {
|
|
166
|
+
this.updateSpeaker('default');
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// TODO, we need to add DailyEventObjectSelectedDevicesUpdated to types overrides inside react-ntive-daily-js
|
|
171
|
+
_handleSelectedDevicesUpdated(
|
|
172
|
+
// @ts-ignore
|
|
173
|
+
event) {
|
|
174
|
+
if (this._selectedCam?.deviceId !== event.devices.camera) {
|
|
175
|
+
this._selectedCam = event.devices.camera;
|
|
176
|
+
this._callbacks.onCamUpdated?.(event.devices.camera);
|
|
177
|
+
}
|
|
178
|
+
if (this._selectedMic?.deviceId !== event.devices.mic) {
|
|
179
|
+
this._selectedMic = event.devices.mic;
|
|
180
|
+
this._callbacks.onMicUpdated?.(event.devices.mic);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
handleDeviceError(ev) {
|
|
184
|
+
const generateDeviceError = error => {
|
|
185
|
+
const devices = [];
|
|
186
|
+
switch (error.type) {
|
|
187
|
+
case 'permissions':
|
|
188
|
+
{
|
|
189
|
+
error.blockedMedia.forEach(d => {
|
|
190
|
+
devices.push(d === 'video' ? 'cam' : 'mic');
|
|
191
|
+
});
|
|
192
|
+
return new DeviceError(devices, error.type, error.msg, {
|
|
193
|
+
blockedBy: error.blockedBy
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
case 'not-found':
|
|
197
|
+
{
|
|
198
|
+
error.missingMedia.forEach(d => {
|
|
199
|
+
devices.push(d === 'video' ? 'cam' : 'mic');
|
|
200
|
+
});
|
|
201
|
+
return new DeviceError(devices, error.type, error.msg);
|
|
202
|
+
}
|
|
203
|
+
case 'constraints':
|
|
204
|
+
{
|
|
205
|
+
error.failedMedia.forEach(d => {
|
|
206
|
+
devices.push(d === 'video' ? 'cam' : 'mic');
|
|
207
|
+
});
|
|
208
|
+
return new DeviceError(devices, error.type, error.msg, {
|
|
209
|
+
reason: error.reason
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
case 'cam-in-use':
|
|
213
|
+
{
|
|
214
|
+
devices.push('cam');
|
|
215
|
+
return new DeviceError(devices, 'in-use', error.msg);
|
|
216
|
+
}
|
|
217
|
+
case 'mic-in-use':
|
|
218
|
+
{
|
|
219
|
+
devices.push('mic');
|
|
220
|
+
return new DeviceError(devices, 'in-use', error.msg);
|
|
221
|
+
}
|
|
222
|
+
case 'cam-mic-in-use':
|
|
223
|
+
{
|
|
224
|
+
devices.push('cam');
|
|
225
|
+
devices.push('mic');
|
|
226
|
+
return new DeviceError(devices, 'in-use', error.msg);
|
|
227
|
+
}
|
|
228
|
+
case 'undefined-mediadevices':
|
|
229
|
+
case 'unknown':
|
|
230
|
+
default:
|
|
231
|
+
{
|
|
232
|
+
devices.push('cam');
|
|
233
|
+
devices.push('mic');
|
|
234
|
+
return new DeviceError(devices, error.type, error.msg);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
};
|
|
238
|
+
this._callbacks.onDeviceError?.(generateDeviceError(ev.error));
|
|
239
|
+
}
|
|
240
|
+
_handleLocalAudioLevel(ev) {
|
|
241
|
+
this._callbacks.onLocalAudioLevel?.(ev.audioLevel);
|
|
242
|
+
}
|
|
243
|
+
_handleRemoteAudioLevel(ev) {
|
|
244
|
+
const participants = this._daily.participants();
|
|
245
|
+
for (const participantId in ev.participantsAudioLevel) {
|
|
246
|
+
if (ev.participantsAudioLevel.hasOwnProperty(participantId)) {
|
|
247
|
+
const audioLevel = ev.participantsAudioLevel[participantId];
|
|
248
|
+
let participant = participants[participantId];
|
|
249
|
+
if (audioLevel && participant) {
|
|
250
|
+
this._callbacks.onRemoteAudioLevel?.(audioLevel, dailyParticipantToParticipant(participant));
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
async handleTrackStarted(event) {
|
|
256
|
+
if (!event.participant?.local) return;
|
|
257
|
+
if (event.track.kind === 'audio') {
|
|
258
|
+
if (this._connectResolve) {
|
|
259
|
+
this._connectResolve();
|
|
260
|
+
this._connectResolve = null;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
this._callbacks.onTrackStarted?.(event.track, event.participant ? dailyParticipantToParticipant(event.participant) : undefined);
|
|
264
|
+
this._onTrackStartedCallback?.(event);
|
|
265
|
+
}
|
|
266
|
+
handleTrackStopped(event) {
|
|
267
|
+
if (!event.participant?.local) return;
|
|
268
|
+
this._callbacks.onTrackStopped?.(event.track, event.participant ? dailyParticipantToParticipant(event.participant) : undefined);
|
|
269
|
+
this._onTrackStoppedCallback?.(event);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
const dailyParticipantToParticipant = p => ({
|
|
273
|
+
id: p.user_id,
|
|
274
|
+
local: p.local,
|
|
275
|
+
name: p.user_name
|
|
276
|
+
});
|
|
277
|
+
//# sourceMappingURL=dailyMediaManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MediaManager","Daily","DeviceError","DailyMediaManager","_selectedCam","_selectedMic","_selectedSpeaker","constructor","onTrackStartedCallback","onTrackStoppedCallback","_initialized","_connected","_connectResolve","_onTrackStartedCallback","_onTrackStoppedCallback","_supportsScreenShare","_daily","getCallInstance","createCallObject","on","handleTrackStarted","bind","handleTrackStopped","_handleAvailableDevicesUpdated","_handleSelectedDevicesUpdated","handleDeviceError","_handleLocalAudioLevel","_handleRemoteAudioLevel","initialize","console","warn","startCamera","startVideoOff","_camEnabled","startAudioOff","_micEnabled","devices","enumerateDevices","cams","filter","d","kind","mics","speakers","_callbacks","onAvailableCamsUpdated","onAvailableMicsUpdated","onAvailableSpeakersUpdated","inputDevices","getInputDevices","camera","onCamUpdated","mic","onMicUpdated","connect","Promise","resolve","disconnect","stopLocalAudioLevelObserver","stopRemoteParticipantsAudioLevelObserver","leave","getAllMics","device","getAllCams","getAllSpeakers","updateMic","micId","setAudioDevice","then","updateCam","camId","setCamera","updateSpeaker","speakerId","devicesInUse","speaker","selectedMic","selectedCam","selectedSpeaker","enableMic","enable","participants","local","setLocalAudio","enableCam","setLocalVideo","enableScreenShare","startScreenShare","stopScreenShare","isCamEnabled","localVideo","isMicEnabled","localAudio","isSharingScreen","localScreenAudio","localScreenVideo","tracks","audio","persistentTrack","screenAudio","screenVideo","video","event","availableDevices","deviceId","ev","generateDeviceError","error","type","blockedMedia","forEach","push","msg","blockedBy","missingMedia","failedMedia","reason","onDeviceError","onLocalAudioLevel","audioLevel","participantId","participantsAudioLevel","hasOwnProperty","participant","onRemoteAudioLevel","dailyParticipantToParticipant","track","onTrackStarted","undefined","onTrackStopped","p","id","user_id","name","user_name"],"sourceRoot":"../../src","sources":["dailyMediaManager.ts"],"mappings":";;AAAA,SACEA,YAAY,QAEP,iDAAiD;AAExD,OAAOC,KAAK,MAWL,iCAAiC;AAExC,SAEEC,WAAW,QAGN,uBAAuB;AAG9B,OAAO,MAAMC,iBAAiB,SAASH,YAAY,CAAC;EAO1CI,YAAY,GAA4C,CAAC,CAAC;EAC1DC,YAAY,GAA4C,CAAC,CAAC;EAC1DC,gBAAgB,GAA4C,CAAC,CAAC;EAEtEC,WAAWA,CACTC,sBAAoD,EACpDC,sBAAoD,EACpD;IACA,KAAK,CAAC,CAAC;IACP,IAAI,CAACC,YAAY,GAAG,KAAK;IACzB,IAAI,CAACC,UAAU,GAAG,KAAK;IACvB,IAAI,CAACC,eAAe,GAAG,IAAI;IAC3B,IAAI,CAACC,uBAAuB,GAAGL,sBAAsB;IACrD,IAAI,CAACM,uBAAuB,GAAGL,sBAAsB;IAErD,IAAI,CAACM,oBAAoB,GAAG,IAAI;IAEhC,IAAI,CAACC,MAAM,GAAGf,KAAK,CAACgB,eAAe,CAAC,CAAC,IAAIhB,KAAK,CAACiB,gBAAgB,CAAC,CAAC;IAEjE,IAAI,CAACF,MAAM,CAACG,EAAE,CAAC,eAAe,EAAE,IAAI,CAACC,kBAAkB,CAACC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnE,IAAI,CAACL,MAAM,CAACG,EAAE,CAAC,eAAe,EAAE,IAAI,CAACG,kBAAkB,CAACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACnE,IAAI,CAACL,MAAM,CAACG,EAAE,CACZ,2BAA2B,EAC3B,IAAI,CAACI,8BAA8B,CAACF,IAAI,CAAC,IAAI,CAC/C,CAAC;IACD,IAAI,CAACL,MAAM,CAACG,EAAE;IACZ;IACA;IACA,0BAA0B,EAC1B,IAAI,CAACK,6BAA6B,CAACH,IAAI,CAAC,IAAI,CAC9C,CAAC;IACD,IAAI,CAACL,MAAM,CAACG,EAAE,CAAC,cAAc,EAAE,IAAI,CAACM,iBAAiB,CAACJ,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE,IAAI,CAACL,MAAM,CAACG,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAACO,sBAAsB,CAACL,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3E,IAAI,CAACL,MAAM,CAACG,EAAE,CACZ,iCAAiC,EACjC,IAAI,CAACQ,uBAAuB,CAACN,IAAI,CAAC,IAAI,CACxC,CAAC;EACH;EAEA,MAAMO,UAAUA,CAAA,EAAkB;IAChC,IAAI,IAAI,CAAClB,YAAY,EAAE;MACrBmB,OAAO,CAACC,IAAI,CAAC,uCAAuC,CAAC;MACrD;IACF;IACA,MAAM,IAAI,CAACd,MAAM,CAACe,WAAW,CAAC;MAC5BC,aAAa,EAAE,CAAC,IAAI,CAACC,WAAW;MAChCC,aAAa,EAAE,CAAC,IAAI,CAACC;IACvB,CAAC,CAAC;IACF,MAAM;MAAEC;IAAQ,CAAC,GAAG,MAAM,IAAI,CAACpB,MAAM,CAACqB,gBAAgB,CAAC,CAAC;IACxD,MAAMC,IAAI,GAAGF,OAAO,CAACG,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,YAAY,CAAC;IAC3D,MAAMC,IAAI,GAAGN,OAAO,CAACG,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,OAAO,CAAC;IACtD,MAAME,QAAQ,GAAGP,OAAO,CAACG,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,OAAO,CAAC;IAC1D,IAAI,CAACG,UAAU,CAACC,sBAAsB,GAAGP,IAAI,CAAC;IAC9C,IAAI,CAACM,UAAU,CAACE,sBAAsB,GAAGJ,IAAI,CAAC;IAC9C,IAAI,CAACE,UAAU,CAACG,0BAA0B,GAAGJ,QAAQ,CAAC;IAEtD,IAAIK,YAAY,GAAG,MAAM,IAAI,CAAChC,MAAM,CAACiC,eAAe,CAAC,CAAC;IACtD,IAAI,CAAC7C,YAAY,GAAG4C,YAAY,CAACE,MAAM;IACvC,IAAI,CAACN,UAAU,CAACO,YAAY,GAAG,IAAI,CAAC/C,YAA+B,CAAC;IACpE,IAAI,CAACC,YAAY,GAAG2C,YAAY,CAACI,GAAG;IACpC,IAAI,CAACR,UAAU,CAACS,YAAY,GAAG,IAAI,CAAChD,YAA+B,CAAC;;IAEpE;IACA;IACA;IACA;AACJ;AACA;AACA;;IAEI,IAAI,CAACK,YAAY,GAAG,IAAI;EAC1B;EAEA,MAAM4C,OAAOA,CAAA,EAAkB;IAC7B,IAAI,IAAI,CAAC3C,UAAU,EAAE;MACnBkB,OAAO,CAACC,IAAI,CAAC,qCAAqC,CAAC;MACnD;IACF;IACA,IAAI,CAACnB,UAAU,GAAG,IAAI;IACtB,IAAI,CAAC,IAAI,CAACD,YAAY,EAAE;MACtB,OAAO,IAAI6C,OAAO,CAAEC,OAAO,IAAK;QAC9B,CAAC,YAAY;UACX,IAAI,CAAC5C,eAAe,GAAG4C,OAAO;UAC9B,MAAM,IAAI,CAAC5B,UAAU,CAAC,CAAC;QACzB,CAAC,EAAE,CAAC;MACN,CAAC,CAAC;IACJ;EACF;EAEA,MAAM6B,UAAUA,CAAA,EAAkB;IAChC,IAAI,CAACzC,MAAM,CAAC0C,2BAA2B,CAAC,CAAC;IACzC,IAAI,CAAC1C,MAAM,CAAC2C,wCAAwC,CAAC,CAAC;IACtD,MAAM,IAAI,CAAC3C,MAAM,CAAC4C,KAAK,CAAC,CAAC;IACzB,IAAI,CAAClD,YAAY,GAAG,KAAK;IACzB,IAAI,CAACC,UAAU,GAAG,KAAK;EACzB;EAEA,MAAMkD,UAAUA,CAAA,EAA+B;IAC7C,IAAIzB,OAAO,GAAG,CAAC,MAAM,IAAI,CAACpB,MAAM,CAACqB,gBAAgB,CAAC,CAAC,EAAED,OAAO;IAC5D,OAAOA,OAAO,CAACG,MAAM,CAAEuB,MAAM,IAAKA,MAAM,CAACrB,IAAI,KAAK,OAAO,CAAC;EAC5D;EACA,MAAMsB,UAAUA,CAAA,EAA+B;IAC7C,IAAI3B,OAAO,GAAG,CAAC,MAAM,IAAI,CAACpB,MAAM,CAACqB,gBAAgB,CAAC,CAAC,EAAED,OAAO;IAC5D,OAAOA,OAAO,CAACG,MAAM,CAAEuB,MAAM,IAAKA,MAAM,CAACrB,IAAI,KAAK,YAAY,CAAC;EACjE;EACA,MAAMuB,cAAcA,CAAA,EAA+B;IACjD,IAAI5B,OAAO,GAAG,CAAC,MAAM,IAAI,CAACpB,MAAM,CAACqB,gBAAgB,CAAC,CAAC,EAAED,OAAO;IAC5D,OAAOA,OAAO,CAACG,MAAM,CAAEuB,MAAM,IAAKA,MAAM,CAACrB,IAAI,KAAK,OAAO,CAAC;EAC5D;EAEAwB,SAASA,CAACC,KAAa,EAAE;IACvB,IAAI,CAAClD,MAAM,CAACmD,cAAc,CAACD,KAAK,CAAC,CAACE,IAAI,CAAC,YAAY;MACjD,IAAIpB,YAAY,GAAG,MAAM,IAAI,CAAChC,MAAM,CAACiC,eAAe,CAAC,CAAC;MACtD,IAAI,CAAC5C,YAAY,GAAG2C,YAAY,CAACI,GAAsB;IACzD,CAAC,CAAC;EACJ;EACAiB,SAASA,CAACC,KAAa,EAAE;IACvB,IAAI,CAACtD,MAAM,CAACuD,SAAS,CAACD,KAAK,CAAC,CAACF,IAAI,CAAC,YAAY;MAC5C,IAAIpB,YAAY,GAAG,MAAM,IAAI,CAAChC,MAAM,CAACiC,eAAe,CAAC,CAAC;MACtD,IAAI,CAAC7C,YAAY,GAAG4C,YAAY,CAACE,MAAyB;IAC5D,CAAC,CAAC;EACJ;EACAsB,aAAaA,CAACC,SAAiB,EAAE;IAC/B,IAAI,CAACzD,MAAM,EAAEmD,cAAc,CAACM,SAAS,CAAC,CAACL,IAAI,CAAC,YAAY;MACtD,MAAMM,YAAY,GAAG,MAAM,IAAI,CAAC1D,MAAM,CAACiC,eAAe,CAAC,CAAC;MACxD,IAAI,CAAC3C,gBAAgB,GAAGoE,YAAY,EAAEC,OAAO;IAC/C,CAAC,CAAC;EACJ;EAEA,IAAIC,WAAWA,CAAA,EAA4C;IACzD,OAAO,IAAI,CAACvE,YAAY;EAC1B;EACA,IAAIwE,WAAWA,CAAA,EAA4C;IACzD,OAAO,IAAI,CAACzE,YAAY;EAC1B;EACA,IAAI0E,eAAeA,CAAA,EAA4C;IAC7D,OAAO,IAAI,CAACxE,gBAAgB;EAC9B;EAEA,MAAMyE,SAASA,CAACC,MAAe,EAAiB;IAC9C,IAAI,CAAC7C,WAAW,GAAG6C,MAAM;IACzB,IAAI,CAAC,IAAI,CAAChE,MAAM,CAACiE,YAAY,CAAC,CAAC,EAAEC,KAAK,EAAE;IACxC,IAAI,CAAClE,MAAM,CAACmE,aAAa,CAACH,MAAM,CAAC;EACnC;EACAI,SAASA,CAACJ,MAAe,EAAQ;IAC/B,IAAI,CAAC/C,WAAW,GAAG+C,MAAM;IACzB,IAAI,CAAChE,MAAM,CAACqE,aAAa,CAACL,MAAM,CAAC;EACnC;EACAM,iBAAiBA,CAACN,MAAe,EAAQ;IACvC,IAAIA,MAAM,EAAE;MACV,IAAI,CAAChE,MAAM,CAACuE,gBAAgB,CAAC,CAAC;IAChC,CAAC,MAAM;MACL,IAAI,CAACvE,MAAM,CAACwE,eAAe,CAAC,CAAC;IAC/B;EACF;EAEA,IAAIC,YAAYA,CAAA,EAAY;IAC1B,OAAO,IAAI,CAACzE,MAAM,CAAC0E,UAAU,CAAC,CAAC;EACjC;EACA,IAAIC,YAAYA,CAAA,EAAY;IAC1B,OAAO,IAAI,CAAC3E,MAAM,CAAC4E,UAAU,CAAC,CAAC;EACjC;EACA,IAAIC,eAAeA,CAAA,EAAY;IAC7B,OAAO,IAAI,CAAC7E,MAAM,CAAC8E,gBAAgB,CAAC,CAAC,IAAI,IAAI,CAAC9E,MAAM,CAAC+E,gBAAgB,CAAC,CAAC;EACzE;EAEAC,MAAMA,CAAA,EAAW;IACf,MAAMf,YAAqC,GAAG,IAAI,CAACjE,MAAM,CAACiE,YAAY,CAAC,CAAC;IACxE,OAAO;MACLC,KAAK,EAAE;QACLe,KAAK,EAAEhB,YAAY,EAAEC,KAAK,EAAEc,MAAM,EAAEC,KAAK,EAAEC,eAAe;QAC1DC,WAAW,EAAElB,YAAY,EAAEC,KAAK,EAAEc,MAAM,EAAEG,WAAW,EAAED,eAAe;QACtEE,WAAW,EAAEnB,YAAY,EAAEC,KAAK,EAAEc,MAAM,EAAEI,WAAW,EAAEF,eAAe;QACtEG,KAAK,EAAEpB,YAAY,EAAEC,KAAK,EAAEc,MAAM,EAAEK,KAAK,EAAEH;MAC7C;IACF,CAAC;EACH;EAEQ3E,8BAA8BA,CACpC+E,KAA8C,EAC9C;IACA,IAAI,CAAC1D,UAAU,CAACC,sBAAsB,GACpCyD,KAAK,CAACC,gBAAgB,CAAChE,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,YAAY,CAC9D,CAAC;IACD,IAAI,CAACG,UAAU,CAACE,sBAAsB,GACpCwD,KAAK,CAACC,gBAAgB,CAAChE,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,OAAO,CACzD,CAAC;IACD,IAAI,CAACG,UAAU,CAACG,0BAA0B,GACxCuD,KAAK,CAACC,gBAAgB,CAAChE,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,OAAO,CACzD,CAAC;IACD,IAAI,IAAI,CAACnC,gBAAgB,CAACkG,QAAQ,KAAK,SAAS,EAAE;MAChD,IAAI,CAAChC,aAAa,CAAC,SAAS,CAAC;IAC/B;EACF;;EAEA;EACQhD,6BAA6BA;EACnC;EACA8E,KAA6C,EAC7C;IACA,IAAI,IAAI,CAAClG,YAAY,EAAEoG,QAAQ,KAAKF,KAAK,CAAClE,OAAO,CAACc,MAAM,EAAE;MACxD,IAAI,CAAC9C,YAAY,GAAGkG,KAAK,CAAClE,OAAO,CAACc,MAAM;MACxC,IAAI,CAACN,UAAU,CAACO,YAAY,GAAGmD,KAAK,CAAClE,OAAO,CAACc,MAAyB,CAAC;IACzE;IACA,IAAI,IAAI,CAAC7C,YAAY,EAAEmG,QAAQ,KAAKF,KAAK,CAAClE,OAAO,CAACgB,GAAG,EAAE;MACrD,IAAI,CAAC/C,YAAY,GAAGiG,KAAK,CAAClE,OAAO,CAACgB,GAAG;MACrC,IAAI,CAACR,UAAU,CAACS,YAAY,GAAGiD,KAAK,CAAClE,OAAO,CAACgB,GAAsB,CAAC;IACtE;EACF;EAEQ3B,iBAAiBA,CAACgF,EAA+B,EAAE;IACzD,MAAMC,mBAAmB,GACvBC,KAAmD,IAChD;MACH,MAAMvE,OAAoB,GAAG,EAAE;MAC/B,QAAQuE,KAAK,CAACC,IAAI;QAChB,KAAK,aAAa;UAAE;YAClBD,KAAK,CAACE,YAAY,CAACC,OAAO,CAAEtE,CAAC,IAAK;cAChCJ,OAAO,CAAC2E,IAAI,CAACvE,CAAC,KAAK,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;YAC7C,CAAC,CAAC;YACF,OAAO,IAAItC,WAAW,CAACkC,OAAO,EAAEuE,KAAK,CAACC,IAAI,EAAED,KAAK,CAACK,GAAG,EAAE;cACrDC,SAAS,EAAEN,KAAK,CAACM;YACnB,CAAC,CAAC;UACJ;QACA,KAAK,WAAW;UAAE;YAChBN,KAAK,CAACO,YAAY,CAACJ,OAAO,CAAEtE,CAAC,IAAK;cAChCJ,OAAO,CAAC2E,IAAI,CAACvE,CAAC,KAAK,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;YAC7C,CAAC,CAAC;YACF,OAAO,IAAItC,WAAW,CAACkC,OAAO,EAAEuE,KAAK,CAACC,IAAI,EAAED,KAAK,CAACK,GAAG,CAAC;UACxD;QACA,KAAK,aAAa;UAAE;YAClBL,KAAK,CAACQ,WAAW,CAACL,OAAO,CAAEtE,CAAC,IAAK;cAC/BJ,OAAO,CAAC2E,IAAI,CAACvE,CAAC,KAAK,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;YAC7C,CAAC,CAAC;YACF,OAAO,IAAItC,WAAW,CAACkC,OAAO,EAAEuE,KAAK,CAACC,IAAI,EAAED,KAAK,CAACK,GAAG,EAAE;cACrDI,MAAM,EAAET,KAAK,CAACS;YAChB,CAAC,CAAC;UACJ;QACA,KAAK,YAAY;UAAE;YACjBhF,OAAO,CAAC2E,IAAI,CAAC,KAAK,CAAC;YACnB,OAAO,IAAI7G,WAAW,CAACkC,OAAO,EAAE,QAAQ,EAAEuE,KAAK,CAACK,GAAG,CAAC;UACtD;QACA,KAAK,YAAY;UAAE;YACjB5E,OAAO,CAAC2E,IAAI,CAAC,KAAK,CAAC;YACnB,OAAO,IAAI7G,WAAW,CAACkC,OAAO,EAAE,QAAQ,EAAEuE,KAAK,CAACK,GAAG,CAAC;UACtD;QACA,KAAK,gBAAgB;UAAE;YACrB5E,OAAO,CAAC2E,IAAI,CAAC,KAAK,CAAC;YACnB3E,OAAO,CAAC2E,IAAI,CAAC,KAAK,CAAC;YACnB,OAAO,IAAI7G,WAAW,CAACkC,OAAO,EAAE,QAAQ,EAAEuE,KAAK,CAACK,GAAG,CAAC;UACtD;QACA,KAAK,wBAAwB;QAC7B,KAAK,SAAS;QACd;UAAS;YACP5E,OAAO,CAAC2E,IAAI,CAAC,KAAK,CAAC;YACnB3E,OAAO,CAAC2E,IAAI,CAAC,KAAK,CAAC;YACnB,OAAO,IAAI7G,WAAW,CAACkC,OAAO,EAAEuE,KAAK,CAACC,IAAI,EAAED,KAAK,CAACK,GAAG,CAAC;UACxD;MACF;IACF,CAAC;IACD,IAAI,CAACpE,UAAU,CAACyE,aAAa,GAAGX,mBAAmB,CAACD,EAAE,CAACE,KAAK,CAAC,CAAC;EAChE;EAEQjF,sBAAsBA,CAAC+E,EAAmC,EAAE;IAClE,IAAI,CAAC7D,UAAU,CAAC0E,iBAAiB,GAAGb,EAAE,CAACc,UAAU,CAAC;EACpD;EAEQ5F,uBAAuBA,CAC7B8E,EAAgD,EAChD;IACA,MAAMxB,YAAY,GAAG,IAAI,CAACjE,MAAM,CAACiE,YAAY,CAAC,CAAC;IAE/C,KAAK,MAAMuC,aAAa,IAAIf,EAAE,CAACgB,sBAAsB,EAAE;MACrD,IAAIhB,EAAE,CAACgB,sBAAsB,CAACC,cAAc,CAACF,aAAa,CAAC,EAAE;QAC3D,MAAMD,UAAU,GAAGd,EAAE,CAACgB,sBAAsB,CAACD,aAAa,CAAC;QAC3D,IAAIG,WAAW,GAAG1C,YAAY,CAACuC,aAAa,CAAC;QAC7C,IAAID,UAAU,IAAII,WAAW,EAAE;UAC7B,IAAI,CAAC/E,UAAU,CAACgF,kBAAkB,GAChCL,UAAU,EACVM,6BAA6B,CAACF,WAAW,CAC3C,CAAC;QACH;MACF;IACF;EACF;EAEA,MAAgBvG,kBAAkBA,CAACkF,KAA4B,EAAE;IAC/D,IAAI,CAACA,KAAK,CAACqB,WAAW,EAAEzC,KAAK,EAAE;IAC/B,IAAIoB,KAAK,CAACwB,KAAK,CAACrF,IAAI,KAAK,OAAO,EAAE;MAChC,IAAI,IAAI,CAAC7B,eAAe,EAAE;QACxB,IAAI,CAACA,eAAe,CAAC,CAAC;QACtB,IAAI,CAACA,eAAe,GAAG,IAAI;MAC7B;IACF;IACA,IAAI,CAACgC,UAAU,CAACmF,cAAc,GAC5BzB,KAAK,CAACwB,KAAK,EACXxB,KAAK,CAACqB,WAAW,GACbE,6BAA6B,CAACvB,KAAK,CAACqB,WAAW,CAAC,GAChDK,SACN,CAAC;IACD,IAAI,CAACnH,uBAAuB,GAAGyF,KAAK,CAAC;EACvC;EAEUhF,kBAAkBA,CAACgF,KAA4B,EAAE;IACzD,IAAI,CAACA,KAAK,CAACqB,WAAW,EAAEzC,KAAK,EAAE;IAC/B,IAAI,CAACtC,UAAU,CAACqF,cAAc,GAC5B3B,KAAK,CAACwB,KAAK,EACXxB,KAAK,CAACqB,WAAW,GACbE,6BAA6B,CAACvB,KAAK,CAACqB,WAAW,CAAC,GAChDK,SACN,CAAC;IACD,IAAI,CAAClH,uBAAuB,GAAGwF,KAAK,CAAC;EACvC;AACF;AAEA,MAAMuB,6BAA6B,GAAIK,CAAmB,KAAmB;EAC3EC,EAAE,EAAED,CAAC,CAACE,OAAO;EACblD,KAAK,EAAEgD,CAAC,CAAChD,KAAK;EACdmD,IAAI,EAAEH,CAAC,CAACI;AACV,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DailyMediaManager"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,wBAAqB;AACvD,SAASA,iBAAiB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { MediaManager, TrackEvent } from '@pipecat-ai/react-native-small-webrtc-transport';
|
|
2
|
+
import { DailyEventObjectTrack } from '@daily-co/react-native-daily-js';
|
|
3
|
+
import { Tracks } from '@pipecat-ai/client-js';
|
|
4
|
+
import { MediaDeviceInfo } from '@daily-co/react-native-webrtc';
|
|
5
|
+
export declare class DailyMediaManager extends MediaManager {
|
|
6
|
+
private _daily;
|
|
7
|
+
private _initialized;
|
|
8
|
+
private _connected;
|
|
9
|
+
private _connectResolve;
|
|
10
|
+
private _selectedCam;
|
|
11
|
+
private _selectedMic;
|
|
12
|
+
private _selectedSpeaker;
|
|
13
|
+
constructor(onTrackStartedCallback?: (event: TrackEvent) => void, onTrackStoppedCallback?: (event: TrackEvent) => void);
|
|
14
|
+
initialize(): Promise<void>;
|
|
15
|
+
connect(): Promise<void>;
|
|
16
|
+
disconnect(): Promise<void>;
|
|
17
|
+
getAllMics(): Promise<MediaDeviceInfo[]>;
|
|
18
|
+
getAllCams(): Promise<MediaDeviceInfo[]>;
|
|
19
|
+
getAllSpeakers(): Promise<MediaDeviceInfo[]>;
|
|
20
|
+
updateMic(micId: string): void;
|
|
21
|
+
updateCam(camId: string): void;
|
|
22
|
+
updateSpeaker(speakerId: string): void;
|
|
23
|
+
get selectedMic(): MediaDeviceInfo | Record<string, never>;
|
|
24
|
+
get selectedCam(): MediaDeviceInfo | Record<string, never>;
|
|
25
|
+
get selectedSpeaker(): MediaDeviceInfo | Record<string, never>;
|
|
26
|
+
enableMic(enable: boolean): Promise<void>;
|
|
27
|
+
enableCam(enable: boolean): void;
|
|
28
|
+
enableScreenShare(enable: boolean): void;
|
|
29
|
+
get isCamEnabled(): boolean;
|
|
30
|
+
get isMicEnabled(): boolean;
|
|
31
|
+
get isSharingScreen(): boolean;
|
|
32
|
+
tracks(): Tracks;
|
|
33
|
+
private _handleAvailableDevicesUpdated;
|
|
34
|
+
private _handleSelectedDevicesUpdated;
|
|
35
|
+
private handleDeviceError;
|
|
36
|
+
private _handleLocalAudioLevel;
|
|
37
|
+
private _handleRemoteAudioLevel;
|
|
38
|
+
protected handleTrackStarted(event: DailyEventObjectTrack): Promise<void>;
|
|
39
|
+
protected handleTrackStopped(event: DailyEventObjectTrack): void;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=dailyMediaManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dailyMediaManager.d.ts","sourceRoot":"","sources":["../../../src/dailyMediaManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,UAAU,EACX,MAAM,iDAAiD,CAAC;AAEzD,OAAc,EAQZ,qBAAqB,EAGtB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAIL,MAAM,EACP,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,qBAAa,iBAAkB,SAAQ,YAAY;IACjD,OAAO,CAAC,MAAM,CAAY;IAE1B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,eAAe,CAAqD;IAE5E,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,gBAAgB,CAA+C;gBAGrE,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,EACpD,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI;IAiChD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAIxC,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAIxC,cAAc,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAKlD,SAAS,CAAC,KAAK,EAAE,MAAM;IAMvB,SAAS,CAAC,KAAK,EAAE,MAAM;IAMvB,aAAa,CAAC,SAAS,EAAE,MAAM;IAO/B,IAAI,WAAW,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAEzD;IACD,IAAI,WAAW,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAEzD;IACD,IAAI,eAAe,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAE7D;IAEK,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAIhC,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAQxC,IAAI,YAAY,IAAI,OAAO,CAE1B;IACD,IAAI,YAAY,IAAI,OAAO,CAE1B;IACD,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,MAAM,IAAI,MAAM;IAYhB,OAAO,CAAC,8BAA8B;IAkBtC,OAAO,CAAC,6BAA6B;IAcrC,OAAO,CAAC,iBAAiB;IAqDzB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,uBAAuB;cAmBf,kBAAkB,CAAC,KAAK,EAAE,qBAAqB;IAiB/D,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,qBAAqB;CAU1D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"commonjs"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { MediaManager, TrackEvent } from '@pipecat-ai/react-native-small-webrtc-transport';
|
|
2
|
+
import { DailyEventObjectTrack } from '@daily-co/react-native-daily-js';
|
|
3
|
+
import { Tracks } from '@pipecat-ai/client-js';
|
|
4
|
+
import { MediaDeviceInfo } from '@daily-co/react-native-webrtc';
|
|
5
|
+
export declare class DailyMediaManager extends MediaManager {
|
|
6
|
+
private _daily;
|
|
7
|
+
private _initialized;
|
|
8
|
+
private _connected;
|
|
9
|
+
private _connectResolve;
|
|
10
|
+
private _selectedCam;
|
|
11
|
+
private _selectedMic;
|
|
12
|
+
private _selectedSpeaker;
|
|
13
|
+
constructor(onTrackStartedCallback?: (event: TrackEvent) => void, onTrackStoppedCallback?: (event: TrackEvent) => void);
|
|
14
|
+
initialize(): Promise<void>;
|
|
15
|
+
connect(): Promise<void>;
|
|
16
|
+
disconnect(): Promise<void>;
|
|
17
|
+
getAllMics(): Promise<MediaDeviceInfo[]>;
|
|
18
|
+
getAllCams(): Promise<MediaDeviceInfo[]>;
|
|
19
|
+
getAllSpeakers(): Promise<MediaDeviceInfo[]>;
|
|
20
|
+
updateMic(micId: string): void;
|
|
21
|
+
updateCam(camId: string): void;
|
|
22
|
+
updateSpeaker(speakerId: string): void;
|
|
23
|
+
get selectedMic(): MediaDeviceInfo | Record<string, never>;
|
|
24
|
+
get selectedCam(): MediaDeviceInfo | Record<string, never>;
|
|
25
|
+
get selectedSpeaker(): MediaDeviceInfo | Record<string, never>;
|
|
26
|
+
enableMic(enable: boolean): Promise<void>;
|
|
27
|
+
enableCam(enable: boolean): void;
|
|
28
|
+
enableScreenShare(enable: boolean): void;
|
|
29
|
+
get isCamEnabled(): boolean;
|
|
30
|
+
get isMicEnabled(): boolean;
|
|
31
|
+
get isSharingScreen(): boolean;
|
|
32
|
+
tracks(): Tracks;
|
|
33
|
+
private _handleAvailableDevicesUpdated;
|
|
34
|
+
private _handleSelectedDevicesUpdated;
|
|
35
|
+
private handleDeviceError;
|
|
36
|
+
private _handleLocalAudioLevel;
|
|
37
|
+
private _handleRemoteAudioLevel;
|
|
38
|
+
protected handleTrackStarted(event: DailyEventObjectTrack): Promise<void>;
|
|
39
|
+
protected handleTrackStopped(event: DailyEventObjectTrack): void;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=dailyMediaManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dailyMediaManager.d.ts","sourceRoot":"","sources":["../../../src/dailyMediaManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,UAAU,EACX,MAAM,iDAAiD,CAAC;AAEzD,OAAc,EAQZ,qBAAqB,EAGtB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAIL,MAAM,EACP,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,qBAAa,iBAAkB,SAAQ,YAAY;IACjD,OAAO,CAAC,MAAM,CAAY;IAE1B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,eAAe,CAAqD;IAE5E,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,gBAAgB,CAA+C;gBAGrE,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,EACpD,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI;IAiChD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAIxC,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAIxC,cAAc,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAKlD,SAAS,CAAC,KAAK,EAAE,MAAM;IAMvB,SAAS,CAAC,KAAK,EAAE,MAAM;IAMvB,aAAa,CAAC,SAAS,EAAE,MAAM;IAO/B,IAAI,WAAW,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAEzD;IACD,IAAI,WAAW,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAEzD;IACD,IAAI,eAAe,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAE7D;IAEK,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAIhC,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAQxC,IAAI,YAAY,IAAI,OAAO,CAE1B;IACD,IAAI,YAAY,IAAI,OAAO,CAE1B;IACD,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,MAAM,IAAI,MAAM;IAYhB,OAAO,CAAC,8BAA8B;IAkBtC,OAAO,CAAC,6BAA6B;IAcrC,OAAO,CAAC,iBAAiB;IAqDzB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,uBAAuB;cAmBf,kBAAkB,CAAC,KAAK,EAAE,qBAAqB;IAiB/D,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,qBAAqB;CAU1D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
package/package.json
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@pipecat-ai/react-native-daily-media-manager",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"license": "BSD-2-Clause",
|
|
5
|
+
"description": "React Native Daily Media manager",
|
|
6
|
+
"main": "./lib/commonjs/index.js",
|
|
7
|
+
"module": "./lib/module/index.js",
|
|
8
|
+
"types": "./lib/typescript/module/index.d.ts",
|
|
9
|
+
"files": [
|
|
10
|
+
"lib",
|
|
11
|
+
"package.json",
|
|
12
|
+
"README.md"
|
|
13
|
+
],
|
|
14
|
+
"scripts": {
|
|
15
|
+
"typecheck": "tsc",
|
|
16
|
+
"lint": "eslint \"**/*.{js,ts,tsx}\"",
|
|
17
|
+
"clean": "del-cli lib",
|
|
18
|
+
"prepare": "bob build",
|
|
19
|
+
"build": "bob build",
|
|
20
|
+
"tag": "../../scripts/tag",
|
|
21
|
+
"prepublishOnly": "npm run tag"
|
|
22
|
+
},
|
|
23
|
+
"keywords": [
|
|
24
|
+
"react-native",
|
|
25
|
+
"ios",
|
|
26
|
+
"android"
|
|
27
|
+
],
|
|
28
|
+
"repository": {
|
|
29
|
+
"type": "git",
|
|
30
|
+
"url": "git+https://github.com/pipecat-ai/pipecat-client-react-native-transports.git"
|
|
31
|
+
},
|
|
32
|
+
"bugs": {
|
|
33
|
+
"url": "https://github.com/pipecat-ai/pipecat-client-react-native-transports/issues"
|
|
34
|
+
},
|
|
35
|
+
"homepage": "https://github.com/pipecat-ai/pipecat-client-react-native-transports#readme",
|
|
36
|
+
"publishConfig": {
|
|
37
|
+
"registry": "https://registry.npmjs.org/"
|
|
38
|
+
},
|
|
39
|
+
"prettier": {
|
|
40
|
+
"quoteProps": "consistent",
|
|
41
|
+
"singleQuote": true,
|
|
42
|
+
"tabWidth": 2,
|
|
43
|
+
"trailingComma": "es5",
|
|
44
|
+
"useTabs": false
|
|
45
|
+
},
|
|
46
|
+
"react-native-builder-bob": {
|
|
47
|
+
"source": "src",
|
|
48
|
+
"output": "lib",
|
|
49
|
+
"targets": [
|
|
50
|
+
[
|
|
51
|
+
"commonjs",
|
|
52
|
+
{
|
|
53
|
+
"esm": true
|
|
54
|
+
}
|
|
55
|
+
],
|
|
56
|
+
[
|
|
57
|
+
"module",
|
|
58
|
+
{
|
|
59
|
+
"esm": true
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
[
|
|
63
|
+
"typescript",
|
|
64
|
+
{
|
|
65
|
+
"project": "tsconfig.build.json"
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
]
|
|
69
|
+
},
|
|
70
|
+
"peerDependencies": {
|
|
71
|
+
"@daily-co/react-native-daily-js": "^0.82.0",
|
|
72
|
+
"@daily-co/react-native-webrtc": "^124.0.6-daily.1",
|
|
73
|
+
"@pipecat-ai/react-native-small-webrtc-transport": "*",
|
|
74
|
+
"@react-native-async-storage/async-storage": "^1.24.0",
|
|
75
|
+
"react-native": "*",
|
|
76
|
+
"react-native-background-timer": "^2.4.1",
|
|
77
|
+
"react-native-get-random-values": "^1.11.0"
|
|
78
|
+
},
|
|
79
|
+
"devDependencies": {
|
|
80
|
+
"@daily-co/react-native-daily-js": "^0.82.0",
|
|
81
|
+
"@daily-co/react-native-webrtc": "^124.0.6-daily.1",
|
|
82
|
+
"@pipecat-ai/react-native-small-webrtc-transport": "*",
|
|
83
|
+
"@react-native-async-storage/async-storage": "^1.24.0",
|
|
84
|
+
"del-cli": "^6.0.0",
|
|
85
|
+
"react-native-background-timer": "^2.4.1",
|
|
86
|
+
"react-native-builder-bob": "^0.40.13",
|
|
87
|
+
"react-native-get-random-values": "^1.11.0",
|
|
88
|
+
"typescript": "*"
|
|
89
|
+
}
|
|
90
|
+
}
|