Click here to Skip to main content
15,886,110 members
Articles / Programming Languages / C#

Sample speed test for Transport Stream construction

Rate me:
Please Sign up or sign in to vote.
3.47/5 (45 votes)
13 Apr 20044 min read 124.5K   1.9K   48  
A program that emulates the TS construction from ES files for the HDTV standard.
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;

namespace mpeg_tst
{
	public class d_about : System.Windows.Forms.Form
	{
		private System.Windows.Forms.Button button1;
		private System.Windows.Forms.TextBox textBox1;
		private System.ComponentModel.Container components = null;

		public d_about()
		{
			InitializeComponent();
		}

		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{this.Hide();}
		}

		#region Windows Form Designer generated code
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{
			System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(d_about));
			this.button1 = new System.Windows.Forms.Button();
			this.textBox1 = new System.Windows.Forms.TextBox();
			this.SuspendLayout();
			// 
			// button1
			// 
			this.button1.BackColor = System.Drawing.Color.FromArgb(((System.Byte)(224)), ((System.Byte)(224)), ((System.Byte)(224)));
			this.button1.Location = new System.Drawing.Point(256, 320);
			this.button1.Name = "button1";
			this.button1.Size = new System.Drawing.Size(72, 24);
			this.button1.TabIndex = 0;
			this.button1.Text = "CLOSE";
			this.button1.Click += new System.EventHandler(this.button1_Click);
			// 
			// textBox1
			// 
			this.textBox1.BackColor = System.Drawing.Color.FromArgb(((System.Byte)(255)), ((System.Byte)(192)), ((System.Byte)(255)));
			this.textBox1.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this.textBox1.Location = new System.Drawing.Point(8, 8);
			this.textBox1.Multiline = true;
			this.textBox1.Name = "textBox1";
			this.textBox1.ReadOnly = true;
			this.textBox1.Size = new System.Drawing.Size(560, 296);
			this.textBox1.TabIndex = 1;
			this.textBox1.Text = "Even if the two axes are called \"Miliseconds\" and \"TS Packets\" this diagram isn\'t" +
				" the usual graphic you\'d expect. It\'s a kind of effiency diagram wich show aprox" +
				"imately how many TS packets were produced during a period of time. So , if the f" +
				"irst value on your horizontal axe (\"Miliseconds\") it\'s 30 and the coresponding v" +
				"alue on the vertical axe (\"TS packets\") it\'s 800 , this means that in the first " +
				"30 miliseconds of the simulation 800 TS Packets were produced. Accordingly , if " +
				"the second value on the horizontal axe it\'s 54 and the coresponding value on the" +
				" vertical axe it\'s 1000 , this means that between miliseconds 30 and 54 there we" +
				"re 1000 TS Packets produced , so the system generated 1000 TS Packets in 24 mili" +
				"seconds. The measurement it\'s done by taking the time after each group of 100 TS" +
				" packets. This might slow up the process but it\'s more appropiate to the real co" +
				"nditions. Hardly you\'ll find two different simulation with the same diagram. The" +
				" \"spikes\" you\'ll notice on most diagrams are the cause of your system internals " +
				"( hey , your program isn\'t the only one using the CPU , RAM and HDD) so variatio" +
				"ns are expected. Overall , this diagram can give you a clue about TS generation " +
				"efficiency on your system at various settings. For example , if you use a large " +
				"buffer setting on a simulation you\'ll notice a significant rise of TS packets qu" +
				"antity in the last part of time , due to exclusive buffer reading.  Also , it\'s " +
				"recomandable to read diagrams for small size TS generated , because the generati" +
				"on of an TS over 400 Mb might produce enough data for the diagram to become almo" +
				"st unreadable.";
			this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
			// 
			// d_about
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
			this.BackColor = System.Drawing.Color.FromArgb(((System.Byte)(255)), ((System.Byte)(192)), ((System.Byte)(255)));
			this.ClientSize = new System.Drawing.Size(576, 358);
			this.Controls.AddRange(new System.Windows.Forms.Control[] {
																		  this.textBox1,
																		  this.button1});
			this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
			this.MaximumSize = new System.Drawing.Size(584, 392);
			this.MinimumSize = new System.Drawing.Size(584, 392);
			this.Name = "d_about";
			this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
			this.Text = "About the Diagram";
			this.ResumeLayout(false);

		}
		#endregion

		private void button1_Click(object sender, System.EventArgs e)
		{this.Hide();}
	}
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
Malaysia Malaysia
Dumitru Bogdan - alias Angel

Born 1980 , Brasov , Romania

Final year student at Transilvania University of Brasov , Faculty of Electrical Engineering & Computer Science , Department of Electronics & Computers

Programming : Visual C++ , Visual Fox Pro , Assembler & later , C#

Motto : "Nothing Last Forever" , and software is no exception

Comments and Discussions