import 'dart:typed_data';

import 'package:fis_common/env/env.dart';
import 'package:fis_vid/async_vid/http/vid_data.dart';
import 'package:fis_vid/async_vid/shell/vid_data.dart';
import 'package:fis_vid/async_vid/vid_data.dart';

import 'channel.dart';

class VidDataChannelImpl extends VidDataChannel {
  VidDataChannelImpl(String url) : super(url);

  static void receiveChunk(String id, Uint8List chunk) {
    if (FPlatform.isPureWeb == false) {
      AsyncShellVidImageData.receiveChunk(id, chunk);
    }
  }

  @override
  Future<AsyncVidImageDataBase> buildSource() async {
    if (FPlatform.isPureWeb) {
      return AsyncHttpVidImageData(url, downloadCallback: onDownloadCallback);
    } else {
      return AsyncShellVidImageData(url, downloadCallback: onDownloadCallback);
    }
  }
}