Exemplo n.º 1
0
        unsafe public void Start()
        {
            if (thread == null)
            {
                if (m_pDecoder == 0)
                {
                    return;
                }
                if (m_pxBuf == null)
                {
                    m_pxBuf = new byte[1024 * 1000];
                }
                m_szData = 0;

                //TODO: start render
                //if (m_pRender != null) m_pRender.Start();
                fixed(Byte *ptr = m_pszParm)
                MyDecoder.DCD_Open(m_pDecoder, m_nszParm, ptr);

                stopEvent   = new ManualResetEvent(false);
                thread      = new Thread(new ThreadStart(DecodeData));
                thread.Name = "DecodeData";
                thread.Start();
            }
        }
Exemplo n.º 2
0
 public void LoadImage(string path)
 {
     decoder     = new MyDecoder(path);
     imgOriginal = decoder.Decode();
     OriginalDrawer?.Invoke(imgOriginal);
     filters = new Filterer(imgOriginal);
 }
Exemplo n.º 3
0
        public void DecodeWith1Param_GivenStringIsNullOrEmpty_ReturnsSpecifiedString()
        {
            var decoder         = new MyDecoder(string.Empty);
            var specifiedString = "The string is empty";


            Assert.IsTrue(decoder.Decode(null) == specifiedString && decoder.Decode(string.Empty) == specifiedString);
        }
Exemplo n.º 4
0
 void OnEnable()
 {
     source             = GetComponent <AudioSource>();
     source.clip        = AudioClip.Create("Loopback", audioClipLength, (int)channels, (int)frequency, false);
     source.loop        = true;
     decoder            = GetComponent <MyDecoder>();
     decoder.OnDecoded += OnDecoded;
 }
Exemplo n.º 5
0
        public void DecodeWithNoParams_StringToDecodeIsNullOrEmpty_ReturnsSpecifiedString()
        {
            var decoder1        = new MyDecoder(null);
            var decoder2        = new MyDecoder(string.Empty);
            var specifiedString = "The string is empty";

            Assert.IsTrue(decoder1.Decode() == specifiedString && decoder2.Decode() == specifiedString);
        }
Exemplo n.º 6
0
        public void DecodeWithNoParams_StringToDecodeHasValue_ReturnsDecodedString()
        {
            var decoder  = new MyDecoder("2[abc]d3[a]");
            var expected = "abcabcdaaa";

            var result = decoder.Decode();

            Assert.IsTrue(expected == result);
        }
Exemplo n.º 7
0
        public void DecodeWith1Param_GivenStringIsValidString_ReturnsDecodedString()
        {
            var decoder     = new MyDecoder("");
            var givenString = "2[abc3[f]]";
            var expected    = "abcfffabcfff";

            var result = decoder.Decode(givenString);

            Assert.IsTrue(expected == result);
        }
Exemplo n.º 8
0
 public NSVideo()
 {
     t_stmp     = 0;
     clock_ms   = 90;
     m_pxBuf    = null;
     m_szData   = m_nszParm = 0;
     m_pQueue   = new Queue();
     m_pDecoder = MyDecoder.DCD_Create("h264");
     //m_pRender = new ImageRender();
     counter = 0;
 }
Exemplo n.º 9
0
        public void Stop()
        {
            StopThread();

            if (m_pDecoder == 0)
            {
                return;
            }
            MyDecoder.DCD_Close(m_pDecoder);
            //TODO:stop drawer
        }
Exemplo n.º 10
0
        public void ValidityChecker_GivenStringHasInapropriateSymbol_ReturnsSpecifiedString()
        {
            var           decoder       = new MyDecoder("");
            PrivateObject privateObject = new PrivateObject(decoder);
            var           givenString   = "2[aasd*]";
            var           expected      = "Unacceptable symbol is used:\nSymbol: \"*\", at: 6";

            var result = privateObject.Invoke("ValidityChecker", givenString);

            Assert.IsTrue((string)result == expected);
        }
Exemplo n.º 11
0
        public void ValidityChecker_GivenStringHasLettersInTheWrongPlace_ReturnsSpecifiedString()
        {
            var           decoder       = new MyDecoder("");
            PrivateObject privateObject = new PrivateObject(decoder);
            var           givenString   = "2ss[avcs]";
            var           expected      = "Неправильное выражение";

            var result = privateObject.Invoke("ValidityChecker", givenString);

            Assert.IsTrue((string)result == expected);
        }
Exemplo n.º 12
0
        public void StringUnfolder_GivenStringIsValidMatch_ReturnsUnfoldedString()
        {
            var           decoder       = new MyDecoder("");
            PrivateObject privateObject = new PrivateObject(decoder);
            var           givenString   = "2[avcs]aaa";
            var           expected      = "avcsavcsaaa";

            var result = privateObject.Invoke("StringUnfolder", givenString);

            Assert.IsTrue((string)result == expected);
        }
Exemplo n.º 13
0
        public void ValidityChecker_GivenStringHasOnlyLettersInsideBrackets_ReturnsSpecifiedString()
        {
            var           decoder       = new MyDecoder("");
            PrivateObject privateObject = new PrivateObject(decoder);
            var           givenString   = "[abcdefjklmno]";
            var           expected      = "Неправильное выражение";

            var result = privateObject.Invoke("ValidityChecker", givenString);

            Assert.IsTrue((string)result == expected);
        }
Exemplo n.º 14
0
        public void ValidityChecker_OpeningAndClosingBracketsAmountDontMatchInTheGivenString_ReturnsSpecifiedString()
        {
            var           decoder       = new MyDecoder("");
            PrivateObject privateObject = new PrivateObject(decoder);
            var           givenString   = "2[xxx]]";
            var           expected      = "Число открывающих скобок не равно числу закрывающих";

            var result = privateObject.Invoke("ValidityChecker", givenString);

            Assert.IsTrue((string)result == expected);
        }
Exemplo n.º 15
0
        public void StringUnfolder_GivenStringHasNoNumbers_ReturnsGivenString()
        {
            var           decoder       = new MyDecoder("");
            PrivateObject privateObject = new PrivateObject(decoder);
            var           givenString1  = "[avcs]";
            var           givenString2  = "kkksssspppp";

            var result1 = privateObject.Invoke("StringUnfolder", givenString1);
            var result2 = privateObject.Invoke("StringUnfolder", givenString2);

            Assert.IsTrue((string)result1 == givenString1 && (string)result2 == givenString2);
        }
Exemplo n.º 16
0
        public void ValidityChecker_GivenStringHasOpeningBracketsRightBeforeClosingBrackets_ReturnsSpecifiedString()
        {
            var           decoder       = new MyDecoder("");
            PrivateObject privateObject = new PrivateObject(decoder);
            var           givenString1  = "[]";
            var           givenString2  = "2[abc2[]]";
            var           expected      = "Неправильное выражение";

            var result1 = privateObject.Invoke("ValidityChecker", givenString1);
            var result2 = privateObject.Invoke("ValidityChecker", givenString2);

            Assert.IsTrue((string)result1 == expected && (string)result2 == expected);
        }
Exemplo n.º 17
0
        public bool SetDecoder(string name)
        {
            if (m_pDecoder != 0)
            {
                MyDecoder.DCD_Close(m_pDecoder);
            }
            m_pDecoder = MyDecoder.DCD_Create(name);

            int clock = 90000;

            clock_ms = (uint)clock / 1000;
            if (clock_ms == 0)
                clock_ms = 90; }
Exemplo n.º 18
0
        public void Repeat_IsGivenStringNumberAndRemainer_ReturnsNumberOfTimesRepeatedStringPlusRemainer()
        {
            var           decoder       = new MyDecoder("");
            PrivateObject privateObject = new PrivateObject(decoder);
            var           givenString   = "aaa";
            var           number        = 3;
            var           remainer      = "kkk";
            var           expected      = "aaaaaaaaakkk";

            var result = privateObject.Invoke("Repeat", givenString, number, remainer);

            Assert.IsTrue((string)result == expected);
        }
Exemplo n.º 19
0
        public void Replace_IsGivenParameters_ReturnsProcessedString()
        {
            var           decoder       = new MyDecoder("");
            PrivateObject privateObject = new PrivateObject(decoder);
            var           currentInputStringCondition = "2[abc2[sas]sa]";
            var           unfoldedMatchValue          = "sassassa";
            var           matchIndex  = 5;
            var           matchLength = 8;
            var           expected    = "2[abcsassassa]";

            var result = privateObject.Invoke("Replace", currentInputStringCondition, unfoldedMatchValue, matchIndex, matchLength);

            Assert.IsTrue((string)result == expected);
        }
Exemplo n.º 20
0
        public void ValidityChecker_GivenStringIsValid_ReturnGivenString()
        {
            var           decoder       = new MyDecoder("");
            PrivateObject privateObject = new PrivateObject(decoder);
            var           validString1  = "abcdefg";
            var           validString2  = "2[abc]";
            var           validString3  = "3[assd2[ss]]sss";

            var result1 = privateObject.Invoke("ValidityChecker", validString1);
            var result2 = privateObject.Invoke("ValidityChecker", validString2);
            var result3 = privateObject.Invoke("ValidityChecker", validString3);

            Assert.IsTrue(validString1 == (string)result1 && validString2 == (string)result2 && validString3 == (string)result3);
        }
Exemplo n.º 21
0
 public void Stop()
 {
     if (this.Running)
     {
         SignalToStop();
         WaitForStop();
         if (m_pDecoder == 0)
         {
             return;
         }
         MyDecoder.DCD_Close(m_pDecoder);
         if (m_pRender != null)
         {
             m_pRender.Stop();
         }
     }
 }
Exemplo n.º 22
0
        new unsafe public bool Start()
        {
            if (m_pDecoder == 0)
            {
                return(false);
            }
            m_pxBuf = new byte[1024 * 64];

            m_szData = 0;

            if (m_nszParm == 0)
            {
                return(false);

                fixed(byte *pszParm = m_pszParm)
                {
                    bool temp = MyDecoder.DCD_Open(m_pDecoder, m_nszParm, pszParm);
                }

                mRun = true;
                base.Start();

                return(true);
        }
Exemplo n.º 23
0
        unsafe void po_Draw(byte[] pData)
        {
            bool done = false;

            if (pData[0] == 0)
            {
                fixed(Byte *ptr = pData)
                done = MyDecoder.DCD_Decode(m_pDecoder, ptr, pData.Length);
            }
            else
            {
                byte cc   = pData[0];
                byte type = (byte)(cc & 0x1f);
                bool doit = false;
                int  size;
                switch (type)
                {
                case 0:
                    size = pData.Length - 1;
                    if ((cc & 0x40) != 0)
                    {
                        m_szData = 0;
                    }
                    Buffer.BlockCopy(pData, 1, m_pxBuf, m_szData, size);
                    m_szData += size;
                    if ((cc & 0x80) != 0)
                    {
                        doit = true;
                    }
                    break;

                case 28:
                    size = pData.Length - 2;
                    if ((pData[1] & 0x80) > 0)
                    {
                        m_pxBuf[0] = 0;
                        m_pxBuf[1] = 0;
                        m_pxBuf[2] = 1;
                        m_pxBuf[3] = (byte)((pData[0] & 0xe0) | (pData[1] & 0x1f));
                        m_szData   = 4;
                    }
                    if ((pData[1] & 0x40) > 0)
                    {
                        doit = true;
                    }
                    Buffer.BlockCopy(pData, 2, m_pxBuf, m_szData, size);
                    m_szData += size;
                    break;

                case 1:
                case 5:
                    size       = pData.Length;
                    m_pxBuf[0] = 0;
                    m_pxBuf[1] = 0;
                    m_pxBuf[2] = 1;
                    m_szData   = 3;
                    Buffer.BlockCopy(pData, 0, m_pxBuf, m_szData, size);
                    m_szData += size;
                    doit      = true;
                    break;

                default:
                    break;
                }
                if (doit)
                {
                    fixed(Byte *ptr = m_pxBuf)
                    done = MyDecoder.DCD_Decode(m_pDecoder, ptr, m_szData);

                    m_szData = 0;
                }
            }
            if (done)
            {
                //TODO: show decoded image
                int   sz, w, h;
                Byte *data = MyDecoder.DCD_GetPicture(m_pDecoder, out w, out h);
                sz = MyDecoder.DCD_GetPictureSize(m_pDecoder);
                Byte[] temp = new Byte[100];
                Byte * t    = data;
                for (int i = 0; i < 100; i++)
                {
                    temp[i] = *t;
                    t++;
                }
            }
        }