Ejemplo n.º 1
0
        public void Constructor_InitializesInstance()
        {
            var ffmpegMock = new Mock <FFmpegClient>();

            var bytes = new byte[] { (byte)'t', (byte)'e', (byte)'s', (byte)'t' };

            var bytesHandle = Marshal.AllocHGlobal(bytes.Length);

            Marshal.Copy(bytes, 0, bytesHandle, bytes.Length);

            var nativeIOContext = new NativeAVIOContext
            {
                buffer = (byte *)bytesHandle,
                pos    = 5,
            };

            ffmpegMock
            .Setup(c => c.FreeAVHandle(It.IsAny <SafeHandle>()))
            .Verifiable();

            var ffmpeg = ffmpegMock.Object;

            using (var handle = new AVIOContextHandle(ffmpeg, &nativeIOContext))
                using (var context = new AVIOContext(ffmpeg, handle))
                {
                    Assert.Equal((int)&nativeIOContext, (int)context.NativeObject);
                    var result = new byte[4];
                    Marshal.Copy((IntPtr)context.Buffer.NativeObject, result, 0, bytes.Length);
                    Assert.Equal(bytes, result);
                }

            ffmpegMock.Verify();

            Marshal.FreeHGlobal(bytesHandle);
        }
Ejemplo n.º 2
0
        public void Constuctor_InitializesInstance()
        {
            var ffmpegMock = new Mock <FFmpegClient>();

            var nativeIOContext = new NativeAVIOContext
            {
                pos = 5,
            };

            ffmpegMock
            .Setup(c => c.FreeAVHandle(It.IsAny <SafeHandle>()))
            .Verifiable();

            using (var handle = new AVIOContextHandle(ffmpegMock.Object, &nativeIOContext))
            {
                Assert.Equal((int)&nativeIOContext, (int)handle.DangerousGetHandle().ToPointer());
            }

            ffmpegMock.Verify();
        }