dart-webrtc icon indicating copy to clipboard operation
dart-webrtc copied to clipboard

remove package:js

Open jarrodcolburn opened this issue 1 year ago • 2 comments

https://github.com/flutter-webrtc/dart-webrtc/issues/28 accomplished half it's stated goal ✅ move from dart:html ❌ to package:web

I feel like in order to fully move to package:web would require removal of package:js

jarrodcolburn avatar May 04 '24 20:05 jarrodcolburn

for example, the custom js classes in file at https://github.com/flutter-webrtc/dart-webrtc/blob/main/lib/src/rtc_transform_stream.dart are implemented in package:web so be replaced with

// rtc_transform_stream.dart
// can replace existing file with the following
export 'package:web/web.dart'
    show
        WritableStream,
        ReadableStream,
        TransformStream,
        TransformStreamDefaultController,
        RTCEncodedAudioFrame,
        RTCEncodedVideoFrame,
        RTCEncodedAudioFrameMetadata,
        RTCEncodedVideoFrameMetadata,
        RTCTransformEvent,
        RTCRtpScriptTransformer,
        RTCRtpScriptTransform;

// TODO: figure out how to replace legacy classes: EncodedStreams & RTCEncodedFrame

jarrodcolburn avatar May 04 '24 20:05 jarrodcolburn

I'm trying to do it on my fork https://github.com/jarrodcolburn/dart-webrtc/tree/remove_package_js But I'm not familiar enough with the webrtc. Like in file https://github.com/jarrodcolburn/dart-webrtc/blob/4b507ef3c5ec633947fd7c9652d6aef1c72009e8/lib/src/e2ee.worker/e2ee.cryptor.dart#L246

does this go from

readable.pipeThrough(transformer).pipeTo(writable);

to

      transformer.readable.pipeTo(writable);

And the functions like getUnencryptedBytes that call a psuedo superclasss RTCEncodedFrame does that need to run for both Audio and Video?

jarrodcolburn avatar May 04 '24 20:05 jarrodcolburn