using System;
using System.Collections.Generic;
using Vinno.FIS.TRTCClient.Common.Enum;
using Vinno.vCloud.FIS.CrossPlatform.Common.Enum;
using Vinno.vCloud.FIS.CrossPlatform.Common.LiveVideo;
using Vinno.vCloud.FIS.CrossPlatform.Common.LiveVideo.Interface;
namespace Vinno.vCloud.Common.FIS.LiveVideos
{
internal interface ILiveVideoPusherManagerV2 : IPreview, IDisposable
{
///
/// 推流状态改变事件通知
///
event EventHandler PusherStateChanged;
///
/// The event to notificate the US to show or hide the live video out put window
///
event EventHandler LiveVideoNotification;
void UpdateCurrentVideoDeviceInfoList(List infos);
///
/// 是否正在推流
///
bool IsPushing { get; }
///
/// 重新推流
///
void RestartPusher();
///
///
///
///
void LiveStateChanged(LiveEventArgs liveEventArgs);
///
/// 当会诊时,变更房间时
///
///
void ChangeHeartRateCode(string consultationCode);
void StartHeartRateKeeper(string heartRateCode, int interval, EnumHeartRateType heartRateType);
void StopHeartRateKeeper();
void SetMute(bool isMute);
void SwitchMic(string micId);
///
/// 设置是否暂停
///
///
void SetIsPaused(bool isPaused);
///
/// 获取品牌列表
///
///
List GetBrandList();
///
/// 获取型号列表
///
///
///
///
List GetModelList(string brand);
///
/// 获取推荐分辨率
///
///
///
///
DeviceRecommandResolution GetRecommandResolution(string brand, string model);
///
/// Speed live test network and auto select good network to server
///
///
bool StartSpeedTest();
///
/// 开始预览
///
void StartOnlyPreview(EnumLiveChannelCategory category);
}
}