/// <summary> /// Create a new EncoderPackage /// </summary> public EncoderPackage(PackageSpec SrcSpec, int Index, EncoderJob Job, MediaFrame Frame) { Buffers = new List<IEncoderBuffer>(); this.JobIndex = Index; this.Job = Job; this.Frame = Frame; Specification = SrcSpec; }
/// <summary> /// Create encoder buffers for each package, and add to capture buffer lists. /// </summary> private void ConnectPackageToBuffers(EncoderPackage Package, PackageSpec Spec) { if (Spec.HasVideo && ImageBuffers != null) { var vbuf = new ImageBuffer(Spec.VideoSize.Width, Spec.VideoSize.Height); ImageBuffers.Add(vbuf); Package.Buffers.Add(vbuf); } if (Spec.HasAudio && AudioBuffers != null) { AudioBufferMono abuf = null; if (mic != null) abuf = new AudioBufferMono(mic.SampleRate, mic.Channels); else abuf = new AudioBufferMono(config.Audio.SampleRate, config.Audio.Channels); AudioBuffers.Add(abuf); Package.Buffers.Add(abuf); } }