Esempio n. 1
0
        private void InsertDataButton_Click(object sender, EventArgs e)
        {
            if (MainWorkerThread != null && MainWorkerThread.IsAlive)
            {
                MessageBox.Show("Please wait for the previous operation to finish", "Please Wait");
                return;
            }
            int dataFileSize = (int)new FileInfo(DataFileName).Length;

            dataFileStream = new StreamReader(DataFileName).BaseStream;
            SetupAudioStreams(dataFileSize);
            Encoder = new NLSBSteganographerEncoder(
                AudioFileInStream,
                dataFileStream,
                KeyHelper.GenerateKeyFromUserInput(),
                dataFileSize
                );

            //Encoder.ProcessFile(WriteCallback);
            MainWorkerThread.Start(null);
        }
Esempio n. 2
0
        private void SetupDecoder(out Stream dataFileStream)
        {
            AudioFileInStream             = new FileInDecodingStream();
            AudioFileInStream.InfoOutFile = InfoFileWriter;
            AudioFileInStream.SetMetadataRespond(MetadataType.VorbisComment);
            SaveFileDialog dlg = new SaveFileDialog();

            dlg.Filter = "All Files (*.*)|*.*";
            dlg.ShowDialog();
            if (dlg.FileName == "")
            {
                dataFileStream = null;
                return;
            }
            dataFileStream = new StreamWriter(dlg.FileName).BaseStream;
            Decoder        = new NLSBSteganographerDecoder(
                AudioFileInStream,
                dataFileStream,
                KeyHelper.GenerateKeyFromUserInput()
                );
            AudioFileInStream.Initialize(AudioFileName);
            AudioFileInStream.ProgressCallback = ProgressCallback;
            MainWorkerThread = new Thread(new ParameterizedThreadStart(x => { Decoder.ProcessFile(); CleanupDecoder(); }));
        }