Class for describing an encoder package
Пример #1
0
 /// <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);
            }
        }