Yodiwo.Media.Video.Sink.MjpegServer.VideoFeed.servicequeuecb C# (CSharp) Method

servicequeuecb() private method

private servicequeuecb ( Image newFrame ) : void
newFrame Image
return void
        private void servicequeuecb(Image newFrame)
        {
            ms = new MemoryStream();
            if (newFrame != null && !IsDisposed)
            {
                //get stream
                ms.SetLength(0);
                newFrame.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);

                //broadcast frame
                lock (_Clients)
                    foreach (var entry in _Clients)
                    {
                        ms.Position = 0;
                        try
                        {
                            entry.Value.Writer.Write(ms);
                        }
                        catch
                        {
                            //remove client that caused the exception
                            RemoveClient(entry.Key);
                            break; //because we changed the collection
                        }
                    }

                //dispose frame
                newFrame.Dispose();
            }
        }
        //------------------------------------------------------------------------------------------------------------------------