Media Suite .NET logo
unmatched performance and flexibility
for all your Multimedia needs
.NET Media Suite .NET box
Current Version:
4.0.1363
Release Date:
2017-01-29

MediaSuite Release Notes

MediaSuite 5 Version 5.0.1522 - 2017-05-19

  • Fix: RTP JpegFrame incorrect parsing of Restart Marker Header

MediaSuite 5 Version 5.0.1514 - 2017-05-17

  • Add: All available ONVIF interfaces and scopes
  • Add: OnvifDiscoverySample to demonstrate discovery and URI retrieval
  • Fix: NullReferenceException when AacAudioDecoderConfiguration is constructed with instance of AacAudioEncoderConfiguration

MediaSuite 5 Version 5.0.1507 - 2017-05-12

  • Fix: H264Decoder (Intel) Elimination of potential artifacts in P-Frames

MediaSuite 5 Version 5.0.1502 - 2017-05-08

  • Fix: H264Decoder (Intel) hardware acceleration for all device numbers now auto-selected
  • Fix: VorbisEncoder did not have Codec.Vorbis enumeration set
  • Add: H264Decoder (Intel) Scraping / Low Latency mode
  • Add: VideoCaptureDevice now can rescale the framerate via VideoCaptureDeviceFormat modification if the device supports it

MediaSuite 5 Version 5.0.1483 - 2017-04-25

  • Fix: H264DecoderSpecificData safe-guards against corrupted parameter sets

MediaSuite 5 Version 5.0.1476 - 2017-04-24

  • Add: H.264 GPU Accelerated Decoding (x64) Intel iGPUs
  • Fix: H264ParameterSet IndexOutOfRange when corrupt SPS/PPS is encountered
  • Fix: RtspOverHttp fixed potential exception when closing HTTP client
  • Change: Renamed OffsetBuffer.BufferPinned to OffsetBuffer.IsPinned

MediaSuite 5 Version 5.0.1442 - 2017-03-23

    initial release (2)

MediaSuite 4 Version 4.0.1363 - 2017-01-29

  • Added AACTools.TransformAdtsToRaw2 to return AAC configuration for each frame
  • Fixed bug in SDP attribute parser not correctly returning property keys

MediaSuite 4 Version 4.0.1340 - 2017-01-10

  • Added Mp4Writer now correctly detects and writes composition offsets
  • Fixed H264Frame STAP-A mode with single NAL

MediaSuite 4 Version 4.0.1253 - 2016-10-07

  • Fixed race condition in UdpNetworkMulticastClient causing memory leak

MediaSuite 4 Version 4.0.1243 - 2016-09-29

  • Added SmartJitterStrategy for SmartJitterBuffer (PresentationTime, FrameAge, Both, Ignore) (Default is Ignore)
  • Added CheckTimestampChangeForCompletion to SmartJitterBuffer (disabled by default)

MediaSuite 4 Version 4.0.1199 - 2016-08-24

  • Added SmartJitter.JitterMinimumDuration. The time determines the release of a frame to the output queue based on the sum of durations of all frames in the jitter.

MediaSuite 4 Version 4.0.1196 - 2016-08-22

  • Fixed VP9Encoder initialization failing

MediaSuite 4 Version 4.0.1178 - 2016-08-05

  • Fixed RtpPacket.ParseHeader exception handling and correctly setting IsValidPacket
  • Fixed RTCP APP not correctly parsing payload if RTCP compound only contains one packet

MediaSuite 4 Version 4.0.1141 - 2016-06-30

  • Fixed H264Decoder scraping when HardwareAccelerated is used

MediaSuite 4 Version 4.0.1119 - 2016-06-10

  • Accelerated H.264 decoder now supports denoising
  • DASH static profile now writes the PresentationDuration attribute
  • Fixed potential access violation when CamCaptureDevice is disposed without being stopped

MediaSuite 4 Version 4.0.1072 - 2016-04-27

  • Added MatroskaReader now supports all MPEG-4.2 codec profiles
  • Fixed MatroskaReader now will not add a track with unknown codec

MediaSuite 4 Version 4.0.1065 - 2016-04-22

  • Fixed potential TargetInvocationException when running as non-Administrator user
  • Fixed ProtoCam now working again with Skype
  • Added WaveInput/WaveOutput device name lookup from registry

MediaSuite 4 Version 4.0.1023 - 2016-03-23

  • New sample Mp4DumpSample to demonstrate how to get basic information out of an MP4 container
  • New sample DashLiveWriterSample to demonstrate live streaming using DASH dynamic profile
  • Fixed VideoCaptureDevice.OnSampleAvailable introducing discontinuities when processing takes longer than expected
  • Fixed DashIsoWriter writing correct pixel aspect ratio
  • Fixed MatroskaReader now correctly reports MediaBuffer.EndTime

MediaSuite 4 Version 4.0.1011 - 2016-03-14

  • Fixed Safe HttpMJpeg.Stop

MediaSuite 4 Version 4.0.995 - 2016-03-02

  • Fixed wrong output of RtpPacket in RtpMulticastSample
  • Fixed HttpMJpeg Stop method not terminating correctly in some scenarios
  • Improved HttpJpegSource/HttpMJpegSource now derives from a common base class (HttpMotionStreamSource)

MediaSuite 4 Version 4.0.980 - 2016-02-18

  • Fixed Mp4Reader wrong timestamp calculations when TimeToSampleBox.SampleCount greater than zero
  • Fixed RtspRecordSample publish URI inconsistency with Wowza default setting

MediaSuite 4 Version 4.0.978 - 2016-02-16

  • Fixed AACDecoder problem when encountering RTP where AUs contain ADTS streams
  • Fixed target framework mismatch in Setup and MediaSuite.dll
  • Added AVCConfigurationRecord.AddSps/AddPps for OffsetBuffer
  • Added support for abortable Transaction instances
  • Added RTSP TransportModifier error event OnTransportModifierError
  • Added DashIsoWriter.Flush method to manually flush out segments for seek scenarios
  • Added DashIsoWriter.BeforeFlush event, to notify applications of an upcoming new segment
  • Added DASH bandwidth attribute to audio representation

MediaSuite 4 Version 4.0.912 - 2015-12-18

  • Point Release
  • Support for G.722 10ms frame durations

MediaSuite 4 Version 4.0.905 - 2015-12-11

  • Fixed HttpMJpegSource to support non-standard CRLF
  • Fixed registration procedure for non-user-interactive environments
  • Improved MatroskaReader prefetch performance

MediaSuite 4 Version 4.0.868 - 2015-11-07

  • Updated Mp4Reader can now more reliably determine the framerate for a video track
  • Updated DashIsoWriter now cuts off segments more precisely when SegmentThresholdType.TimeThreshold is used
  • Added RtspProxySample to demonstrate use of RTSP stack
  • Added DashAudioChannelConfiguration to DASH manifest serialization
  • Added MP4WriterConfiguration.InitialTrackNumber to manually set the first track number when writing to fragmented/segmented files
  • Fixed MatroskaReader potential EndOfStreamException when corrupt container elements are encountered at the end of file
  • Fixed RtpParticipant.Stop() causing an AccessViolationException when RTCP is not used

MediaSuite 4 Version 4.0.840 - 2015-10-12

  • Point Release
  • Fixed potential access violation in NalSplitter class

MediaSuite 4 Version 4.0.833 - 2015-10-06

  • Point Release
  • Fixed bounds checking omission in RTCP APP custom data

MediaSuite 4 Version 4.0.813 - 2015-09-16

  • Added support for MPEG-DASH live streaming with DashIsoWriter, DashAdaptiveTrackInfo
  • Added DashPresentationWriter to support writing presentations for all profiles according to ISO 23009-1
  • Added H265Transform.TransformNalToAccessUnit
  • Added MatroskaWriter support for H.265
  • Fixed potential bug in ChunkOffsetBox reporting false ContentSize
  • Fixed bug in Mp4Writer outputting wrong information when 0 samples are written

MediaSuite 4 Version 4.0.786 - 2015-08-25

  • Slight performance improvement in H264Encoder

MediaSuite 4 Version 4.0.775 - 2015-08-20

  • Fixed H265Frame not correctly parsing PPS
  • Fixed H265Decoder to gracefully decline to decode when not all parameter-sets are present
  • Runtime requirements have been updated to Redistributable 2015

MediaSuite 4 Version 4.0.702 - 2015-08-05

  • Added SDP parsing support for AC3 audio codec
  • Added SDP parsing support for H.265 video codec
  • Added H265Transform, H265TransformPackage to allow for NAL extraction for H.265
  • Added H265ParameterSet to allow for parsing of VPS, SPS, PPS
  • Added H265NalReader
  • Added H265Frame (supports SingleUnit, AP, FU)
  • Added support for playback of H.265 in RtspPlayerSample
  • Added support for playback of “.265” files in MediaPlayerSample
  • Added NullVideoDecoder, ChannelVideoDecoderConfiguration to support non-planar raw uncompressed video formats (pass-thru)
  • Added Vp8/Vp9 encoder option for lossless compression
  • Added Vp8/Vp9 encoder settings for minimum/maximum quantizer for constant bitrate rate control
  • Added support for fake cue points (MatroskaWriterConfiguration.FakeCuePoints) for live stream scenarios
  • Updated Mp4FragmentedWriter, now writes MovieExtendsHeaderBox (mehd) by default
  • Changed Vp8EncoderConfiguration/Vp9EncoderConfiguration are now derived from a common VpxEncoderConfiguration
  • Fixed potential memory leak in MatroskaReader prefetch

MediaSuite 4 Version 4.0.638 - 2015-06-03

  • Fixed incompatibility in H.264 real-time encoding mode

MediaSuite 4 Version 4.0.620 - 2015-05-18

  • Fixed minor bug that didn't allow ClickOnce deployment

MediaSuite 4 Version 4.0.599 - 2015-04-28

  • Fixed memory leak in H264Decoder.Init when acceleration is used
  • To prevent excessive memory consumption SmartJitterBuffer now also keeps a global duration (LastFrame.EndTime -FirstFrame.StartTime) and starts purging frames older than the configuration threshold.

MediaSuite 4 Version 4.0.571 - 2015-04-02

  • MediaSuite now supports SRTP for secure communication
  • Added SRtpSession
  • Added IRtpParticipant.SetSecureSession
  • Added SRtpSample to demonstrate SRTP session setup
  • Fixed potential jitter stall in SdpRtpPlayerSample by adding SkipLateOrIncompleteFrame to video setup

MediaSuite 4 Version 4.0.562 - 2015-03-26

  • Fixed bug in SmoothStreamingPlayer where multiple audio tracks would be played in some stream
  • Fixed bug in RTP-INFO parsing when rtptime is greater than uint.MaxValue
  • Fixed bug in UdpNetworkMulticastClient where memory consumption can get too high when OnReceive method is blocked for longer periods
  • Added jitter.CheckMarkersforCompletion in SdpRtpStreamPlayer for video streams

MediaSuite 4 Version 4.0.548 - 2015-03-13

  • Minor bug fixes

MediaSuite 3 Version 3.1.1935 - 2015-03-06

  • Point release
  • Fixed VideoCaptureDevice memory leak when GetFrame is called

MediaSuite 4 Version 4.0.539 - 2015-03-04

  • Added IWriter.Init(Stream) interface member
  • VideoEncoderFactory to create encoder instances based on Codec enumeration
  • VideoDecoderFactory to create decoder instances based on Codec enumeration
  • AudioEncoderFactory to create encoder instances based on Codec enumeration
  • AudioDecoderFactory to create decoder instances based on Codec enumeration
  • Changed SpeechStreamType enumeration members to case-corrected naming
  • Changed (H264)DecoderSpecificData.ToBinaryRepresentation(DecoderSpecificDataOutputType) specifying either Stream or Storage type version
  • Added TrackInfo.Copy to allow for a shallow copy of the object
  • Added TrackInfo(VideoEncoderConfiguration) to allow for creation of TrackInfo from an encoder configuration
  • Added TrackInfo(AudioEncoderConfiguration) to allow for creation of TrackInfo from an encoder configuration
  • Fixed MatroskaReader incorrect frame duration when using fixed size XIPH lacing
  • Fixed VorbisEncoder timestamps when an encoding run outputs multiple frames
  • Fixed H264ParameterSet problem when encountering incorrectly formed SPS for some network camera models by Honeywell
  • Fixed WaveReader.Position rounding error
  • Fixed problem in product registration where the wrong product id is reported

MediaSuite 3 Version 3.1.1932 - 2015-03-03

  • Point Release #2 (similar issue)
  • Fixed rounding error in WaveReader.Position

MediaSuite 3 Version 3.1.1924 - 2015-02-23

  • Point release.
  • Fixed rounding error in WaveReader.Position

MediaSuite 4 Version 4.0.519 - 2015-02-17

  • Initial
  • Please see What's New document

MediaSuite 3 Version 3.1.1897 - 2015-01-29

  • Point release: Added WaveReader.Position support

MediaSuite 3 Version 3.1.1888 - 2015-01-20

  • Added RtspSessionManager.KeepAliveMethodType select the signaling keep alive method. Valid options are: GetParameter and Options
  • Fixed H264ParameterSet parsing of VUI timing information

MediaSuite 3 Version 3.1.1843 - 2014-12-10

  • Point Release: RTSP fix for parser error when negative rtpTime is encountered in RTP-INFO header

MediaSuite 3 Version 3.1.1828 - 2014-11-28

  • RTSPPlayer added check for correct payload type before packet is processed by corresponding SubStreamDescriptor
  • JitterBuffer added MinimumFrameAge indicating the minimum age a frame must have before it is release by the jitter buffer.
  • JitterBuffer added CheckGaps to check whether frame gaps exist as criteria for a complete frame.
  • PresentationBuffer.AddFrame now returns a result (CodecOperationStatus.Success or CodecOperationStatus.Failed)

MediaSuite 2 Version 2.0.1146 - 2014-11-28

  • Added MediaHelper.ParseToAvcConfigurationRecord to support conversion of SPS/PPS to AVCc (MP4)

MediaSuite 3 Version 3.1.1791 - 2014-10-24

  • RtspRecordSample added audio support
  • PresentationBuffer.AddFrame now returns either Success or Failed

MediaSuite 3 Version 3.1.1746 - 2014-09-12

  • Fixed bug in SPS/PPS to avcC record conversion when no PPS is present.

MediaSuite 3 Version 3.1.1737 - 2014-09-04

  • Fixed WaveInput potential dead-lock when calling Stop() method in fast succession.
  • Added RtspRecordSample to demonstrate recording to Wowza Media Server, DSS etc.
  • Added RTSPManager methods CreateAnnounce and CreateRecord

MediaSuite 2 Version 2.0.1045 - 2014-08-21

  • WaveOut/WaveIn: Fixed 64-bit thunking bug

MediaSuite 3 Version 3.1.1703 - 2014-08-04

  • Fixed H264Decoder fails to initialize with empty DecoderData with intent for late initialization
  • Added support for additional HTTP authentication in RTSP over HTTP streams.
  • Performance improvement in RTSPManager by eliminating 1 thread.
  • Minor bug fixes

MediaSuite 2 Version 2.0.1006 - 2014-07-14

  • Fixed issue with RTSP parser not finding key/value pairs when the key name also occurs as value

MediaSuite 3 Version 3.1.1678 - 2014-07-14

  • Fixed WaveReader only setting Codec to PCM when correct format is encountered
  • Fixed ArgumentException when MP4Writer is closed without anything being written to it
  • Fixed issue with RTSP parser not finding key/value pairs when the key name also occurs as value

MediaSuite 3 Version 3.1.1631 - 2014-05-28

  • Added WaveReader and WaveWriter
  • Added MP3Reader
  • Added WaveFilePlayer sample
  • Added Mp3Player sample
  • Added support for MP3 in RtspPlayer
  • Added SpeechMediaEndpoint to StreamServerSample to demonstrate streaming of speech codecs
  • Fixed performance problem in WaveInput when using polling method (GetNextSamples)

MediaSuite 3 Version 3.1.1604 - 2014-05-07

  • Fixed bug in H264Transform causing unnecessary splitting of NAL units
  • Added Randomizer.SetSeed for custom initialization

MediaSuite 3 Version 3.1.1597 - 2014-05-02

  • Fixed parsing bug in HttpMJpegSource

MediaSuite 3 Version 3.1.1594 - 2014-04-29

  • Added H264Encoder feature to call Init() again with new Bitrate value. The RateControlType cannot be changed.
  • Added StreamCoders.Helpers.ToIntSafeTrunc() to correctly truncate double to int on SSE2 capable CPUs
  • Fixed FrameCreator calculation of Timestamp using ToIntSafeTrunc()

MediaSuite 3 Version 3.1.1574 - 2014-04-11

  • Fixed Resampler producing audible clicks in between samples fed

MediaSuite 3 Version 3.1.1569 - 2014-04-08

  • Fixed SDPMediaHelper.ParseToAvcConfigurationRecord() exception when profile-level-id is missing in SDP

MediaSuite 3 Version 3.1.1561 - 2014-04-01

  • Fixed bug TCPNetworkServer waiting for initial buffer sent before reporting incoming connection. The buffer size is now configurable when calling StartListening(int initialBufferSize), with a default value of 0.
  • Fixed typo in MPEG DASH schema definition
  • Fixed rounding error in WaveInput.SetTransferBufferSizeMilliseconds()
  • Fixed 2-byte memory leak in AACDecoder.Init()
  • Added WaveFormExtensible.CreateFrom(TrackInfo) to create a WaveFormatExtensible from a TrackInfo
  • Added MP3 support to DecoderConfigurationFactory.CreateAudioConfiguration
  • Removed CompletionParameters handling on initial connect to StreamingServerSample RTSP module

MediaSuite 3 Version 3.1.1539 - 2014-03-11

  • Fixed bug in LockableOperationClient causing memory leaks in video encoder instances.
  • Added security checks to RTSP InterleaveBuffer parsing.
  • Added sample AudioVideoChatSample to demonstrate video-calling on a single TCP connection.

MediaSuite 2 Version 2.0.875 - 2014-03-05

  • Fixed bug in LockableRingBuffer causing potential memory leaks in encoder/decoder instances
  • Improved stability in RTSPManager

MediaSuite 3 Version 3.1.1502 - 2014-01-28

  • Fixed bug in H.264 decoder scraping decision (NETWORK_RTP)
  • Fixed annoying obfuscation of private class members

MediaSuite 2 Version 2.0.846 - 2014-01-28

  • Fixed potential overflow exception when parsing RTP packets
  • Fixed potential overflow bug in InterleaveBuffer

MediaSuite 3 Version 3.1.1490 - 2014-01-17

  • Fixed bug in InterleaveBuffer with potential overflow exception
  • Fixed bug in MP4Writer where a rounding error can causes out of sync audio/video

MediaSuite 3 Version 3.1.1457 - 2013-12-17

  • Updated VP8 Encoder/Decoder to latest bitstream
  • Fixed crash in H264Decoder.Init() when multiple instances where initialized at the same time from multiple threads
  • Fixed bug in MP4Reader when Init(string) was called, then MP4Reader.Dispose() didn't immediately release the underlying file handle
  • Fixed bug in AVIWriter where calling AVIWriter.AddTrack() threw and exception when AVIWriter.Init() was not called
  • Added AVIWriterSample to demonstrate AVIWriter class usage
  • Added H264NalReader class to read .H264 file types
  • Added support for .h264 files in MediaPlayerSample
  • Added support to disable H.264 decoder scraping (early frame release) for network streams, by setting VideoSource = NETWORK_OTHER.

MediaSuite 3 Version 3.1.1444 - 2013-12-09

  • Updated OpusEncoder/OpusDecoder to version 1.1
  • Added DTMFDetector.Detect now returns DTMFDetectorTone class containing the Tone and Duration of each candidate.
  • Added DTMFDetectorSample application

MediaSuite 2 Version 2.0.792 - 2013-12-06

  • Fixed bug in H.264/MPEG-4.2/H.263 encoder where XXXEncoder.Dispose leaks an internally used encode buffer

MediaSuite 3 Version 3.1.1433 - 2013-12-05

  • Fixed bug in RTSP header parser not ignoring spaces after separator (leading to GenericHeader instead of typed headers)
  • Fixed bug in H.264/MPEG-4.2/H.263 encoder where XXXEncoder.Dispose leaks an internally used encode buffer
  • Fixed bug in MPEG4Encoder where default resolution was not initialized, leading to AccessViolationException when encoder was disposed before MPEG4Encoder.Init was called
  • Fixed bug in WaveOut.CurrentTimeOffset wrap around at 2^32 / SampleRate seconds.

MediaSuite 3 Version 3.1.1416 - 2013-11-21

  • Event signature changes (Please see Breaking changes document)
  • Fixed bug in WaveInput/WaveOutput to correctly return empty list (no default mapper) when no audio device is present on the system
  • Fixed bug in StreamServerSample (HttpServer) where exception was thrown when response content length had a mismatch when the status code was != 200
  • Added PresentationBuffer.Count property to return the amount of frames currently stored
  • Added JitterBuffer.DroppedFrames property to return the number of frames that have been dropped thus far
  • Several Documentation updates

MediaSuite 2 Version 2.0.731 - 2013-10-08

  • Added SocketTimeout class to support callback when a certain timeout is reached
  • Added RtspServerSample support for session keep-alive timeout when not regularly refreshed by the client (includes OPTIONS and RTCP RR)

MediaSuite 3 Version 3.1.1351 - 2013-09-24

  • Fixed bug in RTP Header Extension. Invalid length calculation leading to invalid payload.
  • Fixed bug in (MP4) ColorParameterBox invalid length calculation when parameter type = "nclc"
  • Fixed bug AVC1VisualSample visibility was internal instead of public
  • Fixed bug MPEG4Decoder.Decode were stride was not set on output image
  • Fixed bug in RtspPlayer where screen flicker was caused by MediaBuffer being released too early
  • Added RTPPacket.HeaderExtension class to better support extension bit and data structure.
  • Added LockableOperationProvider.TryUnlock(), OffsetBuffer.TryUnlock()
  • Added TCPNetworkClient.RemoteEndpoint to retrieve the connected remote endpoint.
  • Added SocketTimeout class to support callback when a certain timeout is reached
  • Added TcpSendTransportCompletionParameters class (contains SocketTimeout)
  • Added TCPNetworkClient.SendTimeout (default: 6 seconds)
  • Added StreamingServer.RtspServer support for session keep-alive timeout when not regularly refreshed by the client (includes OPTIONS and RTCP RR)

MediaSuite 3 Version 3.1.1337 - 2013-09-17

  • Improved performance in UDP multicast client (UdpNetworkMulticastClient class)
  • Fixed excessive packet drops in UDP multicast client
  • Updated VP9 codec to latest bitstream revision

MediaSuite 3 Version 3.1.1285 - 2013-08-09

  • Added Google VP9 encoder & decoder (beta)
  • Added RTSP SET-PARAMETER method
  • Fixed bug H264FrameCreator RTP marker not set when last packet is equal to MTU
  • Fixed bug Wrong event called in RtpReceiver when RTCP packet arrived (RtpPacketReceived)

MediaSuite 2 Version 2.0.622 - 2013-06-24

  • Fixed memory leak when calling WaveInput/WaveOutput Dispose

MediaSuite 2 Version 2.0.609 - 2013-06-11

  • Fixed race condition in HttpMJpegServer which caused sporadic connection failure

MediaSuite 3 Version 3.1.1223 - 2013-06-11

  • Fixed race condition in HttpMJpegServer which caused sporadic connection failure
  • Fixed registration problem with trial version

MediaSuite 3 Version 3.1.1216 - 2013-06-06

  • Fixed MJPEG client not disposing socket handle correctly.
  • Fixed H264Decoder.SetBufferProvider not delegated correctly.
  • Fixed color space conversion to 24-bit with some capture devices.

MediaSuite 2 Version 2.0.602 - 2013-06-04

  • Maintenance update and minor bug fixes

MediaSuite 3 Version 3.1.1194 - 2013-05-17

  • New: ProtoCam (see Library\ProtoCam for documentation)
    • Virtual capture device driver to display arbitrary visual content in capable software e.g.: VoiP clients like Skype, Google Hangout, Kapanga
    • StreamCoders.Devices.ProtoCamClient connector
  • New: ImageTools functions: Rgb16_565_ToRgb24, YUY2ToRgb24, GraySobel filter functions, GrayPrewitt filter functions, GrayMedian filter
  • Fixed: OutOfMemoryException thrown when opening non-MP4 file with MP4Reader.
  • Fixed: Access violation in VirtualCaptureDevice when 16-bit BottomUp Images are fed.

MediaSuite 2 Version 2.0.567 - 2013-05-01

  • Bug: RTPPacket parser padding incorrect.

MediaSuite 3 Version 3.0.1156 - 2013-05-01

  • Feature: Voice Activity Detection (VAD) for PCM streams. See class VoiceActivityDetection and VoiceAcitivityDetectionSample
  • Feature: Opus Audio Encoder & Decoder
  • Feature: DTS Audio Decoder
  • Added: WaveInput.SetTransferBufferSizeMilliseconds to easily calculate and set the WaveInput.TransferBufferSize based on millisecond durations.
  • Fixed: Bug in Vorbis encoder reporting wrong frame length
  • Fixed: Bug in 64-bit WaveInput crashing due wrong cast.
  • Fixed: Bug Race condition in RTSPPlayer causing NullReferenceException in release builds.
  • Fixed: Bug RTP packet parser padding length ignored
  • Updated requirements/prerequisites for Windows Server 2008, Server 2008 R2 & Server 2012

MediaSuite 2 Version 2.0.554 - 2013-04-19

  • Fixed bug in G.729.1 SpeechEncoder problem with sample rate

MediaSuite 3 Version 3.0.1139 - 2013-04-19

  • Updated requirements for Server 2008, Server 2008R2 & Server 2012: The installation of the Desktop Experience Role/Feature must be installed.
  • Fixed: H.264Decoder did not parse SPS/PPS from SDP when HardwareAcceleration was enabled.
  • Fixed: ImageTools.ResizeRgb24 didnt set correct resolution in output PictureMediaBuffer.
  • Added: CaptureDeviceMulticastProvider following functions are now virtual: public AddClient, public RemoveClient, protected GetNextFrame

MediaSuite 2 Version 2.0.548 - 2013-04-15

    Maintenance update

MediaSuite 3 Version 3.0.1132 - 2013-04-15

  • Fixed bug: Incompatibility issues with Vista/Windows Server 2008.
  • Fixed bug: SpeechEncoder did not always use correct frequencies when codec is used that supports more than one sample frequency.
  • Added: MediaParser now parses additional codecs from SDP: AMR-NB, AMR-WB, G.728, G.729, G.729.1, G.722, G.723
  • Feature: Merged SpeechCodecs into Codec enumeration to hold all supported codecs.
  • Feature: CodecHelper class holds lists of all supported codecs and capabilities of those codecs.
  • Added: New sample CodecCapabilitiesSample to show the features of CodecHelper.

MediaSuite 3 Version 3.0.1124 - 2013-04-11

  • Feature: VideoCaptureDevice.SelectedDevice property to hold the CaptureDeviceInformation after the device has been selected.
  • Feature: VP8Encoder now supports Deadline encoder configuration (Best, Good, Realtime) for quality-latency tradeoff.
  • Feature: CaptureDeviceMulticastProvider now exposes CaptureDevice to access the device and configuration.
  • Added: New sample H264FromSDPSample to demonstrate creation of H.264 decoder from an SDP sprop-parameterset attribute.

MediaSuite 3 Version 3.0.1120 - 2013-04-08

  • New Feature: VideoCaptureDevice.ShowSelectionDialog() to visually select a capture device and retrieve a new instance.
  • Renamed: VideoCaptureDevice.Metrics to VideoCaptureDevice.SelectedFormat.
  • Renamed: VideoCaptureDevice.SelectMetrics to VideoCaptureDevice.SelectVideoCaptureDeviceFormat.
  • Fixed: Invalid cloning of TrackInfo when calling IWriter.AddTrack.

MediaSuite 3 Version 3.0.1114 - 2013-04-05

  • Documentation Schema update to VS2010
  • RTSP: Added support for parsing speex SDP
  • Fixed bug in SmoothStreamingPlayer when (av) delta == 0.0; the picture would not be output.
  • Fixed bug where unsupported API function was called under Windows 7

MediaSuite 3 Version 3.0.1111 - 2013-04-04

    See "What's New" document for release notes.

MediaSuite 3 Version 3.0.1089 - 2013-03-21

    See "Breaking Changes" and "Whats New" document.

MediaSuite 2 Version 2.0.485 - 2013-02-11

  • Fixed bug in OffsetBuffer(int) constructor where OffsetBuffer.Count was not set correctly.
  • Fixed bug in UDP multicast where remote endpoint was not reported correctly.
  • Changed all RTP timestamps are now uniformely treated as signed int.
  • Fixed bug in RTSP Player where video frame durations where calculated incorrectly (negative values) when there is a clock skew.

MediaSuite 2 Version 2.0.424 - 2012-12-13

  • WaveOutput & WaveInput volume adjustment working on XP
  •  H264FrameCreator fixed bug where Timestamp offset was not added correctly
  • H264FrameCreator added support to correctly handle aggregation of NALs with the same timestamp
  •  UPnpPortMap fixed bug exception handling
  • RtspServerSample
    • added support for TCP interleaving (TCPParticipant)
    • added support for MKV streaming
    • added support for seeking
    • added support for PAUSE method
    • fixed SDP parsing problem with GPAC player
    • added MPEG-4.2 encoding support to WebcamMediaEndpoint
    • added MPEG-4.2 streaming support to FileMediaEndpoint(s)
  • MP4Reader fixed CTTS offset not assigned to MediaBuffer.StartTime/EndTime
  • New class PresentationBuffer to handle DTS to PTS re-ordering
    • PlayoutBuffer.PresentationBuffer was also added
  • LockableRingBuffer fixed occasional InvalidOperationException when calling ClearAllBuffers
  • H264Frame fixed bug where a single packet aggregate (STAP-A) did not trigger a "FrameComplete"
  • RTSPResponse added ability to add an arbitrary amount of headers via function call (CreateFrom)
  • RTPParticipant added ability to determine remote endpoint on packet reception when RemoteEndpoint == IPAddress.Any
  • MKVReader added Elements: TargetTypeValue, TargetType
  • MPEG42FrameCreator added. Creates MPEG-4.2 RTPFrame objects.

MediaSuite 2 Version 2.0.391 - 2012-11-23

  • Replaces 2.0.380/383 -- Fixed instantiation problems due to broken installer builds.

MediaSuite 2 Version 2.0.350 - 2012-10-18

  • Added contract to RTPPacket construction for buffers that are too small
  • Added CNAME initialization to RTCP SDES Chunk
  • Added MP4Writer support to G.711a/u audio
  • Updated RTSPPlayer to write G.711a/u
  • Several minor bug fixes

MediaSuite 2 Version 2.0.329 - 2012-09-26

  • MP4: Fixed SampleToChunkBox not finding final chunks in open ended entry list. This caused the reader/player to jump to the beginning of a track.

MediaSuite 2 Version 2.0.319 - 2012-09-19

  • Fixed bug in RTSPManager where doubles were not parsed with InvariantCulture.
  • RTCP ReportBlock list is now accessible from RTCP SR and RR.

MediaSuite 2 Version 2.0.312 - 2012-09-12

  • MPEG4Decoder stability improvement on un-recoverable frames.
  • MPEG4Decoder will now return Buffer.Count = 0 on the input buffer for frames that couldn't not be decoded.
  • Fixed potential memory leak when calling CamCapture.Start/Stop repeatedly.
  • Added support for LockableRingBuffer in CamCapture to reduce memory manager activity.
  • Removed CamCapture.GetTimedFrame. Leaving CamCapture.GetFrame to return a MediaBuffer that is always timed.
  • Fixed H264Decoder.PredictFrameType to better detect start-codes of different lengths.
  • Updated samples to reflect above changes in SDK.

MediaSuite 2 Version 2.0.297 - 2012-08-31

  • Fixed MP4Reader "largesize" atom overflow when reading 4GB+ files
  • Fixed potential race condition in RTSPManager when dealing with transactions.

MediaSuite 2 Version 2.0.293 - 2012-08-28

  • Fix for CamCapture reporting metrics twice on certain cameras.
  • Fix more Dispose pattern race conditions eliminated.

MediaSuite 2 Version 2.0.288 - 2012-08-23

  • Fix for potential memory corruption in classes that implement IDisposable pattern.

MediaSuite 2 Version 2.0.281 - 2012-08-17

  • Fixed memory leak in H264Decoder Init & InfoInit
  • Added support for non-standard negative rtptime parsing in RTP-INFO header
  • Fixed bug in CamCapture.SelectDevice(CaptureDevice) not being able to instantiate two or more cams of the same make/model.
  • Added ColorPlanes and Bitrate to CamCapture metrics

MediaSuite 2 Version 2.0.274 - 2012-08-10

    Changes:
  • WaveInput, WaveOutput "Default Device Mapper" now reports metrics in Devices property.
  • WaveInput, WaveOutput renamed "Default Device Mapper" device name to standard "Microsoft Sound Mapper".

    Fixes:
  • Fixed potential buffer overflow in H.263 decoder

MediaSuite 2 Version 2.0.269 - 2012-08-07

    Fixed DNS lookup exception thrown in RTSP SDP

MediaSuite 2 Version 2.0.252.0 - 2012-06-21

  • Fixed potential access violation in classes implementing IDisposable when Dispose is called multiple times by user.

MediaSuite 2 Version 2.0.238.0 - 2012-06-08

  • Fixed incorrect header size in RFC2190 packets.
  • Fixed serialization errors in H.263 RTP packet types when sending.
  • Fixed H264Decoder.PredictFrameType reporting wrong or no frames.
  • Fixed memory leak in RTSPPrimitives not disposing RTSPManager correctly.
  • Added authentication credentials for OPTIONS and GET_PARAMETERS in RTSPManager.
  • Fixed potential exception when calling TcpNetworkServer.Close().

MediaSuite 2 Version 2.0.196 - 2012-04-27

    Bug Fixes:
  • Fix for MP4Writer not parsing avcC record when assigned via TrackInfo.Video.DecoderData.

MediaSuite 2 Version 2.0.193 - 2012-04-25

  • Added Getting Started documentation
  • Added Matroska reader (MatroskaReader) for MKV file format. All elements are supported.
  • WebMReader is now derived from MatroskaReader
  • Added MediaPlayer sample replacing FilePlayer
  • CamCapture.GetDeviceList now returns a list of CaptureDevice objects which contains a unique ID to the capture device along with the device name
  • Added RTPFrame.Peek(int = 0) to peek at a particular packet.
  • Added support for composition timestamps in MP4Reader
  • Added feature to H264Decoder to decode multiple frames in one buffer. This is now achieved by the MediaBuffer.Buffer.Offset/Count changing. Unless Count is not 0, another run through the decoder is required.
  • Added IReader.GetTrackStatus(TrackInfo)
  • Added MP4Reader parsing of SPS/PPS when passed via TrackInfo.

Bug Fixes/Changes:

  • Fixed bug in CamCapture.IsDeviceLost returning true instead of false when device is connected.
  • Renamed Mp4ToolKit.HandlerBox 'hdlr' to HandlerReferenceBox
  • Fixed bug in AACTransform.TransformAdts where decoder specific data was extracted or frame data, but not both.
  • Fixed bug in RTSPManager where SDP owner hostname was not resolved.
  • Fixed bug in RtspServerDemo MP4MediaEndpoint where track IDs where used incorrectly.
  • H264AccessUnitTool shortened default StartCode from 0,0,0,1 to 0,0,1
  • Modified CamCaptureDemo to reflect changes in Camcapture API
  • MP4Reader now returns correct MediaBuffer.EndTime instead of duration.

MediaSuite 2 Version 2.0.155.0 - 2012-03-20

  • Bug Fixes:
    • Fixed bug in RTSP Authorization header hash generation.

MediaSuite 2 Version 2.0.150.0 - 2012-03-16

  • Bug Fixes:
    • MP4Writer 'stss' sample number increment correction.
    • MP4Reader.GetNextFrame(..)-> MediaBuffer.IsKeyFrame is now set correctly if 'stss' sample number value is present.

MediaSuite 2 Version 2.0.148.0 - 2012-03-15

  • What's new:
    • MP4Reader
      • Support for segmentation boxes from ISO 14496-12 Amd3
      • Support for fMP4 (fragmented MP4)
      • Support for Microsoft Smooth Streaming audio/video containers (ISMV, ISMA)
      • Seeking/Position adjustments is now taking Sync Sample Box into account ('stss') if present to seeking to nearest I-Frame
    • MPEG-DASH (ISO 23009-1)
      • Updated schema validation from 2012-01-05 (previously draft)
      • Support for isoff-main & isoff-on-demand profiles
      • New classes:
        • DashMediaPresentation
        •  DashMediaDescription
        • Period
        • AdaptationSet
        • Representation
        • Segment
        • DashReader to extract Track information from DASH segments
      • FilePlayerDemo now supports playing MPD files
    • IReader interface (all Reader classes):
      • Now exposes IEnumerable Tracks property
      • (Breaking change!!) Track numbers (TrackInfo.TrackNumber) are now used to get tracks from IReader implementations, instead of a zero based index. See FilePlayer for details.
      • Removed IReader.FileName property.
      • Added IReader.Init(string) function to replace separate IReader.FileName property.
    • MP4Writer
      • Support for Sync Sample Box ('stss') - Note: In order to write STSS the MP4Writer.WriteTrack(TrackInfo, MediaBuffer<byte>, bool) overload has to be used.
    • JitterBuffer now contains an experimental AdaptiveExpiry to enable adaptive adjustment of expiry of frames.
    • DiscoveryReport (Rtsp.Extensions.SessionManager.Discover()) now has a TransportEstablished field to help determine the problem when an RTSP session could not be established.
    • Added class InjectableStream to allow for a stream that can dynamically grow, but also disposed of chunks that have already been read.
    • Added class HttpBulkFetch to sequentially read a bulk of HTTP URLs and use InjectableStream for output.
  • Bug fixes:
  • Fixed potential exception in UPnPPortMap when hosts with multiple endpoint services are detected.
  • Fixed seeking in FilePlayerDemo
  • Fixed MP4Reader detection of ObjectTypeId for ISO 11172-2 & 11172-3

MediaSuite 2 Version 2.0.132.0 - 2012-03-02

  • What's new:
    • StreamCoders.Devices.CamCapture
      • Added property IsDeviceLost to indicate that the currently used device was disconnected or lost.
      • Changed behavior that when a device is lost the Campture.GetFrame function will return null.
    • XML documentation for Intellisense is now included alongside assemblies.

MediaSuite 2 Version 2.0.122.0 - 2012-02-23

  • What's new:
    • StreamCoders.Network.UPnpPortMap to allow UDP to more easily traverse firewalls
    •  UPnpPortMapping example code
    •  StreamCoders.Patterns.Helpers.Future<T> and Future<T,E> to allow asynchronous execution of functions where the retrieval of results is deferred to a later time.
    • StreamCoders.Rtsp.RtspPrimitives.Discover and SessionManager.Discover now return a DiscoveryReport, containg Session and request/response pair of the initial DESCRIBE.
    • StreamCoders.Rtsp.RTPInfo: Added FindTrack to more easily find the associated url, seq, rtptime triplet.
    • StreamCoders.Rtsp.RtspTrackInfo: Added field SyncSource and SynchSourceProvided to gain easier access to SSRC for the RTP sender.
    • RtspServerSample:
      • Added CompleteInitialization(TrackDetail) to IMediaEndpoint
      • Added to reply with 500 Server error on unparsable request received
      • Added RTP-INFO header on PLAY request-response
    • RTSPPlayer:
      • Added audio discontinuity detection and handling
      • Added audio buffer overrun and underrun handling
      • Added video buffer underrun handling
      • Added optional UPnP support for UDP streams
      • Added 301/302 redirect handling
      • Added packet filtering by SSRC, when potential there are multiple stream arriving on the same port.
    • StreamCoders.Rtp.PlayoutBuffer: Added support for RTP-INFO header to allow for more consistent presentation times before an RTCP arrives.
    • StreamCoders.Rtp.H264FrameCreator now has publicly readable SequenceNumber and Timestamp
    • StreamCoders.Encoder.AacAccessUnitTool: Added GetNumberOfFramesInAu to easily find out the number of frames in an AU without fully parsing.
    • StreamCoders.MediaSuite.BuildDate added.
    • Streamcoders.Wave.WaveOut: Added AddConstantOffset(double) function to atomically add constant offsets to the values given by WaveOut.CurrentTimeOffset.
    • StreamCoders.Decoder.H264Decoder: Added robustness to decoder by discarding AU frames that are not the expected size. To the application programmer this should indicate that there is something wrong with the way frames are read or written before they are passed to the decoder.
  • Bug Fixes:
    • H264Transform class: Fixed to handle ocassion of start codes having different lengths in the same stream.
    • StreamCoders.Network.UdpNetworkClient: Fixed potential race condition when Close was called and the stack was still doing processing.
    • Additional minor fixes samples

MediaSuite 2 Version 2.0.110.0 - 2012-02-13

  • Bug fixes:
    • Fixed potential memory leak of faulty frames in video decoders when used with LockableRingBuffer.

MediaSuite 2 Version 2.0.104.0 - 2012-02-08

  • What's new & bug fixes:
    • RtspServerSample:
    • Added EndpointRules to make Endpoint decisions based on Regex rules.
    • Added WebcamMediaEndpoint to demonstrate streaming from a webcam.
    • Added RtspResponse.CreateFrom method to easily create a response from a request.
    • Added several pieces of functionality to Rtsp.Extensions:
    • RtspPrimitives now gracefully tells applications that a server doesn't support certain transport methods:
    • if TCP interleave is not available on the server, the RtspTrackInfo.InterleavePresent will be false.
    • if UDP multicast is not available on the server, the RtspTrackInfo.MulticastPresent will be false.
    • RtspTrackInfo new fields:
    • SdpSessionOwnerAddress to identify the IP address of remote media endpoint.
    • UdpRtpServerPort, UdpRtcpServerPort to identify the ports of a remote media endpoint.
    • RTSPManager now provides a sender parameter in all events.
    • Removed obsolete function: RtspSession.WaitForFrames
    • Added SDPMessage.FindField and SDPMessage.FindFirstField to find any type of key/value in an SDP
    • RTSPPlayer now sends an RTCP BYE message when the player is stopped. (for unicast and multicast)
    • ImageTools now is a static class.
    • Fixed bug in AVCConfigurationBox of MP4Writer
    • Removed Filename property from Mp4Writer and moved it to Init(string filename) as parameter.
    • Updated MP4WriterTest to write correct Major/Compatible brands for H.264 and MPEG-4.2
    • Removed Filename property from IWriter implementations ( AVIWriter, MP4Writer, FLVWriter) and moved it to Init(string)
    • Updated samples to reflect removal of Filename property from IWriter
    • Added Streamcoders.Helpers.Patterns.Singleton generic.

MediaSuite 2 Version 2.0.96.0 - 2012-02-01

  • Bug fixes
    • Fixed H.264 encoder timestamp calculations dependant on H264Encoder.Framerate
    • Fixed bug in ImageTools.ResizeRgb24 where certain strides caused a buffer overflow
  • New features:
    • Added CopyMetaDataFrom to copy meta information between MediaBuffer objects.
    • Several improvements in quality of speech noise reduction filter
    • Updated Noise reduction demo
    • Added overload for ResizeRgb24 to accept MediaBuffer objects

MediaSuite 2 Version 2.0.90.0 - 2012-01-27

  • Bug fixes
    • Fix for a possible buffer overrun when adding STAP-A packets to an H.264 frame

MediaSuite 2 Version 2.0.86.0 - 2012-01-24

  • Bug fixes:
    • Fixed bug where H264Decoder idles at ~15% CPU after calling .Init().
    • Fixed bug where FileNotFoundException is thrown occasionally upon loading of MediaBase.dll.
    • Updated RTSPPlayer to consume less CPU when no picture frame is available.

MediaSuite 2 Version 2.0.80.0 - 2012-01-20

  • What's new (Image processing (Streamcoders.Imaging.ImageTools)):
    • RGB24ToGray(int InputWidth, int InputHeight, MediaBuffer InputBuffer, MediaBuffer OutputBuffer)
      • Converts RGB24 to grayscale 8-bit image
    • GrayToRGB24(int InputWidth, int InputHeight, MediaBuffer InputBuffer, MediaBuffer OutputBuffer)
      • Converts grayscale 8-bit image to RGB24
    • RGB24GrayWeightedSum(int InputWidth, int InputHeight, MediaBuffer Buffer1, MediaBuffer Buffer2, float alpha)
      • Calculates weighted some of each pixel in two pictures and stores it in Buffer2: Buffer2(ij) = Buffer1(ij) * alpha + Buffer2(ij) * (1-alpha)
    • Rgb24AbsoluteDifference(int InputWidth, int InputHeight, MediaBuffer Buffer1, MediaBuffer Buffer2, MediaBuffer OutputBuffer)
      • Calculates absolute difference of two pictures and stores it in OutputBuffer: OutputBuffer(ij) = abs(Buffer1(ij) - Buffer2(ij))
    • GrayGauss3x3(int InputWidth, int InputHeight, MediaBuffer Buffer1, MediaBuffer Buffer2)
      • Applies gaussian kernel to Buffer1 and stores it in Buffer2.
    • GrayThreshold(int InputWidth, int InputHeight, MediaBuffer InputBuffer, int threshold)
      • Applies threshold to a grayscale picture Buffer(ij) > threshold {0} : {Buffer(ij)}
    • GrayThreshold(int InputWidth, int InputHeight, MediaBuffer InputBuffer, int threshold, byte newValue)
      • Applies threshold to a grayscale picture Buffer(ij) > threshold {newValue} : {Buffer(ij)}
    • GrayErosion(int InputWidth, int InputHeight, MediaBuffer InputBuffer)
      • Applies erosion filter on grayscale picture.
    • GrayDilation(int InputWidth, int InputHeight, MediaBuffer InputBuffer)
      • Applies dilation filter on grayscale picture.
  • BlobCounter class
  • Added MotionDetection sample project

Bug fixes/Updates:

  • Fixed bug in MediaBuffer Duration not being calculated
  • OffsetBuffer & MediaBuffer now have struct constraint
  • New SaveToFile function in OffsetBuffer
  • RTSPPlayer can now save to mp4 file (H.264, MPEG4 & AAC)
  • Fixed possible bug in Mp4Writer where a sample-delta can grow negatively
  • Fixed checking for ADTS frames in AACTransform. If frame is not ADTS, the packet will pass through.
  • Added ExpandAU to AacAccessUnitTool to expand AUs to a list of frames

MediaSuite 2 Version 2.0.62.0 - 2012-01-03

    • Fix for possible access violation when using RtspSession with unknown media capabilities.

MediaSuite 2 Version 2.0.46.0 - 2011-12-20

    New Features:

    • New speech Automatic Gain Control functionality (AGC) Streamcoders.Wave.AutomaticGainControl
    • New speech Noise Reduction functionality StreamCoders.Wave.NoiseReduction
    • New ImageTools overloads for MediaBuffer support for MirrorRgb24
    • New Visuals.ByteArrayToBitmap_RGB24 overload for MediaBuffer
    • New ImageTools functions for 8-bit grayscale conversion: RGB24ToGray, GrayToRGB24
    • Added samples AGCDemo, NoiseReductionDemo
    • Added support for SetRingBuffer to video encoders (currently only for EncodeToArray(MediaBuffer))

    Bug fixes:

    • Fixed SDPMediaHelper problem with creating SDP for H.264 encoder
    • Fixed Codec property of H264Encoder & H263Encoder
    • Minor bug fixes in H264FrameCreator (when MediaBuffer.Buffer.Offset != 0)

MediaSuite 2 Version 2.0.34.0 - 2011-12-08

    New Features:

    • Motion JPEG (M-JPEG) support:
      • HttpMJpegServer
      • HttpJpegSource
      • HttpMJpegSource
    • New samples: HttpMJpegServerDemo, HttpMJpegClientDemo
    • Support to convert RGB-32 to RGB-24 (ImageTools.Rgb32ToRgb24)

MediaSuite 2 Version 2.0.27.0 - 2011-12-04

    Networking

    • RTPParticipant generic instantiation
      • Supported Transports: UDP Unicast, UDP Multicast
    • AacAccessUnitTool to create AUs for single & multiple frames as well as RTP frames.
    • Transactional RTSP extensions (Streamcoders.Rtsp.Extensions)
    • Dynamic & Extendable RTSP Content (SDP, XML, custom)
    • Extendable Transport classes INetworkClient (TcpNetworkClient, UdpNetworkClient, UdpNetworkMulticastClient) & TcpNetworkServer
    • RTSPManager support for OnBeforeSend, OnBeforeReceive events
    • Support for RTSP over HTTP
    • SDPMediaHelper class to create SDP media sections automatically by passing video, audio or speech encoder objects
    • Support for MPEG-DASH (ISO/IEC FCD 23001-6) MPD schema

    Codecs

    • VP8 video decoder (Streamcoders.Decoder.VP8Decoder)
    • Vorbis audio decoder (Streamcoders.Decoder.VorbisDecoder)
    • H264ParamSet class to separately parse SPS/PPS
    • Introduction of MediaBuffer<T> class replacing MediaPackage (supports pinning pointers and locking if used with LockableRingBuffer)
    • Introduction of LockableRingBuffer (currently only decoders) for direct memory access and buffer caching which greatly improves decoding performance

    Containers

    • WebM File reader (Streamcoders.Container.WebMReader)
    • Matroska File reader (Streamcoders.Container.MatroskaReader)

    Devices 

    • CamCapture now returns frames with timing information (GetTimedFrame)

MediaSuite.NET Version 1.5.982(P3)

  • New features:
    • MP4ToolKit Beta (MP4 extensible Open Platform Framework API)
    • Supports: ISO 14496-1, 12, 14, 15; 3GP TS-26 244, Apple QuickTime Format
    • Codecs supported: AAC, AMR-NB, AMR-WB, AMR-WB+, H.263, MPEG-4.2, MPEG-4.10
    • Support for passing Stream objects to FLVReader
    • Added H264Frame.GetAssembledFrame overload with reference to buffer
    • H264Encoder RateControl (ConstantQuality, ConstantBitrate (F/S))
  • Bug fixes:
    • Fixed possible memory corruption in Speex decoder destructor
    • Fixed PacketType == 0 in RTCPRR packets
    • Fixed possible crash in GetAssembledFrame when passing 1080p frames

MediaSuite.NET Version 1.5.982

  • Bug fixes:
    • Elimination of initial delay of frames when decoding H.264
    • Fixed bug in RTPFrame creation in MPEG4Encoder
    • Fixed occasional lockup of FilePlayer when seeking

MediaSuite.NET Version 1.5.981

  • New features:
    • 64-bit support

MediaSuite.NET Version 1.5.980

  • New features:
    • Added Proxy support to RTSP (RTSPManager)
    • Added LastError to CamCapture to better troubleshoot device initiation
    • H.264 Encoder performance gain (intermediate buffer elimination)

MediaSuite.NET Version 1.5.979

  • New features:
    • Fixed ConnectionReset Exception in RTPParticipant when remote endpoint is not valid
    • Support for simplified/traditional Chinese in CamCapture
    • AACDecoder PS Tool is now disabled by default

MediaSuite.NET Version 1.5.978

  • New features:
    • H.264Encoder 4 new Rate Control modes (ConstantQuality, ConstantQualitySlice, ConstantBitrate, ConstantBitrateSlice)
    • RTSP Content-Location header is now in URL selection chain
    • Full support for RTP Header extensions
    • SpeechDecoder PacketDuration is now set to default value for each codec after calling SetCodec
  • Bug fixes:
    • RTPParticipant fixed bug where SendTo on symmetric RTP would cause an exception
    • RTSP rewritten RTSP describe reply parser in RTSPManager
    • Fixed bug in G.722 post filtering

MediaSuite.NET Version 1.5.977-P3

  • Bug fixes:
    • WaveOutput - CurrentSampleOffset wasn't working on some XP systems
    • Speedup in instantiation time of each class in MediaSuite.

MediaSuite.NET Version 1.5.977-P2

  • New features:
    • WaveOutput - Extended AudioDeviceInfo: Channels, Product and Manufacturer Id, WaveFormats, Support Functions
    • WaveOutput - New Function: OpenDevice(AudioDeviceInfo), Pause, Resume
    • WaveInput - Extended AudioDeviceInfo: Channels, Product and Manufacturer Id, WaveFormats, Support Functions
    • WaveInput - New Function: OpenDevice(AudioDeviceInfo), WaitSamplesAvailable(int) to avoid busy waiting on samples
    • AACDecoder - Option to explicitly disable SBR (incl Quality/Performance Control) and PS tools (AACDecoder.Tools)

MediaSuite.NET Version 1.5.977-P1

  • Bug fixes:
    • RTSP.URL.Clone not copying query parameter
    • RTSP.Describe fixed extra termination character when authentication is used
    • RTPParticipant passing port 0 endpoint for local RTP/RTCP will let the OS decide the port. But now this only goes for rtp port and rtcp port will be rtp.port + 1
    • Added support for multiple RTSP authorization headers in RTSPManager (Axis encrypted & unencrypted)
    • RTSPPlayer support for AAC mono, G.711a/u and G.726
    • Timers.StopWatch now delivers in double precision, microsecond resolution and is multiprocessor safe

MediaSuite.NET Version 1.5.953

  • New features:
    • Support for audio channel masks in WaveOutput/WaveInput
    • Comprehensive rate control support MPEG4 encoder
    • Completely rewritten FLVWriter.NET
  • Bug Fixes:
    • Fixed bug in RTSPConnectionManager where Endpoint binding caused an exception
    • Fixed bug in RTCP-SR/RTCP-SDES 32-bit alignment
    • Added function AddChunk (SDESChunk) to RTCPSDES
    • Fixed bug with zero length headers in RTSP parser
    • Added RTSP GET_PARAMETER method
    • Added custom timestamp incrementor in AACFrameCreator and choice between single or multi AU per packet (SingleAU)

MediaSuite.NET Version 1.5.952

  • New features:
    • AAC Frame Creator ADTS/ADIF/RAW autodetection
    • SpeechEncoder Speex NB/WB crash fix

MediaSuite.NET Version 1.5.951

  • Bug Fixes:
    • Version 1.5.950 runtime library fixup
    • SpeechEncoder Timestamp generation corrected

MediaSuite.NET Version 1.5.950

  • New features:
    • LipSync framework
    • JitterBuffer framework
    • AVIReader support for HTTP streams (beta)
    • MP4Reader support for HTTP streams (beta)
    • RTPPacket: UpdateAge, SetExpiry, IsExpired
    • RTSPManager ConnectionState, ConnectTimeout
    • AAC AU Frame Creator
  • Enhancements:
    • RTSP Player - Ability to save stream to file
    • RTSP Player - Arbitrary video clocking resolution
  • Bug fixes:
    • FLVReader ECMA Array Termination
    • FLVReader TrackStatus corrected for EOS
    • Improved ReceiveBuffer for RTPParticipant
    • RTCPSR NTP-Timestamp was a reference and interpreted as valuetype
    • RTCPCompoundPacket wrong length byte
    • MP4Writer invalid file structure for H.264 streams
    • MP4Writer fixed H.264 SPS/PPS index overrun
    • MP4Writer wrong codec tag for MPEG4.2
    • RTSP absolute/relative path determination for SETUP, introduces new function RTSP.URL.Combine
    • SDPMessage Parser correction of initial string trimming
    • RTSPManager Fixed uncatchable exception when connecting to an invalid remote endpoint
    • G.726 Reamplification and G.726->16-bit linear
    • RTCP-APP length byte fix

MediaSuite.NET Version 1.5.930

  • New Features:
    • High Resolution Timing functions - StopWatch for timing intervals at milliseconds and microsecond resolution (10th of)
    • High Resolution Timing functions - Waitable for waitable timers at millisecond and microsecond resolution (10th of)
    • High Resolution Timing functions - Sleep - Replacement for System.Threading.Thread.Sleep with more accuracy using waitable timer per thread at millisecond resolution
    • RTSP - Embedded/Interleave TCP mode support
    • RTSP - Headers: RTP-Info, Scale, Require, Timestamp, If-Modified-Since are no longer generic headers.
    • RTSP - Full support for PAUSE and REDIRECT
    • RTSP - Convenience classes for server-side development: RTSPSession, RTSPSessionManager and RTSPConnectionManager
    • MediaPackage - New DataLength property to have data inside a buffer of arbitrary length and to avoid resizing (performance gain)
    • MediaPackage - 4 more constructors for more convenience
    • AAC Encoder - Support for Spectral Band Replication (SBR)
    • H.263 Decoder - New function: PredictFrameType to predict the type of frame without decoding it.
    • MPEG4 Decoder - New function: PredictFrameType to predict the type of frame without decoding it.
    • H.264 Encoder - Profile, Level, Speed/Quality tradeoff, Number of reference frames, Deblocking filter and B-Frame Count can now be set.
    • H.264 Encoder - Overall performance improvement
    • WaveOutput - New properties: Volume, Pitch, PlaybackRate and Capabilities
    • WaveOutput - New properties: CurrentTimeOffset and CurrentSampleOffset for more accurate timing
    • WaveInput - New property: BytesAvailable - To retrieve the number of bytes queued
    • SpeechDecoder - Support for AMR-NB Storage Format (RFC 3267)
    • SpeechDecoder - Support for decoding single RTP packets or whole frames
    • SpeechEncoder - Support for AMR-NB Storage Format (RFC 3267)
    • SpeechEncoder - New property: CompatibilityMode for accepting unsupported parameters without throwing exception
    • MP4Writer - New property: CompatibilityMode for accepting unsupported parameters without throwing exception
    • MP4Writer - Full support for H.264 video streams
    • FLVWriter (Beta) - FLV Writer for Adobe Flash Video supports H.264 Baseline and AAC
    • FLVWriter (Beta) - It is currently only able to write to file streams (arbitrary streams, including network streams will be supported in the next release)
  • Bug Fixes:
    • Removed debug message from RTPSession.GetNextFrame
    • Fixed PacketsSent counter in RTPSession
    • FLVReader is now IDisposable
    • Fixed support for sending RTCP through RTPParticipant
    • Common interface for audio encoders (MP3, AAC)
    • Fix in MP4Writer where Init would return false on success.
    • Fixed length bug in RTCPBye class
    • SDPAttribute equal sign not always serialized
    • Fixed problem with OpenMP conflicting with other OpenMP libraries
  • Misc:
    • Support for .divx in FilePlayer
    • Support for 3gp, 3g2 and Flash F4V files in FilePlayer
    • New design and feature support in RTSPPlayer
    • Obsoleted properties in WaveOutput: CurrentTimestamp, CurrentDuration, LastSampleTickerDelta -> See CurrentTimeOffset and CurrentSampleOffset for replacement
    • DTMFDetector performance improvement
    • RTSPPlayer support for AMR and AAC

MediaSuite.NET Version 1.5.892

  • New Features:
    • FLVReader Release
    • H263Decoder Improved Error Recovery (vlc->DC Coeffs) - When false VLCs are encountered, the decoder will continue at the next MB boundary.
    • H263Decoder improved Deblocking Filter
    • MPEG4Encoder Support for Data Partitioning (error resilience) and VOP, VOL Header Generation
    • H264Encoder Support for getting SPS and PPS NAL Units (GetDecoderConfigurationInfo)
    • Common interface to MP4/AVI/FLV Writer
    • Resampler.NET
    • Local/Remote RTP/RTCP Endpoint retrieval after initialization in RTP.NET
    • SDP static helper functions (SDPMessage.Create, SDPAttribute.CreateKeyValue)
    • RTSP static helper functions (ResponseHeader.Create, GetResponseCodeText)
  • Bug Fixes:
    • MP4Reader Track order was wrong for some MP4 files
    • AVIReader Track order was wrong for some AVI files
    • MP4Reader Support for AAC Version 0 and 1 headers
    • H263/2190 Bit start/end bit buffer was shifted incorrectly - Mode B start/end bits are now correctly carried.
    • RTPFrame Incorrect Age values - Age now reports the correct time in milliseconds since the creation of itself.
    • WaveInput Improved buffer overflow protection - On slower machines, chunks of the ring buffer aren't returned to the OS fast enough.

MediaSuite.NET Version 1.5.864

  • Features/Bug Fixes:
    • Additional features for CamCapture: SelectDevice, SelectMetrics, BasicMode
    • FLVReader.NET (New!)
    • Performance improvements for SpeechDecoder and SpeechEncoder
    • Additional features for RTSP.NET: AddGenericHeader, DeleteGenericHeader
    • Additional features for SpeechDecoder: MaximumInputLength
    • Additional features for H263Decoder.NET: Support for uneven resolutions, parameterless initialization
    • Bug Fix: MP3Decoder sample frequencies (16000, 22050, 24000) now working properly
    • Bug Fix: SpeechDecoder for possible buffer overrun.
    • Video Capture Device support in DrawTest Demo Application
    • FLV Support in FilePlayer Demo Application (including HTTP streaming)

MediaSuite.NET Version 1.0.840

  • Features/Bug Fixes:
    • Additional features for MP3Encoder: Low Pass Filter, Advanced Noise Shaping, Stereo Modes (L/R, JT, M/S, Mono), MediaPackage encoding (timing information present)
    • Additional features for AACEncoder: Config Parameter String generation for i.e. SDP
    • New WaveInput property: TransferBufferCount
    • New StreamTools.Visuals function: Array24Rotate
    • Fixed compatibility issues (VideoLAN) with MPEG4Encoder
    • Bug Fix in WaveInput for buffer underruns with high sample frequencies
    • Bug Fix AVIWriter, MP4Writer (Filename & Init)
    • Bug Fix AACDecoder for possible buffer overflows
    • Additional Sample Code (available online) for AVIWriter and MP4Writer

MediaSuite.NET Version 1.0.828

  • Features/Bug Fixes:
    • Support for Speex Codec (NB, WB)
    • Improved support for MPEG-4 Audio (AudioSource parameter specification)
    • Improved Waveout/Wavein performance (GetNextData, GetAllData)
    • Fixed PictureStartCodeCompression in RTP4629
    • Fixed bug in Downsampler for SpeechEncoder
    • Support for additional FourCCs in AVIReader

MediaSuite.NET Version 1.0.806

  • Features/Bug Fixes:
    • Mode1 Packetizer for H.264
    • Significant RTSP parser performance improvement
    • H.264 Encoder I-FrameFrequency minor correction
    • H.264 larger output buffer adjustment (would produce null frames in certain conditions)
    • New H.264 / RFC 3984 Packetizer for Mode 1 (H264FrameCreator)
    • RTP.NET support for symmetric NAT
    • AAC Encoder Initialization and Encoding interface fixed

MediaSuite.NET Version 1.0.804

  • Features/Bug Fixes:
    • Fixed char* conversion bug in Mp4Reader
    • Camera Capture Support
    • Added PayloadType to SpeechEncoder
    • Fixed constant timestamp value in H.263 Encoder
    • Fixed Bug in AMR Packetizer
    • RTSP Renamed URL to URI
    • Waveinput optimizations
    • WaveInput/WaveOutput device selection
    • Bug Fix in RTCP (SDESChunk PRIV)

MediaSuite.NET Version 1.0.803

  • Features:
    • RTSP.NET Basic & Digest Authentication
    • RTSP.NET Automatic & Manual authentication (automatic through simply setting username & password)
    • Adjustable Receive Buffer in RTP.NET
    • DTMF Tone Generator
    • DTMF Tone Detector
    • Arbitrary Frequency Tone Generator
    • New & Improved Sample Code
    • H.263 fine tuning
  • Bug Fixes:
    • Fixed bug in AACEncoder initialization routine
    • Fixed bug in H264Encoder initialization routine
    • Fixed bug in RTSPManager DNS resolution when URI host is an IP address