Ejemplo n.º 1
0
 public void CanCreateSourceReaderFromUrl()
 {
     MediaFoundationCore.Startup();
     using (var reader = MediaFoundationCore.CreateSourceReaderFromUrl(@"C:\Temp\test.mp3"))
     {
         Assert.IsNotNull(reader);
     }
     MediaFoundationCore.Shutdown();
 }
Ejemplo n.º 2
0
        public void CanCreateByteStreamFromIOStream()
        {
            var stream    = new MemoryStream();
            var comstream = new ComStream(stream);

            using (var byteStream = MediaFoundationCore.IStreamToByteStream(comstream))
            {
                Assert.IsNotNull(byteStream);
            }
        }
Ejemplo n.º 3
0
        public void CanCreateByteStreamFromIOStream()
        {
            MediaFoundationCore.Startup();
            var stream     = new MemoryStream();
            var comstream  = new ComStream(stream);
            var byteStream = MediaFoundationCore.IStreamToByteStream(comstream);

            Assert.IsNotNull(byteStream);
            Marshal.ReleaseComObject(byteStream);
            MediaFoundationCore.Shutdown();
        }
Ejemplo n.º 4
0
        public void CanCreateSourceReaderFromIOStream()
        {
            using (var stream = GlobalTestConfig.TestMp3AsStream())
                using (var comstream = new ComStream(stream))
                {
                    using (var byteStream = MediaFoundationCore.IStreamToByteStream(comstream))
                    {
                        Assert.IsNotNull(byteStream);

                        using (
                            var reader = MediaFoundationCore.CreateSourceReaderFromByteStream(byteStream.BasePtr,
                                                                                              IntPtr.Zero))
                        {
                            Assert.IsNotNull(reader);
                        }
                    }
                }
        }
Ejemplo n.º 5
0
        public void CanCreateSourceReaderFromIOStream()
        {
            MediaFoundationCore.Startup();
            var stream = File.OpenRead(@"C:\Temp\test.mp3");

            using (var comstream = new ComStream(stream))
            {
                var byteStream = MediaFoundationCore.IStreamToByteStream(comstream);
                Assert.IsNotNull(byteStream);

                using (var reader = MediaFoundationCore.CreateSourceReaderFromByteStream(byteStream, IntPtr.Zero))
                {
                    Assert.IsNotNull(reader);
                }

                Marshal.ReleaseComObject(byteStream);
            }
            MediaFoundationCore.Shutdown();
        }
Ejemplo n.º 6
0
        public void CanCreateSourceReaderFromUrl()
        {
            var filename = Path.ChangeExtension(Path.GetTempFileName(), "mp3");

            try
            {
                using (var stream = GlobalTestConfig.TestMp3AsStream())
                {
                    File.WriteAllBytes(filename, stream.ToArray());
                    using (var reader = MediaFoundationCore.CreateSourceReaderFromUrl(filename))
                    {
                        Assert.IsNotNull(reader);
                    }
                }
            }
            finally
            {
                File.Delete(filename);
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Initializes a new instance of the <see cref="AacEncoder"/> class.
        /// </summary>
        /// <param name="sourceFormat"><see cref="WaveFormat"/> of the audio data which gets encoded.</param>
        /// <param name="targetStream"><see cref="Stream"/> which should be used to save the encoded data in.</param>
        /// <param name="defaultBitrate">Default samplerate. Use 192000 as the default value.</param>
        /// <param name="containerType">Guid of the container type. Use <see cref="TranscodeContainerTypes.MFTranscodeContainerType_MPEG4"/> as the default container.</param>
        public AacEncoder(WaveFormat sourceFormat, Stream targetStream, int defaultBitrate, Guid containerType)
        {
            if (sourceFormat == null)
            {
                throw new ArgumentNullException("sourceFormat");
            }

            if (targetStream == null)
            {
                throw new ArgumentNullException("targetStream");
            }
            if (!targetStream.CanWrite)
            {
                throw new ArgumentException("Stream is not writeable.");
            }

            if (defaultBitrate <= 0)
            {
                throw new ArgumentOutOfRangeException("defaultBitrate");
            }

            if (containerType == Guid.Empty)
            {
                throw new ArgumentNullException("containerType");
            }

            var targetMediaType = FindBestMediaType(AudioSubTypes.MPEG_HEAAC,
                                                    sourceFormat.SampleRate, sourceFormat.Channels, defaultBitrate);

            if (targetMediaType == null)
            {
                throw new NotSupportedException("No AAC-Encoder was found. Check whether your system supports AAC encoding.");
            }

            var sourceMediaType = MediaFoundationCore.MediaTypeFromWaveFormat(sourceFormat);

            SetTargetStream(targetStream, sourceMediaType, targetMediaType, containerType);
        }
Ejemplo n.º 8
0
 public void CanEnumerateMFDecoders()
 {
     MediaFoundationCore.EnumerateTransforms(MFTCategories.AudioDecoder, MFTEnumFlags.All);
 }