• Wowza Media Server 3.6.3 Release Notes

    Version: Wowza Media Server® 3.6.3 build 8031 released on 1 November, 2013.

    Wowza Media Server 3.6.3 is a bug fix release that rolls all patches and changes since the release of 3.6.2 into the installers.

    Detailed Changes (since release of 3.6.2)




    • Added IDvrStreamManagerActionNotify2 to overcome problem where streamName was not available to the create callback
    • Added transcoder log warning when overlay image is too small (less than 4 pixels in either width or height)
    • Fixed DVR UTC to time mapping when requested UTC is in a gap between valid UTC times
    • Added transcoder log warning when overlay image is too small (less than 4 pixels in either width or height)
    • Fixed DVR PT to time mapping to do a better job ensuring requested time doesn't exist in a gap between recorded segments
    • Changed PT to DVR time conversion to start at most recent recorded segment instead of oldest segment. This covers case where packet times repest themselves in the DVR recording
    • Added call to processSendDirectMessages in Stream class implementation
    • Added support for avcprofile and avclevel in transcoder onMetaData event
    • Prevent DVR recorder from creating stream manager twice and starting recording when one has already started
    • Fixed problem with Apple HLS SAMPLE-AES encryption with VOD streams introduced in version 3.6.x
    • Fixed problem with multicast send not breaking if sending out
    • Improved target duration calculation for Apple HLS vod streams
    • Fixed RTPUtils.startRTPPull so that if MPEG-TS out non-RTP wrapped that the RTCP port is not allocated
    • Fixed RTPUtils.stopRTPPull(RTPPushPublishSession rtpPushPublishSession) to properly remove RTP sessions
    • Added application property to allow disabling of the more accurate audio timecode calculations
    • Fixed null pointer exception in LiveStreamRecordMP4 when segmenting audio only files
    • Improved HTTP streaming handling of query parameters so that original order is maintained
    • Added HTTPStreamer/Property string properties to add EXT-X-PLAYLIST-TYPE header Apple HLS chunklists
      • cupertinoDVRPlaylistType: EXT-X-PLAYLIST-TYPE for nDVR playlists
      • cupertinoLivePlaylistType: EXT-X-PLAYLIST-TYPE for live playlists
      • cupertinoVODPlaylistType: EXT-X-PLAYLIST-TYPE for VOD playlists
    • Added system to kill unidentified sessions for which we have not received enough data to determine protocol
    • Fixed issue with Wirecast and Digital Rapids encoders intermittently failing RTMP authentication
    • Fixed NetConnection so that IOPerformance counter properly accounts for outgoing media streams
    • Updated transcoder NVENC to version 3.0 of the NVidia SDK
    • Modified live stream packetizer for Apple HLS to reset the target duration reported in playlist if it is 3x the true target duration
    • Fixed RTP RR packets to include correct timestamp (shifted right 16 bits)
    • Suppressed transcoder frame rate missing warning so only shown once
    • Improved RTMP received bytes mechanism to honor max pending bytes per-client value
    • Fixed UDP port sharing problem that was leading to "Address already in use" error
    • Fixed FLV recording issue that lead to video pauses when the stream was played back (buffering code was not properly trimming the packet lists, now tracking abs timecodes)
    • Fixed Closed Caption HTTP Provider to explicit StorageDir
    • Added range responses for HLS availability requests.
    • Changed the HTTP response code to 206 for range requests that exactly match the entity size.
    • Added boolean RTP/Properties property g711DebugIncomingPacketTimes to turn on/off G.711 packet timecode debugging
    • Fixed problem with G.711 decoding in the transcoder that led to incorrect sample rate to be reported for the decoder (hard coded to 16000)
    • Added string Streams/Properties property debugIncomingPacketTimesStream to filter the debugIncomingPacketTimes to a single stream name
    • Fixed a problem with transcoder onMetaData translation that lead to the error "java.lang.ClassCastException: com.wowza.wms.amf.AMFDataMixedArray"
    • Updated versionFile to true for all startRecordingSegmentBy API's, so that first segment uses the fileTemplate for file name instead of just the stream name.
    • Improved handling of malformed MPEG descriptors.
    • Added code to LiveStreamRecordMP4 to use a more accurate packet timecode calculated from the audio sample rate and number of samples
    • Added code to LiveStreamRecordMP4 to correctly set the last STTS entry
    • Fixed problem initiating DVR origin-edge when specifying specific DVR store version in the URL
    • Fixed problem where DVR edge using mediacache would not pull chunks from the cache
    • Improved accuracy of live smooth streaming audio timecodes
    • Added support for SSL connection between origin and edge when using live repeater (when wowzs:// and rtmps:// are used for origin URL)
    • Improved liverepeater logging to log URLs more clearly on connection and resetConnection
    • Fixed issue with using smil file and WebVTT closed captions
    • Fixed support for loading RTSP properties when defined in the .stream file
    • Fixed a bug in QTMediaCursor which prevented seeking on very large mp4 files during vod playback
    • Fixed potential NPE when live onTextData captions are enabled but another type of data event like onCaptionInfo is parsed
    • Changed LiveStreamRecord logging to report vhost name instead of vhost java object
    • Fixed bug in LSR WebUI which caused files to be created with name "undefined"
    • Added log warning to LiveStreamRecorderFLV and LiveStreamRecorder.mp4 when LSR segment schedule string is empty and therefore recorder is not started
    • Defaulted mpegtsVideoIsAligned and mpegtsAudioIsAligned to false to reduce support calls
    • Fixed problem where DVR store deleted on origin was not correctly repeated to the edge
    • Fixed file descriptor leak when opening a corrupt file when using MediaCache
    • Improved transcoder template loading to add support for URLs
    • Added API to IServer to return information regarding transcoder licensing
      • public long getTranscoderLicenseInUse();
      • public long getTranscoderLicenseTotal();
    • Fixed NPE in HTTP origin mode, where if live stream was requested before a DVR stream the DVR stream would not return a manifest
    • Improved logic for recalculating entire ABR DVR alignment data structure. Now handles edge case for HTTP Origin mode where no alignment records are found
    • Added HTTPStreamer/Property httpCacheControlStatus4xx to control the Cache-Control header that is returned for HTTP streaming when a response in the 400's is returned
    • Fixed problem where large DVR stores on the edge would return the initial manifest before the origin had sent down the complete manifest
    • Added code to track when Application is active IApplication.isRunning()
    • Added code to be sure application folder is not created if application is not running
    • Added new IVHost API to shutdown an application and delete the application folder:
      • void IVHost.shutdownApplication(String appName, boolean deleteFolder);
    • Added new FileUtils API to delete a folder and it contents:
      • void FileUtils.deleteFolder(File folder)
    • Fixed bug where DVR audio only tsreams with MP3 would not play in DVR strobe player
    • Fixed problems when switching between nDVR and live streams when using HTTP Streaming in HTTP Origin mode
    • Fixed bug in LSR where outputFile url param was being ignored when using action types startRecordingSegmentByxxx
    • Improved HTTP streaming repeater logging to include context information
    • Implemented HTTPStreamer/Properties "cupertinoRelativePlaylistPlaylists" and "cupertinoRelativePlaylistItems" for nDVR
    • Allowed live streams to get property "cupertinoRelativePlaylistItems" from HTTPStreamer properties. Live, nDVR and VOD now all get this property from HTTPStreamer/Properties
    • Changed behavior to place EXT-X-ENDLIST after chunk URLs in a recorded HLS DVR playlist. Certain STBs do not like this even if it is to spec.
    • Added DVR property "dvrCupertinoPutEndTagBeforeChunks" in case the old behavior is needed. (Boolean, default: false)
    • Fixed problem where DVR would not respect "cupertinoFloatingPointDurations" if set to false
    • Added MPEG DASH sessions count entry to "flat" version of HTTP connections counts XML response
    • Fixed handling and naming of the MPEG DASH "HTTP Redirect" properties, as described in DASH article
    • Added support for ATSC Enhanced AC-3 pass thru
    • Improved AppleHLS feature cupertinoCalculateChunkIDBasedOnTimecode
    • Fixed SanJose Live Repeater null exception bug (Jira WMS-217, associated with Ticket #60055). The exception was triggered upon disconnection and then reconnection of the source stream.
    • Removed debug print statement in H.264 MediaReader for HTTP streaming audio only content
    • Fixed handling and naming of the MPEG DASH "HTTP Redirect" properties, as described in DASH article
    • Updated Wowza Transcoder to latest NVidia NVENC SDK (June 2013 release)
    • Improved Wowza Transcoder NVENC error handling to not terminate on error
    • Fixed problem when using calculateChunkIDBasedOnTimecode not working with origin/edge mode (this feature is not intended for origin/edge mode but is instead for HTTP origin mode - it is improved so that it at least works)
    • Fixed nullptr exception with Apple HLS packetizer
    • Updated Silverlight LiveDVRStreaming example player to fix loading issue on some browsers
    • Improved G.711 depacketizer (a-law and mu-law) to send packets with a smaller number of samples
    • Added RTP/Properties integer property g771SamplesPerFrame to control the number of G.711 (a-law and mu-law) samples per packet - set to zero will send all samples in an RTP packet
    • Fixed Apple HLS streaming when using SMIL files to be sure cupertinoCalculateCodecs and cupertinoCalculateResolution is properly honored
    • Added startTransmit and stopTransmit to ModuleCore to avoid warning log message
    • Improved E-AC-3 over Apple HLS pass through support
    • Fixed Closed Caption HTTP Provider to return correct contentType for srt files
    • Added Application level properties to Closed Caption HTTP Provider to allow returned content type to be changed. Properties are named httpCaptionProviderContentType<Ext>, where <Ext> is capitalized file extension
    • Improved transcoder decoder handling to properly deal with errors
    • Improved transcoder encoder logging to only log first error if transcoder not properly initialized
    • Improved transcoder shutdown code to close publish streams earlier
    • Improved transcoder shutdown logging if shutdown is delayed
    • Improved timecode debug logging for video to include dts to pts offset
    • Improved packetization to fix flush iteration problem (reset packetizer when artificially hit chunk end)
    • Fixed problem where extracting BOM from UTF8 CC line could convert said line into non-UTF8 string
    • Added RTPDePacketizerWrapperPacketLossSimulator to simulate packet loss
    • Improved JMX name encoding to properly escape
    • character
    • Guard against potential null MediaCaster in JMX's onSetSourceStram
    • Fixed NPE in validateNewConnection when using Vhosts.xml ConnectionLimit
    • Updated live and vod Flash examples players to work with CS3
    • Ignore IF-xxx requests as if they didn't exist instead of returning 501 (not supported)
    • Fixed problem with live repeater URLs not being translated correctly if application instance not specified as part of origin URL
    • Improved performance of NAL unit cleanup in live receiver (conversion from: [packet-size][start-code][nal-data][start-code][nal-data] to [nal-size][nal-data][nal-size][nal-data])
    • Added sleep time to Stream class when repeating playlist loop quickly
    • Added applyParameters method to native transcoder API
    • Fixed an NPE when using the StreamNameAlias Add-on and the url passed in isn't found in the stream alias file.
    • Fixed an issue with HTTP Origin and Apple HLS streams using absolute paths in the playlists.
    • Fixed Apple HLS logging issue with audio only chunks not reporting correct packetization mode