コード例 #1
0
        public void TestDecodeFrameNeedMore()
        {
            string dirName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string path    = Path.Combine(dirName, "bensound-epic.mp3");

            Mpg123 mpg123 = new Mpg123();

            mpg123.OpenFeed();

            byte[] fileBytes = File.ReadAllBytes(path);
            byte[] buffer    = new byte[8];
            Array.Copy(fileBytes, buffer, 8);

            int  num   = 0;
            uint bytes = 0;

            int  b = 0, c = 0;
            long a = 0;

            mpg123.GetFormat(ref a, ref b, ref c);

            Mpg123.Errors error = Mpg123.Errors.OK;
            Assert.That(() => error = mpg123.DecodeFrame(ref num, ref buffer, ref bytes), Throws.Nothing);

            Assert.That(error, Is.EqualTo(Mpg123.Errors.NEED_MORE));
        }
コード例 #2
0
        public void TestDecodeNullInputAndOutput()
        {
            Mpg123 mpg123 = new Mpg123();

            mpg123.OpenFeed();

            uint done = 0;

            Assert.That(() => mpg123.Decode(null, 0, null, 0, ref done), Throws.Nothing);
        }
コード例 #3
0
        public void TestFeed()
        {
            Mpg123 mpg123 = new Mpg123();

            mpg123.OpenFeed();

            byte[] buffer = new byte[8];

            Assert.That(() => mpg123.Feed(buffer), Throws.Nothing);
        }
コード例 #4
0
        public void TestOpenFeedOpen()
        {
            Mpg123 mpg123  = new Mpg123();
            string dirName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string path    = Path.Combine(dirName, "bensound-epic.mp3");

            mpg123.Open(path);

            Assert.That(() => mpg123.OpenFeed(), Throws.Nothing);
        }
コード例 #5
0
        public void TestDecodeInconsistentOutputSizeMinor()
        {
            Mpg123 mpg123 = new Mpg123();

            mpg123.OpenFeed();

            byte[] outBuffer = new byte[100];
            uint   done      = 0;

            Assert.That(() => mpg123.Decode(null, 0, outBuffer, 50, ref done), Throws.Nothing);
        }
コード例 #6
0
        public void TestDecodeInconsistentOutputSizeMajor()
        {
            Mpg123 mpg123 = new Mpg123();

            mpg123.OpenFeed();

            byte[] outBuffer = new byte[100];
            uint   done      = 0;

            Assert.That(() => mpg123.Decode(null, 0, outBuffer, 300, ref done), Throws.TypeOf <ArgumentOutOfRangeException>());
        }
コード例 #7
0
        public void TestDecodeNeedMore()
        {
            Mpg123 mpg123 = new Mpg123();

            mpg123.OpenFeed();

            byte[] inBuffer = new byte[8];
            uint   done     = 0;

            Assert.That(mpg123.Decode(inBuffer, 8, null, 0, ref done), Is.EqualTo(Mpg123.Errors.NEED_MORE));
        }
コード例 #8
0
        public void TestDecodeNullOutput()
        {
            Mpg123 mpg123 = new Mpg123();

            mpg123.OpenFeed();

            byte[] inBuffer = new byte[8];
            uint   done     = 0;

            Assert.That(() => mpg123.Decode(inBuffer, 8, null, 0, ref done), Throws.Nothing);
        }
コード例 #9
0
        public void TestFeedReadNeedMore()
        {
            Mpg123 mpg123 = new Mpg123();

            mpg123.OpenFeed();

            byte[] inBuffer  = new byte[8];
            byte[] outBuffer = new byte[8];
            uint   done      = 0;

            mpg123.Feed(inBuffer);
            Assert.That(mpg123.Read(outBuffer, ref done), Is.EqualTo(Mpg123.Errors.NEED_MORE));
        }
コード例 #10
0
        public void TestDecodeNewFormat()
        {
            Mpg123 mpg123 = new Mpg123();

            mpg123.OpenFeed();

            string dirName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string path    = Path.Combine(dirName, "bensound-epic.mp3");

            byte[] inBuffer = File.ReadAllBytes(path);
            uint   done     = 0;

            Assert.That(mpg123.Decode(inBuffer, (uint)inBuffer.Length, null, 0, ref done), Is.EqualTo(Mpg123.Errors.NEW_FORMAT));
        }
コード例 #11
0
        public void TestReadNeedMore()
        {
            Mpg123 mpg123 = new Mpg123();

            mpg123.OpenFeed();

            byte[] buffer = new byte[8];

            uint done = 0;

            int  b = 0, c = 0;
            long a = 0;

            mpg123.GetFormat(ref a, ref b, ref c);

            Mpg123.Errors error = Mpg123.Errors.OK;
            Assert.That(() => error = mpg123.Read(buffer, ref done), Throws.Nothing);

            Assert.That(error, Is.EqualTo(Mpg123.Errors.NEED_MORE));
        }
コード例 #12
0
        public void TestDecodeDoneBytes()
        {
            Mpg123 mpg123 = new Mpg123();

            mpg123.OpenFeed();

            string dirName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string path    = Path.Combine(dirName, "bensound-epic.mp3");

            byte[] inBuffer = File.ReadAllBytes(path);
            uint   done     = 0;

            mpg123.Decode(inBuffer, (uint)inBuffer.Length, null, 0, ref done);

            byte[] outBuffer = new byte[100];

            while (mpg123.Decode(null, 0, outBuffer, 100, ref done) != Mpg123.Errors.NEED_MORE)
            {
                Assert.That(done, Is.EqualTo(100));
            }
        }
コード例 #13
0
        public void TestFeedReadNoNeedMore()
        {
            Mpg123 mpg123 = new Mpg123();

            mpg123.OpenFeed();

            string dirName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string path    = Path.Combine(dirName, "bensound-epic.mp3");

            byte[] inBuffer  = File.ReadAllBytes(path);
            byte[] outBuffer = new byte[inBuffer.Length];
            uint   done      = 0;

            mpg123.Feed(inBuffer);

            long a = 0;
            int  b = 0, c = 0;

            mpg123.GetFormat(ref a, ref b, ref c);

            Assert.That(mpg123.Read(outBuffer, ref done), Is.EqualTo(Mpg123.Errors.OK));
            Assert.That(done, Is.EqualTo(inBuffer.Length));
        }
コード例 #14
0
        public void TestOpenFeedNoOpen()
        {
            Mpg123 mpg123 = new Mpg123();

            Assert.That(() => mpg123.OpenFeed(), Throws.Nothing);
        }