protected static Channel GetChannel(IPlayerStream stream) { var temp = stream as InternalPlayerStream; if (temp == null) throw new InvalidOperationException("The Type must be InternalPlayerStream."); return temp.Channel; }
public IEncoder CreateEncoder(CommonProfile profile, IPlayerStream channel) { if (profile == null) return CreateDefault(channel); IEncoderFactory fac = _encoderFactories.FirstOrDefault(f => f.Id == profile.Id); if (fac == null) return CreateDefault(channel); var rec = fac.Create(profile, channel) ?? CreateDefault(channel); return rec; }
public IEncoder Create(CommonProfile profile, IPlayerStream channel) { if(profile == null) return null; return InternalCreate(profile, channel); }
protected override IEncoder InternalCreate(CommonProfile profile, IPlayerStream channel) { return new LameEncoderProfile(profile).CreateEncoder(channel); }
protected AudioEncoderBase([NotNull] Func<Channel, BaseEncoder> encoder, [NotNull] IPlayerStream stream) : base(encoder, GetChannel(stream)) { _playerStream = stream; }