Exemple #1
0
        /// <summary>
        /// Instantiates a new instance <see cref="ByteStream"/> from a <see cref="Stream"/>.
        /// </summary>
        /// <msdn-id>hh162754</msdn-id>
        /// <unmanaged>HRESULT MFCreateMFByteStreamOnStreamEx([In] IUnknown* punkStream,[Out] IMFByteStream** ppByteStream)</unmanaged>
        /// <unmanaged-short>MFCreateMFByteStreamOnStreamEx</unmanaged-short>
        public ByteStream(ComStream sourceStream)
        {
            this.comStream = sourceStream;
            IByteStream localStream;

            MediaFactory.CreateMFByteStreamOnStream(sourceStream.NativePointer, out localStream);
            NativePointer = ((ByteStream)localStream).NativePointer;
        }
Exemple #2
0
        /// <summary>
        /// Instantiates a new instance <see cref="ByteStream"/> from a <see cref="Stream"/>.
        /// </summary>
        /// <msdn-id>hh162754</msdn-id>
        /// <unmanaged>HRESULT MFCreateMFByteStreamOnStreamEx([In] IUnknown* punkStream,[Out] IMFByteStream** ppByteStream)</unmanaged>
        /// <unmanaged-short>MFCreateMFByteStreamOnStreamEx</unmanaged-short>
        public ByteStream(Stream sourceStream)
        {
            this.sourceStream = sourceStream;
#if STORE_APP
            var randomAccessStream = sourceStream.AsRandomAccessStream();
            MediaFactory.CreateMFByteStreamOnStreamEx(new ComObject(Marshal.GetIUnknownForObject(randomAccessStream)), this);
#else
            streamProxy = new ComStreamProxy(sourceStream);
            MediaFactory.CreateMFByteStreamOnStream(streamProxy, this);
#endif
        }
Exemple #3
0
        /// <summary>
        /// Instantiates a new instance <see cref="ByteStream"/> from a <see cref="Stream"/>.
        /// </summary>
        /// <msdn-id>hh162754</msdn-id>
        /// <unmanaged>HRESULT MFCreateMFByteStreamOnStreamEx([In] IUnknown* punkStream,[Out] IMFByteStream** ppByteStream)</unmanaged>
        /// <unmanaged-short>MFCreateMFByteStreamOnStreamEx</unmanaged-short>
        public ByteStream(byte[] sourceStream)
        {
            var hglobal = Marshal.AllocHGlobal(sourceStream.Length);

            Marshal.Copy(sourceStream, 0, hglobal, sourceStream.Length);
            CreateStreamOnHGlobal(hglobal, true, out istream);
            IntPtr result;

            MediaFactory.CreateMFByteStreamOnStream(istream, out result);
            NativePointer = result;
        }
Exemple #4
0
        /// <summary>
        /// Instantiates a new instance <see cref="ByteStream"/> from a <see cref="Stream"/>.
        /// </summary>
        /// <msdn-id>hh162754</msdn-id>
        /// <unmanaged>HRESULT MFCreateMFByteStreamOnStreamEx([In] IUnknown* punkStream,[Out] IMFByteStream** ppByteStream)</unmanaged>
        /// <unmanaged-short>MFCreateMFByteStreamOnStreamEx</unmanaged-short>
        protected ByteStream(Stream sourceStream)
        {
            this.sourceStream = sourceStream;
#if STORE_APP
            var randomAccessStream = sourceStream.AsRandomAccessStream();
            randomAccessStreamCom = new ComObject(Marshal.GetIUnknownForObject(randomAccessStream));
            MediaFactory.CreateMFByteStreamOnStreamEx(randomAccessStreamCom, this);
#else
            streamProxy = new ComStreamProxy(sourceStream);
            MediaFactory.CreateMFByteStreamOnStream(ComStream.ToIntPtr(streamProxy), this);
#endif
        }
Exemple #5
0
        /// <summary>
        /// Instantiates a new instance <see cref="ByteStream"/> from a <see cref="Stream"/>.
        /// </summary>
        /// <msdn-id>hh162754</msdn-id>
        /// <unmanaged>HRESULT MFCreateMFByteStreamOnStreamEx([In] IUnknown* punkStream,[Out] IMFByteStream** ppByteStream)</unmanaged>
        /// <unmanaged-short>MFCreateMFByteStreamOnStreamEx</unmanaged-short>
        public ByteStream(Stream sourceStream)
        {
            this.sourceStream = sourceStream;
#if WIN8METRO
            var randomAccessStream = sourceStream.AsRandomAccessStream();
            randomAccessStreamCom = new ComObject(Marshal.GetIUnknownForObject(randomAccessStream));
            MediaFactory.CreateMFByteStreamOnStreamEx(randomAccessStreamCom, this);
#else
            streamProxy = new ComStreamProxy(sourceStream);
            IByteStream localStream;
            MediaFactory.CreateMFByteStreamOnStream(ComStream.ToIntPtr(streamProxy), out localStream);
            NativePointer = ((ByteStream)localStream).NativePointer;
#endif
        }
Exemple #6
0
 /// <summary>
 /// Instantiates a new instance <see cref="ByteStream"/> from a <see cref="Stream"/>.
 /// </summary>
 /// <msdn-id>hh162754</msdn-id>
 /// <unmanaged>HRESULT MFCreateMFByteStreamOnStreamEx([In] IUnknown* punkStream,[Out] IMFByteStream** ppByteStream)</unmanaged>
 /// <unmanaged-short>MFCreateMFByteStreamOnStreamEx</unmanaged-short>
 public ByteStream(ComStream sourceStream)
 {
     this.comStream = sourceStream;
     MediaFactory.CreateMFByteStreamOnStream(sourceStream, this);
 }