private void btnUDAdd_Click(object sender, EventArgs e)
        {
            using (frmUserData udForm = new frmUserData("Add")) {
                if (udForm.ShowDialog(this) != DialogResult.OK)
                {
                    return;
                }

                MPEG4UserData ud = new MPEG4UserData();
                ud.UserData = Encoding.ASCII.GetBytes(udForm.UserDataString);
                lstUserData.Items.Add(ud);
            }
        }
        private void btnUDEdit_Click(object sender, EventArgs e)
        {
            int index = lstUserData.SelectedIndex;

            if (index != -1)
            {
                using (frmUserData udForm = new frmUserData("Edit")) {
                    MPEG4UserData ud = (MPEG4UserData)lstUserData.SelectedItem;
                    udForm.UserDataString = ud.ToString();

                    if (udForm.ShowDialog(this) != DialogResult.OK)
                    {
                        return;
                    }

                    ud.SetString(udForm.UserDataString);
                    lstUserData.Items[index] = ud;
                }
            }
        }