|  Sample: | 
   | 
 
          How to use the  CompressorDataSize  is shown in the sample
           Saving Codec Properties.
         
 
          Save the data from a codec that was selected in a combo box.
         
[C#] private void cmdSaveCodecData_Click( object sender, System.EventArgs e )
{
    if( edtConfigFile.Text != "" )
    {
        try
        {
            System.IO.FileStream Filestream = new System.IO.FileStream( edtConfigFile.Text, System.IO.FileMode.Create, System.IO.FileAccess.Write );
            // Create the writer for data.
            System.IO.BinaryWriter BinWriter = new System.IO.BinaryWriter( Filestream );
            // Write data to Test.data.
            AviCompressor aviComp = null;
            aviComp = ((AviCompressor)(CodecBox.SelectedItem));
            BinWriter.Write( aviComp.ToString() );
            BinWriter.Write( aviComp.CompressorDataSize );
            BinWriter.Write( aviComp.CompressorData );
            BinWriter.Close();
            Filestream.Close();
        }
        catch( Exception Ex )
        {
            MessageBox.Show( Ex.Message, "Write error", MessageBoxButtons.OK, MessageBoxIcon.Error );
        }
    }
}
                      
 
 
          Load the previously saved data and assign it to a codec.
         
[C#] private void cmdLoadCodecData_Click( object sender, System.EventArgs e )
{
    if( edtConfigFile.Text != "" )
    {
        try
        {
            // Create the reader for data.
            System.IO.FileStream Filestrem = new System.IO.FileStream( edtConfigFile.Text, System.IO.FileMode.Open, System.IO.FileAccess.Read );
            System.IO.BinaryReader BinReader = new System.IO.BinaryReader( Filestrem );
            string CodecName = "";
            AviCompressor Codec = null;
            bool CodecFound = false;
            // Retrieve the name of the codec from the codec configuration file
            CodecName = BinReader.ReadString();
            // Search this codec in the codec combo box
            CodecFound = false;
            foreach( AviCompressor item in CodecBox.Items )
            {
                if( item.ToString() == CodecName )
                {
                    CodecBox.SelectedItem = item;
                    Codec = item;
                    CodecFound = true;
                }
            }
            if( CodecFound == true )
            {
                int codecDataLen = BinReader.ReadInt32();
                // Assign the configuration data to the codec.
                Codec.CompressorData = BinReader.ReadBytes( codecDataLen );
            }
            else
            {
                // If the codec was not found, display an error message.
                MessageBox.Show( "The codec " + CodecName + " was not found!", "Load codec configuration", MessageBoxButtons.OK, MessageBoxIcon.Information );
            }
            BinReader.Close();
            Filestrem.Close();
        }
        catch( Exception Ex )
        {
            MessageBox.Show( Ex.Message, "Read error", MessageBoxButtons.OK, MessageBoxIcon.Error );
        }
    }
}
                                           
 
 |