MediaSuite.NET Release Notes

Version 1.6.288

  • Bug Fixes:
    • Assembly signature & version information update

Version 1.6.246

  • New Features:
    • MediaSuite now comes with an installer
    • WaveOut: Added QueuedSamples & QueuedSamplesInSecond
    • RTPFrame: When setting RTPFrame.Timestamp all contained packets in the frame are also updated
    • All video decoders now support passing of IntPtr
    • Updated sample code
  • Bug fixes:
    • H263Encoder
    • Fixed bug with larger than expected Intra Macroblocks in P-Frame
    • Fixed bug with possible exception in motion estimation SAD calculation
    • DTMFToneDetector: Fixed memory corruption when disposing the object

Version 1.5.983(P2)

  • New Features:
    • Added AudioMetric to WaveOut device capability
    • New fast image tools Resize and Mirror for RGB 24bit
  • Bug fixes:
    • Fixed bug under XP RDP not playing sound using WaveOutput
    • Fixed H264Decoder potential memory leak
    • Fixed byte alignment bug in SpeechDecoder (Speex NB/WB)

Version 1.5.983(P1)

  • New Features:
    • MPEG4Decoder
    • Method ClearFrameBuffer to clear the current frame in the decoder
    • Option ReorderFrameBuffer to avoid reordering of frames from decode to presentation order
  • Bug Fixes:
    • Speex OutputBitrate fixed for both Narrow-band and Wide-band

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

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

Version 1.5.981

  • New features:
    • 64-bit support

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)

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

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

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.

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)

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

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)

Version 1.5.952

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

Version 1.5.951

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

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

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

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.

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)

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

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

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

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)

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