feat(videocall): complete channel wrapper + add integration plan doc
Add 11 missing JCMediaChannel methods to VideocallChannelService: getSelfParticipant, subscribeParticipantAudio, startScreenShareVideo, stopScreenShareVideo, enableSelfVideoRatio, getMaxResolution, sendCommandToDelivery, enableVolumeChangeNotify, getCaptureScreen, getScreenRenderId, getScreenUserId. Add VIDEOCALL_INTEGRATION.md with full implementation checklist tracking phases 1-10.
This commit is contained in:
@@ -298,6 +298,57 @@ class VideocallChannelService with JCMediaChannelCallback {
|
||||
return _channel!.getCdnState();
|
||||
}
|
||||
|
||||
Future<String> getCaptureScreen() async {
|
||||
if (_channel == null) return '';
|
||||
return _channel!.getCaptureScreen();
|
||||
}
|
||||
|
||||
Future<String> getScreenRenderId() async {
|
||||
if (_channel == null) return '';
|
||||
return _channel!.getScreenRenderId();
|
||||
}
|
||||
|
||||
Future<String> getScreenUserId() async {
|
||||
if (_channel == null) return '';
|
||||
return _channel!.getScreenUserId();
|
||||
}
|
||||
|
||||
// -- Self participant --
|
||||
|
||||
Future<JCMediaChannelParticipant?> getSelfParticipant() async {
|
||||
return _channel?.getSelfParticipant();
|
||||
}
|
||||
|
||||
Future<bool> subscribeParticipantAudio(
|
||||
JCMediaChannelParticipant participant, bool subscribe) async {
|
||||
if (_channel == null) return false;
|
||||
return _channel!.subscribeParticipantAudio(participant, subscribe);
|
||||
}
|
||||
|
||||
// -- Screen share video --
|
||||
|
||||
Future<JCMediaDeviceVideoCanvas?> startScreenShareVideo(
|
||||
int renderType, int pictureSize) async {
|
||||
return _channel?.startScreenShareVideo(renderType, pictureSize);
|
||||
}
|
||||
|
||||
Future<bool> stopScreenShareVideo() async {
|
||||
if (_channel == null) return false;
|
||||
return _channel!.stopScreenShareVideo();
|
||||
}
|
||||
|
||||
// -- Video ratio / resolution --
|
||||
|
||||
Future<bool> enableSelfVideoRatio(bool enable, double ratio) async {
|
||||
if (_channel == null) return false;
|
||||
return _channel!.enableSelfVideoRatio(enable, ratio);
|
||||
}
|
||||
|
||||
Future<int> getMaxResolution() async {
|
||||
if (_channel == null) return 0;
|
||||
return _channel!.getMaxResolution();
|
||||
}
|
||||
|
||||
// -- Messaging --
|
||||
|
||||
Future<bool> sendMessage(
|
||||
@@ -311,6 +362,11 @@ class VideocallChannelService with JCMediaChannelCallback {
|
||||
return _channel!.sendCommand(name, param);
|
||||
}
|
||||
|
||||
Future<bool> sendCommandToDelivery(String command) async {
|
||||
if (_channel == null) return false;
|
||||
return _channel!.sendCommandToDelivery(command);
|
||||
}
|
||||
|
||||
// -- Statistics --
|
||||
|
||||
Future<String> getStatistics() async {
|
||||
@@ -318,6 +374,18 @@ class VideocallChannelService with JCMediaChannelCallback {
|
||||
return _channel!.getStatistics();
|
||||
}
|
||||
|
||||
// -- Volume change notify --
|
||||
|
||||
Future<bool> enableVolumeChangeNotify(bool value) async {
|
||||
if (_channel == null) return false;
|
||||
return _channel!.enableVolumeChangeNotify(value);
|
||||
}
|
||||
|
||||
Future<bool> getVolumeChangeNotify() async {
|
||||
if (_channel == null) return false;
|
||||
return _channel!.getVolumeChangeNotify();
|
||||
}
|
||||
|
||||
// -- Dispose --
|
||||
|
||||
void dispose() {
|
||||
|
||||
Reference in New Issue
Block a user