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(); } }
public void LoadImage(string path) { decoder = new MyDecoder(path); imgOriginal = decoder.Decode(); OriginalDrawer?.Invoke(imgOriginal); filters = new Filterer(imgOriginal); }
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); }
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; }
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); }
public void DecodeWithNoParams_StringToDecodeHasValue_ReturnsDecodedString() { var decoder = new MyDecoder("2[abc]d3[a]"); var expected = "abcabcdaaa"; var result = decoder.Decode(); Assert.IsTrue(expected == result); }
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); }
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; }
public void Stop() { StopThread(); if (m_pDecoder == 0) { return; } MyDecoder.DCD_Close(m_pDecoder); //TODO:stop drawer }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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; }
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); }
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); }
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); }
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(); } } }
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); }
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++; } } }