Versie historie van MediaInfo (Portable)
<<Terug naar software beschrijving
Veranderingen voor v19.07 - v19.09
- + AC-4: basic detection, raw, in MP4 or TS
- + AC-3/E-AC-3: display time code of the first frame
- + Don't show anymore by default "encoded" bit rates and stream sizes
- + MOV: Decode more language codes
- x MXF: some metadata were missing
- x AC-3: AC-3 actually has no bit depth, removing the default 16 value
- x AC-3/E-AC-3: fix bitrate info (so duration) with streams having a time code
- x AC-3: parse more frames also when in MP4, in order to better detect JOC (Atmos)
- x MP4: do not show audio bit depth if it is the "default" 16 (value is not trustable enough)
- x ProRes RAW: we know only width and height
- x SubRip: bad handling of files having a quote character
Veranderingen voor v19.04 - v19.07
- + Mac App Store version: File comparison (InApp purchase)
- + Dolby E: readout of Dolby E program description
- + MXF: Detection of Dolby Vision
- + MP4: support of Spatial Audio Metadata
- + DV: color space is explicit
- + DV: audio format settings
- + Matroska: PCM bit rate
- + MOV, MXF: Time code frame rate
- + DV: DVCAM commercial name for locked audio and PAL 4:2:0
- + MXF: Time code track name
- x USAC: frame rate was missing in case of non standard sampling rate
- x USAC: fix infinite loop with some LATM streams
- x WAV: MP3 delay should be added to BWF time reference
- x TTML: fix wrong output with standalone files
- x N19/STL: fix crash with some uncommon framerates
- x VC-3: fix sub sampling with some v2 files
- x DV: Time code frame number was wrong (divided by 2) for 50/60 fps content
Veranderingen voor v18.12 - v19.04
- + USAC: DRC effect types, Sample peak level, True peak level, Program loudness
- + HDR: SMPTE ST 2094 App 4 (including HDR10+) support
- + HDR: move HDR10, Dolby Vision and SL-HDR meta to specific generic "HDR Format" lines
- + Matroska: SMPTE ST 2086 (HDR10) support
- + Matroska: FieldOrder support
- + HEIF image format support
- + AV1: support of AV1 in MP4, HEIF, IVF
- + MOV: Add a lot more countries to AppleStoreCountry field internal list
- + MXF: Fix memory leak when fully parsing big file with acquisition metadata
- + HEVC: more HEVC profiles (Multiview, Scalable, Screen Content...)
- + AAC: better handling of corrupted streams
- + AAC: better handling of unknown channel layouts
- + AVC in MP4: better support of corrupted streams
- x B1101, AVI: fix crash with some invalid streams
- x B1101, SMPTE ST 337: fix crash with some invalid streams
- x Matroska: chapters timestamp were not display if chapters have no name
- x MXF: Fix false positive truncated file detection when there is no Random Index Pack
- x AAC: channel layout typos (Rls instead of Lrs, Lr instead of Rb)
- x ProRes: correctly show color space if alpha plane is present
- x MPEG Audio: some VBR files use "Info" Xing header, so we ignore the difference between "Info" and "Xing"
- x I943, MPEG-4: wrong display aspect ratio in some corner cases (32-bit release only)
- x I1096, OGG: assign METADATA_BLOCK_PICTURE tag to cover
Veranderingen voor v18.08.1 - v18.12
- + Android version: https://play.google.com/store/apps/details?id=net.mediaarea.mediainfo
- + DCP: support of multi-reel packages
- + EBUCore: added some FFV1 related metadata
- + JPEG: better info display of CYMK files
- + Provide source of the color related metadata (container or stream) (hidden by default)
- + MXF: display more information when wrapper/essence values are detected as not same
- + MXF: ProRes profiles
- + MPEG-4: ProRes RAW support
- + MPEG-TS: add support of parsing some ETSI TS 103-433 messages
- x MPEG-2 Video: variable GOP detection fix
- x MPEG-7 export: some fields were missing due to the removal of some legacy fields
- x ADTS: Fix display of channel count for 8-channel streams
- x ID3v2: fix some date related issues
- x I298, ID3v2: fix wrong read of recording date in some cases
- x I1032, PBCore2: fix essenceFrameSize with non Video tracks
- x I1096, JPEG: fix crash with one file
- x Several other crash and memory leak fixes
Veranderingen voor v18.08 - v18.08.1
- x Fix XML/MPEG-7/PBCore2 output discarding non ANSI characters
Veranderingen voor v18.05 - v18.08
- + Dolby Atmos (in E-AC-3 or TrueHD): support of bed channel count/configuration + objects count + complexity index
- + AC-3/DTS/AAC: display of info about legacy decoders behavior removed
- + AC-3/DTS/AAC: some changes in how format is displayed
- + AC-3/DTS/AAC: better split between technical names and commercial names
- + AAC: support of profile information from MP4_IOD_Tag AudioProfileLevelIndication
- + USAC (xHE-AAC) support
- + Audio channel layout: using a new terminology, better suited for 3D Audio, see https://mediaarea.net/AudioChannelLayout
- + DSD (DSF & DSDIFF) support
- + DXD (Digital eXtreme Definition) commercial name
- + Dolby Vision: use new form for profile (numbers instead of acronyms)
- + New format "Directory" when image sequence + audio file is detected (1 directory style for the moment)
- + PBCore2 export update, thanks to WGBH
- + MPEG-7 export update
- + NISO export update
- + AV1: support of AOmedia AV1 based on 1.0.0 specifications
- + ATRAC9 detection
- + Versionned RPMs
- + HEVC: better support of buggy SEI
- + ADTS: CodecID
- + Support of injection of external metadata
- + HTTPS: support of AWS extension "x-amz-*" in HTTPS headers, permitting to manage temporary credentials (AssumeRole)
- + MPEG-4, #1005: Obey edit list in QuickTime Timecode track
- x MIXML: hide fields which were hidden in normal output
- x Hybrid AC-3/E-AC-3 (in Blu-rays): bit rate info was wrong
- x Lot of bug fixes, see full log for more info
Veranderingen voor v18.03.1 - v18.05
- + PBCore 2.1 export update, sponsored by WGBH as part of the NEH-funded PBCore Development and Preservation Project
- + TIFF: more IFDs are supported (density, software...)
- + NISO Z39.87 output
- x Mastering Display Color Primaries: was always showing BT.709 instead of real value, when present
- x Attachments: do not provide anymore attachments content in XML by default, fixes
Veranderingen voor v0.7.98 - v0.7.99
- + EBUCore: JSON output (--Output=EBUCore_1.8_JSON)
- + EBUCore: add writingLibraryName and writingLibraryVersion attributes
- + Ad-ID identifier display on a single line ("Value (Registry)" format)
- + MPEG-4: Better display of format of VobSub tracks
- + MPEG-4: CodecID is stsd name + ObjectTypeId for mp4a, mp4v, mp4s
- + AVC: preferred_transfer_characteristics support
- + MPEG Video, MPEG-4 Visual, AVC, HEVC, MPEG-4, Matroska: correct detection of RGB
- + matrix_coefficients: detection of Y'D'zD'x and Chromaticity-derived
- + AAC: info about SBR/PS being implicit/explicit/NBC (Not Backward Compatible)
- + AAC: indicate audioObjectType in CodecID
- x Fix a weird 1.334 DAR due to a rounding issue
Veranderingen voor v0.7.97 - v0.7.98
- + Matroska: handling of files with Tracks element after Cluster elements
- + Matroska: detection of Duration tag alone and use it even if tag writing date is not there.
- + Matroska: mapping of colour description elements, timecode and handler name to corresponding MediaInfo fields
- x I169, WAV: too much aggressive detection of wrong 5-channel audio, now limited on AC-3 and DTS
- x transfer_characteristics and matrix_coefficients slight change in order to have them unique per ISO integer value
- x EBUCore: All XML elements are correctly escaped
- x PBCore: All XML elements are correctly escaped
Veranderingen voor v0.7.95 - v0.7.97
- + Ubuntu 17.04 packages
- + HEVC: support of stream having VPS hrd_parameters
- + FLV: support of FLV files with an ID3v2 header
- + FLV: detect some incoherent frame rates in buggy files
- + TIFF: support of more tags
- + I518, AAC: consider 4 back channels as 2 side + 2 back channels
- + Matroska: integrate all elements from Matroska specs in MediaTrace
- + WAV: parsing of MPEG Audio extension "mext" chunk and displayed in MediaTrace
- + MPC: channels count
- + AAC: ADTS/ADIF duration in case of full parsing and/or "risky bitrate estimation" option
- x MXF: less false-positive detection of some files as MXF
- x B1053, WAV: metadata coherency, ignore "fact" chunk more often in order to avoid bad information when this chunk is buggy
- x B1029, DPX: DPX endianess not considered with some fields in MediaTrace
- x Custom template: can check "Other" part as any other parts
- x Matroska: fix parsing issue with small byte blocks are taken from the file e.g. when reading from HTTP link
- x Matroska: files with unknown block size were flagged as truncated
- x MediaTrace: values with a n were breaking the text report lines
- x Some typos (RefFrames, SPF)
Veranderingen voor v0.7.93 - v0.7.95
- + EBUCore: EBUCore 1.8 with acquisition metadata output.
- + Better support of growing files, especially when accessed by FTP
- + Matroska: better support of some broken files (high EBMLMaxSizeLength, padding before start of EBML)
- + EXR: showing Multipart and Deep flags
- + EXR: show image compression method
- x EBUCore: fixed display aspect ratio (was using rational)
- x EBUCore: fixed frame rate factor (was num/den instead of factor)
- x AVC: some streams with dynamic frame type were having a wrong frame rate
- x MPEG-4: some old AAC tracks were not correctly detected
- x Matroska: was sometimes displaying "Bit depth: Bit0" when bit depth is unknown
- x Nut: fix crash with some files
- x FFV1: PixelAspectRatio was an integer, switched to 3-digit rational
- x DTS: fix frame count
- x Dolby E: fix frame count
- x EBUCore: fix regression creating invalid XML files
- x AVC: some streams with dynamic frame type were having a wrong frame rate
- x I490, EXR: was not supporting valid 31-char attribute names
Veranderingen voor v0.7.92.1 - v0.7.93
- + Matroska: detection of native FFV1 CodecID ("V_FFV1")
- + AC-3/E-AC-3: detection of Atmos inside core streams
- + AC-3/E-AC-3: slight reorganization of metadata display for dual mono and surround
- + AC-3/E-AC-3: "complete main" and similar info moved to "Service kind" dedicated line
- + AC-3/E-AC-3: more precision about how is built a stream (e.g. "E-AC-3+Atmos / E-AC-3" or "TrueHD+Atmos / TrueHD / AC-3")
- + WTV: basic detection
- + MPEG-TS: Detection of Opus
- + URL: "URLEncode" option for saying if the input should be URL encoded or not (default is guess = no change except if it contains spaces)
- x MediaTrace: for bitstreams (not bytestreams), bit offset was wrong
- x HLS: duration was sometimes wrong, reading only the first TS file duration. Now full duration is displayed
- x MPEG-TS: if stream is encrypted or invalid, level was sometimes not the expected one for AVC (e.g. "BaseLine@3.0" instead of "Baseline@3")
- x Matroska: FFV1 stream width/height was not initialized when Matroska track header width/height is after CodecID
- x FFV1: fix potential crash with some buggy slice headers
- x Matroska: crash in case of big attachment and CRC32 present
Veranderingen voor v0.7.91 - v0.7.92.1
- Fix a performance regression in the matroska parser
Veranderingen voor v0.7.90 - v0.7.91
- + Add TIFF extension to Windows shell extension
- x Debian 9 and Ubuntu 16.10+: Remove unneeded dependency
- + IMF and PTX: more languages detected from file names (but the full list of common languages tags still need to be added)
- + IMF and PTX: support of non-standard but common "LAS" = "Spanish (Latin America)" language code
- + MXF: Support of color primaries, transfer characteristic, coding equations defined in SMPTE ST 2067-21:2016 e.g. xvYCC or BT.2020
- + Minor performance optimizations and cleanup (Thanks to Pavel Pimenov)
- + MediaTrace optimization for Matroska
- x Fixed parsing of FFV1 v0/v1
- x PTX: fix crash due to bad parsing of some file names while looking for track language
Veranderingen voor v0.7.84 - v0.7.85
- + FFV1: ScanType and ScanOrder
- + Detection of Omneon VBI and move of the VBI track from Video part to Others part
- + N19/STL: Support of etection of less standard frame rates (23.976 and 29.970)
- + Teletext in MPEG-TS: Teletext not subtitle moved to "Other" part
- + Teletext in MPEG-TS: display of CodecID and timestamp of first frame
- x Teletext in MXF: some IDs were wrong (when there are more than one Teletext service)
- x MPEG-4/MOV: default of raw audio to Signed in case of stsd atom version <2
- x MPEG Video: some CEA-608/708 captions were not correctly detected due to some packets discarded by the parser with interlaced content
- x MPEG-4/MOV: Dolby E with 2 or more audio services were not correctly reported
Veranderingen voor v0.7.83 - v0.7.84
- #I122, MPEG-4/MOV: Crash if mdhd timescale is 0
- MPEG-4/MOV: Infinite loop if malformed stsc / stsz (detected by fuzzing)
- MPEG-TS: some DVB Subtitles were not detected
- HLS: better handling of media playlists having EXT-X-BYTERANGE
Veranderingen voor v0.7.81 - v0.7.83
- + HEVC: Maximum Content Light Level (MaxCLL) and Maximum Frame-Average Light Level (MaxFALL), metadata mandated by CEA-861.3 for HDR support
- + HEVC: Mastering display color primaries and luminance (based on SMPTE ST 2084), metadata mandated by CEA-861.3 for HDR support
- + HEVC: SMPTE ST 2048 and SMPTE ST 428-1 transfer characteristics
- + HEVC: Chroma subsampling location (indication of the location type described in the HEVC spec)
- + MPEG-TS: ATSC Modulation Mode (Analog, SCTE_mode_1 aka 64-QAM, SCTE_mode_2 aka 256-QAM, 8-VSB, 16-VSB)
- + #B981, MP4: support of buggy file having "hint" SubType
- x HLS: better handling of media playlists having EXT-X-BYTERANGE
Veranderingen voor v0.7.79 - v0.7.80
- + Matroska: support of MKVMerge statistics tags (duration frame count, stream size, bit rate) per track, thanks to ndjamena
- + FLAC: Channel positions, thanks to ndjamena
- + FLAC: difference between detected bit depth and stored bit depth
- + MPEG-TS: if DTVCC transport stream is present and no DTVCC service descriptor, scan also in the middle of the file in order to detect more caption services
- + Subtitle frame rate computing if frame count and duration are available (hidden by default)
- + Subtitles in Matroska: count of elements
- + Matroska, MXF and MP4/MOV: detection of truncated files
- + DTS: difference between ES Matrix and ES Discrete
- + DTS: display ES Matrix or ES Discrete even if HRA or MA is present
- + DTS: difference between DTS-HRA with 96k option and pure DTS-96/24
- + DTS: detection of DTS:X
- + Samples per frame info
- + AC-3: detection of Atmos inside TrueHD
- + Video frame rate: showing precision of 1/1.001 frame rates (e.g. "23.976 (24000/1001) fps" and "23.976 (23976/1000) fps")
- + MPEG-4/MOV: showing the complete list of compatible brands in the CodecID field
- + MPEG-4/MOV: Alternate groups
- + MPEG-4/MOV: "Disabled" tag
- + MPEG-4/MOV: "Forced" tag
- + MPEG-4/MOV: showing links between tracks (chapters for, subtitles for, fallback for)
- + MXF: handling of more acquisition metadata items
- + MXF: Package name
- + AVC: Store method of interlaced content (Interleaved Fields or Separated Fields)
- + EBUCore: acquisition metadata (Proof of concept, for feedback only)
- x Matroska: frame rate detection algorithm revisited, less wrong numbers are expected
- x SDP/Teletext: some pages were sometimes (when present in 2 different SDP lines) displayed several times
- x MPEG-4/MOV: some hint tracks were not displayed
- + Hongkongese language added
Veranderingen voor v0.7.78 - v0.7.79
- + CLI/DLL only, XML: new option --Output=MIXML, with XML v2.0beta1 status, not for production, see https://github.com/MediaArea/MediaAreaXml for more details
- + MediaTrace: support of more than 1 file in XML output.
- + CLI/DLL only, XML: new option --Output=MAXML, with XML v0.1 status, in order to have bot MediaInfo and MediaTrace in the same output, not for production, see https://github.com/MediaArea/MediaAreaXml for more details
- x MediaTrace: fixed some invalid outputs
- x #B951, Amazon S3 support (REST API v2), CLI/DLL only and if compiled with libcurl support: URL without credential were badly interpreted
Veranderingen voor v0.7.77 - v0.7.78
- + MOV: AVrp CodecID support
- + Video Stored_Width/Stored_Height and Sampled_Width/Sampled_Height added (hidden by default)
- + Speed optimization for the parsing of tiny files e.g. JPEG files
- + Option (command line / DLL) --Legacy=0 for disabling some legacy fields
- + Option (command line / DLL) --Output=MAXML, XML with MediaInfo and MediaTrace output together, technology preview (not for production)
- x MPEG-TS: Teletext and Teletext Subtitle were missing in the menu list
- x Chroma subsampling "4:4:4" was sometimes indicated for RGB, which is not useful
Veranderingen voor v0.7.76 - v0.7.77
- + #B941, MXF: files having only a video stream and an ancillary data stream were having incorrect second video stream
- + MOV: detection of r210 CodecID as raw RGB
- + Ancillary data: detection of all metadata blocks (previously: only the first one was detected)
- x MPEG-TS: Wrong demux of TSP (188+16 TS) files having PES with only padding
- x MediaTrace #2: XML malformed with Flags items (hotfix, flags meaning disabled in XML output)
- x MediaTrace #3: XML malformed with some MP4 files
- x MediaTrace #6: XML duplicated attributes
- x MediaTrace #10: versioned xsd, creating library name and version
- x MediaTrace: XML content was not escaped
- x #B947, Amazon S3 support (REST API v2), CLI/DLL only and if compiled with libcurl support: Analyze file on s3 was not working if secret key contains / character
Veranderingen voor v0.7.74 - v0.7.76
- + XML output: line breaks and indents in between attributes for readability
- + Trace feature: XML trace update, only if compiled with trace feature
- + Amazon S3 support (REST API v2), CLI/DLL only and if compiled with libcurl support
- + FFV1: improved slice analysis (currently activated only with trace feature and for 1st frame)
- x MXF: optimization of the parsing, reading a lot less data (e.g. can be reduced from 1 GB to 10 MB with some UHD files)
- x MXF: wrong frame count with files not having the video stream as the first stream
- x Dolby E in MPEG-TS: "SMPTE ST 302" information was accidentally removed
- x MPEG-TS: avoid filling delay from file name, not applicable on MPEG-TS
- x MXF: better handling of huge padding blocks, better handling of descriptors without link to a TrackID
- x IMX: streams claiming that they are IMX are actually pure MPEG Video, probing both IMX and MPEG Video
- Version 0.7.75, 2015-06-30
- --------------
- + MXF: consideraing 60 fps timecode tracks with 2 components having a difference of 2 frames as a single timecode
- + EBUCore 1.6: switch to the link of the final XSD
- x XDCAM: some directory structures were wrongly detected as XDCAM structure having a XML file
- x MXF: SDTI 60 fps times were wrong
- x #B927, DPX: date/time specific DPX format was used instead of the ISO-like one
- x #B927, EBUCore: invalid content in attribute startDate
- x ProRes: streams with apcs CodecID were displayed with an incoherent bit depth instead of no bit depth
Veranderingen voor v0.7.72 - v0.7.73
- BPG: basic support, thanks to Kurtnoise
- CAF: basic support of Apple Core Audio Format, sponsored by FlavorSys
- JPEG-2000: Display of profile (Rsiz)
- JPEG-2000: detection of XYZ colorspace (based on D-Cinema profile)
- FFV1 in MOV: more details (version...)
- MOV/MPEG-4: handling of clcn (little endian nclc) Color parameter type
- #P84, Matroska: Add TEXTST support to the MKV Parser, thanks to Kurtnoise
- #P85, MPEG-TS: Add TEXTST support to the MPEG-PSI Parser, thanks to Kurtnoise
- MediaInfoDLL interface: clean up, more debug features added
- MediaInfoDLL interface: Giant threads lock removed
- #F460, VC-3/DNxHD: detection of RGB 444 and other SMPTE ST 2019 (2014) new CIDs
- VC-3/DNxHD: version number (HVN)
- Clean aperture size is move from width/height to its own field
- HEVC: tier
- MXF: writing library and writing application fields are cleaned up
- ProRes: support of 4444 profiles
- CAP: detection of CAP files from Cheetah and Lambda
- B886, XML and HTML outputs were broken
- B902: EBU AspectRatio invalid in case of non classic numerator:denominator format
- #B758, VC-3/DNxHD: wrong color space and subsampling in case of unknown CID, now empty if format version is not known
- #B903, MXG: Incorrect timecode track used for AS-11 DPP MXF files
- #B904, MXF: Handling repetition of Header Metadata in MXF files
- MXF: AFD value was wrong (displaying the complete byte, but AFD is only 4 bits of this byte)
- DTS: some streams in Little endian were not detected
- MPEG-4: some files were having an incorrect frame count
- AVC: Some SCTE 128 caption streams were displayed twice
- BMP; accepting files with file size information set to -1
- RF64: samplesCount was not always right
- MOV: avoid wrong parsing in case of "colr" atom with "prof" color parameter type
- DCP/IMF: ID has now the AM/PKL CPL order in order in all cases (not only when there is more than one CPL)
- #B893, MXF: Crash with Panasonic P2 3.0 files
- DPX: time information was with native ":" character
- Images sequence: "Delay" field is filled from the number in the name of the first file
- FLV: some files were not having the right duration
- DPX: Cineon files were detected as DPX Version 1, version number was not corresponding to the real version
Veranderingen voor v0.7.71 - v0.7.72
- Swedish translation updated, thanks to Åke Engelbrektson
- MXF: MXF version (e.g. "1.3")
- Option "File_IsImageSequence" for being able to skip frames in a sequence of files.
- EBUCore: EBUCore 1.6 draft output, sponsored by EBU
- EBUCore: AS-11 to EBUCore mapping, sponsored by EBU
- EBUCore: more technicalAttributes, sponsored by EBU
- MXF Acquisition Metadata (RDD-18, EBU Tech 3349) basic support
- EBUCore: time code tracks moved to their own "format" block
- EBUCore: audioTrackConfiguration removed (not the expected behavior)
- EBUCore: OverallBitRate information changed from technicalAttributeString to technicalAttributeInteger
- PBCore: invalid output in case of time code stream, fix thanks to Dave Rice
- PBCore2: codecid changed, thanks to Dave Rice
- OP-47/SDP/Teletext: some streams were not detected
- Previous version was built with SSE2 instructions, switching back to SSE instructions
- AVC: infinite loop fix
- AVC: trying to avoid the wrong detection of AVC in the case of invalid (e.g. encrypted) streams
- Crash on Windows Vista and Win7 pre-SP1 and a CPU having FMA support, due to a bug in MSVC2013, since 0.7.72. Thanks to Pavel Pimenov for the report and patch
- MXF: AS-11 Typo (SerieTitle changed to SeriesTitle), TotalProgrammeDuration added
- ID3v2: support of 3-byte ID3v2.3 tags
- CEA-608 in MPEG-4: demux PTS was wrong in case of multiple blocks in one frame
- MOV: better Grey scale files and color palettes handling, with help from Vittorio Giovara
Veranderingen voor v0.7.70 - v0.7.71
- AS-11 (Core, Segmentation, UK DPP items) display
- MXF: support of TTML (SMPTE ST 2052) detection
- MXF: option --File_Mxf_TimeCodeFromMaterialPackage for using the time code track from Material package instead of Source package (CLI/DLL only)
- Duration in HH:MM:SS:FF format (hidden by default)
- AVC: detection of Intra profiles
- MXF: both Material and Source package time codes are displayed
- MPEG-TS: more information for Teletext subtitle e.g. "For hearing impaired people"
- Detecting sidecar XML files for captions (e.g. TTML/DFXP), option for CLI and Lib
- AVC and HEVC: colour_range information (Limited/Full), thanks to Vittorio Giovara
- OP-47/SDP/Teletext: detection of magazine numbers
- MOV/MPEG-4: basic support of iTunMOVI tag
- MOV/MPEG-4: support of track title and few other track related tags
- MOV/MPEG-4: detection of Dolby E in a stereo track
- AVC: using the first pic_struct as fallback for scan order if other methods fail, thanks to Smit for the idea
- IMF: better compatibility with packages from different vendors
- PBCore 2.0 technical metadata output option, thanks to Dave Rice
- WMV: Time code track and value of first frame display, sponsored by AVCOM
- MPEG Video: Open/Closed GOP status
- HEVC: Support of Pixel Aspect Ratio in VUI, thanks to Kurtnoise
- SMPTE ST 331: wrong channel positions
- B872, MOV: StreamOrder field was wrong in case of chapter references
- More coherency between the File interface and the By buffer interface
- Matroska: wrong dection of video/audio delay in case of B-frames before the first I-frame
- Time code striped/not striped information is moved from "Format_Settings" to "TimeCode_Striped"
- SMPTE ST 337: infinite loop during scanning of some non ST 337 streams
- MP4/MOV: Using less data during detection of Dolby E hidden in a PCM track
- Matroska: some crashs after file name of attachments update
- MXF: MXF time code track was not displayed with some compilation options (e.g. the default Windows build)
Veranderingen voor v0.7.69 - v0.7.70
- + DTS Neural Audio: display of DTS Neural Audio descriptor information (matrix encoded channels count and position), sponsored by Numericable
- + FFV1: version, bit depth, color space, chroma subsampling, versions 0 to 3, sponsored by NOA Audio Solutions
- + HuffYUV: version, bit depth, color space, chroma subsampling, versions 1 to 3, sponsored by NOA Audio Solutions
- + PDF: basic detection (goal is to detect PDF/A profile)
- + HLS: support of encrypted streams (key must be in FileName.FileExt.key or provided via the library API)
- + CDP: using CDP service descriptor for the list of 708 services + language information
- + MXF: showing the real bit depth ("Quantization bits"); the count of bits stored in the file is in a new field "Stored bit depth" if it differs
- + MXF: Audio "frame rate" (how PCM content is split in packets) information
- + MXF: Audio block alignment byte size (hidden by default)
- + VC-3: adding the commercial name "DNxHD" + bitrate class
- + MXF: SMPTE ST 377-4 (MXF Multichannel Audio Labeling Framework)
- + MXF: "ChannelLayoutID" new field (hidden by default) containing the MXF Channel Assignment Label
- + Wave64: Duration
- + CDP: frame rate
- + IMF: improvements (still work in progress)
- + QuickTime: ia13 CodecID
- + CDP: using ccsvcinfo_section() for service presence and language information
- + MXF/CDP: law rating (from CEA-608 XDS) information added (other containers were already supported)
- + CEA-608: Program name information
- + BMP: support of OS/2 headers
- + HLS: com.apple.streaming.transportStreamTimestamp support
- + ISM: ISMT / text (TTML) streams support
- + MXF: detection of buggy BlockAlign from some muxers, so PCM bit depth is correctly detected despite the buggy metadata
- + HEVC: library name of some encoding libraries
- + MPEG-2 Video: picture structure for interlaced content (interlaced content can have a frame structure)
- + HLS: support of some encrypted files (AES-128 with default IV and per segment), key is provided by the command line --File_Encryption_Key=(Base64 data)
- + HEVC: adding support of x265 library name and x265 encoding settings
- + ProRes: more details about ProRes in AVI or Matroska
- + DV: support of AVd1 CodecID
- + CMake: scripts improvements, thanks to Ivan Romanov
- + Matroska: file name of attachments, thanks to Marshall
- x HEVC: some streams with VUI were not parsed
- x MPEG Video: was not correctly handling 1000:1001 frame rates and NDF time codes combination during frame count computing
- x MPEG Video: was not correctly detecting the time stamp of the first frame in case of closed GOP with first frame not the I-frame
- x XDCAM: information about the MXF header presence was not provided if MOV header has a glbl atom
- x Some specific C++11 code is removed for full compatibility with older C++
- x MXF: Time codes values were buggy in case of MXF with pre-charge ("Origin" not 0)
- x MPEG-4 Visual: wrong analysis in case on video_object_layer_shape not set to regular
- x MPEG-4/MOV: trying to display the summary differently when there is a difference between container and raw stream channels count information (long term method to be discussed)
- x Non-Unicode version was not building anymore
- x DyLib: trying to have a better support of pure C compilers
- Version 0.7.69, 2014-04-24
- --------------
- + Italian translation updated, thanks to Roberto
- + Russian translation updated, thanks to solokot
- + MPEG-TS: support of HEVC streams with stream_type of 36
- + EBUCore 1.5: update with support of more fields and valid against final XSD
- + Added interlaced content store method (Separated fields or interleaved fields)
- + HEVC: Better support of the different containers (including MP4/MKV/FLV)
- + #B844, Matroska: detection of covers, thanks to Max Pozdeev
- + Sequences of files: optimization of the detection of sequences with 200k+ files
- + Sequences of files: File_IgnoreSequenceFilesCount option for speeding up the detection of sequences (con: no detection of the latest file in the sequence)
- + Sequences of files: File_IgnoreSequenceFileSize option for speeding up the detection of sequences (con: no detection of total size of the sequence)
- + Sequences of files: detection when there is additional characters after the numbers (e.g. "filename[000001].png")
- + MPEG-TS: detecting sequences of files
- + ADTS: detecting sequences of files
- + MediaInfoList: removing files detected as part of a sequence
- + Arri Raw: basic detection
- + DDS (DirectDraw Surface) support
- + OpenMG (.oma) partial (Atrac3 only) support
- + WebVTT detection
- x #B841, QuickTime TFF/BFF: using now Technical Note TN2162 as the reference documentation for 'fiel' atom
- x Matroska: slow parsing of some files
- x MOV/IMX: IMX was not detected when glbl atom is present
Veranderingen voor v0.7.67 - v0.7.68
- Windows version: translation files were corrupted
- Mac App Store version: "Can not open file(s)" message when trying to open files having diacritics in file name.
- MXF: duplicate display of some time code streams in ancillary data
- B814, AAC: Wrong detection of audioObjectType==29
Veranderingen voor v0.7.66 - v0.7.67
- Windows version: translation files were corrupted
- Mac App Store version: "Can not open file(s)" message when trying to open files having diacritics in file name.
- MXF: duplicate display of some time code streams in ancillary data
- B814, AAC: Wrong detection of audioObjectType==29
Veranderingen voor v0.7.65 - v0.7.66
- EBUCore 1.4 output support
- IMF AssetMap (AM), PackageList (PKL) and CompositionPlaylist (CPL): improved support
- Channel layout information for AAC, AC-3, E-AC-3, DTS, Dolby E
- MXF: CodecID field (EssenceContainer-EssenceCompression)
- Pro Tools 10+ Session file (.ptx) support, by reverse engineering (=it may not work)
- Playlist files: trying to detect language and channel layout from file names
- QuickTime: new field ScanOrder_StoredDisplayedInverted, set to "Yes" when display and Stored orders are inverted
- Wave: Detection of wrong byte rate in header in order to provide right duration of some PCM streams
- ARIB captions: detection of captions in ancillary data (tested with MXF)
- AAF: basic support of playlist files
- QuickTime: false-positive detection of incoherency between container and raw stream scan order due to inverted display and tored orders
- MXF: Dolby E stream not detected in some cases
- #P78, HEVC: general_level_idc shall be set equal to a value of 30 times the level number, not 10 times, thanks to Kurtnoise
- C# binding example: was not working with 2GB+ files, was parsing sometimes the whole file
- #B802, AAC: Infinite loop, thanks to Sébastien Michel
- #B805, AC-3: Segfault on files falsely recognized as AC3 files, thanks to Gildas Desnos
- #B808, PCM: Infinite loop, thanks to Gildas Desnos
- #B809, APE tags: Infinite loop, thanks to Gildas Desnos
- #B810, AVC: Infinite loop, thanks to Gildas Desnos
- #B813, CLI_Compile.sh bug ("eats all resources" while compiling)
- LATM: false-positive detection of some files
- MXF: Crash with some files
Veranderingen voor v0.7.64 - v0.7.65
- MXF: forcing detection of MPEG Video in case EssenceCompression is not present but MPEG2VideoDescriptor is present
- GXF: detection of some captions and time codes event if they are not present at the beginning of the file (testing middle of the file)
- DASH MPD: basic support
- HDS F4M (Flash Media Manifest): basic support
- DCP AssetMap (AM), PackageList (PKL) and CompositionPlaylist (CPL): basic support
- IMF AssetMap (AM), PackageList (PKL) and CompositionPlaylist (CPL): basic support
- Mac dylib: looking for the dylib in @executable_path and CFBundleCopyExecutableURL dir
- AAC: option for instantaneous bitrate in fast detect mode (MediaInfoLib only)
- FTP (custom builds only): support of UTF-8 file names
- Colour description: colour_description_present added, better separation between bitstream values and container values
- MPEG-4: RLE, color space and bit depth
- Law rating: support of CEA-608 XDS Content Advisory in MPEG-PS, MPEG-Ts, LXF, GXF
- MPEG-4/MOV: Bug found in one file, sample size is 16 with a 32-bit CodecID ("fl32"), correcting the output of MediaInfo
- #B775, AVI: AVI can use negative height for raw to signal that it's coded top-down, not bottom-up
- #B780, MPEG-TS: crash with some files having PAT/PMT change between begin and end of the file
- #B782, PBCore 1.2: some fields were not in the right order
- #B784, some humain readable strings were not removed when the corresponding field is removed
- #B787, MPEG-4/QuickTime: Erratic appereance of Bitrate Mode
- #B798: setlocale() remove from DLL
- #B785, DVCPRO HD: streams can be 8 or 10 bit, removing hard coded value from DV parser (MXF header value is used instead when applicable)
- MPEG-4: wrong demux of some E-AC-3 streams
- AAC: detection of HE-AACv2 was missing if the library is configured with fast detection
- MPEG Video: wrong computing of duration of raw stream in case of drop frame time code
- Automation, StreamKind type was set to integer, it is text
- MPEG-4: was reading lot of useless bytes from disk when the raw stream format is not known
- AVI: crash with some malformed text streams
- Reference/playlist files were not supported from FTP (custom builds only)
- MPEG-4/MOV: ScanOrder was using "stored" value instead of "displayed" value
- MXF: Detection of Dolby E was not working in some cases (regression in 0.7.62)
- MPEG-4/MOV: freeze with some files having mono 32-bit PCM
Veranderingen voor v0.7.63 - v0.7.64
- New canonical URL of the website: http://MediaArea.net/MediaInfo
- Portuguese, Basque and Russian translations updated
- E-AC-3: support of streams having substreams (e.g. more than 6 channels)
- JPEG: detection of YUVA, RGB, RGBA and YCCK color spaces
- MPEG Audio: detection of Id3v1 inside an MPEG Audio frame
- Matroska: support of HEVC/H.265 (based on specifications draft from DivX inc)
- Canopus: detection of scan mode, scan order, pixel aspect ratio
- MD5 generation option (work in progress)
- Id3v2: reading of all Id3v2 blocks (no more only the first one) at the beginning of the file
- MPEG-4: support of few additional iTunes tags, thanks to Kurtnoise
- AVI: detection of Ut Video, thanks to Kurtnoise
- MXF: detection of Dolby E even if EssenceCompression is not SMPTE 337
- AIFF: detection of Dolby E
- AIFF: detection of not aligned Dolby E
- ARIB B24/B37: Caption_conversion_type display (HD, SD, Mobile)
- MPEG-TS: displaying CEA-708 service and CEA-608 presence if the corresponding ATSC descriptor is present
- MPEG-TS: quicker analysis in the case of quick parsing option
- #F412, Matroska: Handling of files having no DocType
- #B761, MPEG-TS/ARIB: crash with some streams, thanks to maki
- #B765, Matroska: was parsing the complete file if a stream indicated in the header is not present
- #B763, MXF: detection of incoherency of channel count between bitstream and wrapper
- #B762, Matroska: detecting 23.976 frame rate (instead of 23.962 fps due to imprecise timestamp)
- #B759, QuickTime: detection of time codes having tcmi not embedded in tmcd box
- #B766, RMVB: a/v delay is incorrect, currently disabling it
- #B768, MPEG-4, crash with some MPEG-4 files
- #B769, MPEG-4, crash with some MPEG-4 files
- #B764, AVC: wrong parsing of some streams having pic_scaling_matrix
- AVC, crash with some AVC streams
- AAC, infinite loop with some AAC streams
- FLV, infinite loop with some FLV files
- Matroska: crash with some malformed files
- MOV: crash/long parsing with some malformed files
- AC-3: crashes and freezes fix
- Java 64-bit: Count_Get(StreamKind) was always returning 0
- Python 64-bit: Count_Get(StreamKind) was always returning 0
- DTS: some streams were not detected
- DTS: some memory leaks with 14-bit streams
- SMPTE ST 302: memory leaks
- SMPTE ST 337: memory leaks
- Total failure if MEDIAINFO_REFERENCES_NO #define was used
- QuickTime: Time code name is in "Title" field
- MPEG-4/QuickTime: handling of weird "negative" frame duration is stts
Veranderingen voor v0.7.61 - v0.7.62
- + ARIB STD B24/B37 caption detection (both Japanese and Brazilian versions)
- + LXF: support of AVC, VC-3, MPEG audio, AC-3, Dolby E, and AAC detection and analysis
- + AC-3: support of 22.05 kHz streams (out of specs but they exist)
- + MOV: AIC (Apple Intermediate Codec) scan type detection
- + MOV: support of AVID metadata (interlacement information)
- + Time code dedicated tracks (MOV, MXF, GXF)
- + Time code track (MPEG-4/MOV, GXF, MXF)
- + Time code in SDTI (MXF)
- + Time code in System scheme 1 (MXF)
- + Time code in SMPTE RP 188 (aka SMPTE ST 12-2 aka ATC aka VANC) (GXF, LXF, MXF)
- + Time code in SMPTE RP 196 (aka HANC)
- + MPEG Video Time code
- + MPEG-TS: format_identifier, pointer_field, section_length (hidden by default)
- + CEA-608/708: caption detection duration is increased to 15 seconds (or 64 MB) in order to miss less caption content
- + Image files as a video stream: file name of the last file
- x #727, MOV: crash with some malformed files (Time scale set to 0)
- x #728, AAC: crash with some malformed streams
- x #681, AVI: was not analyzing VBR streams without bit rate info in header
- x #736: Division by 0 with 0-byte files
- x Id3v2: crash with some malformed tags
- x Bit rate display was "0 bps" if the real bit rate is more than 4 Gbps
- x Division by 0 in case of 0 byte long file
- x MPEG-4: wrong muxing mode information in case of A/53 captions in MPEG Video in MOV
- x P2 Clip: wrong uppercase/lowercase in the file name of source files.
- x MOV: PCM endianness was sometimes wrong
- x MPEG-4: JPEG interlacement was sometimes wrong
- x MPEG Video: wrong DAR information in case of DAR change between begin and end of the file
Veranderingen voor v0.7.60 - v0.7.61
- x64 and i386 Windows installers are merged, now only one installer
- Italian translation updated
- Bigger default window
- MPEG-TS: SCTE 35 and KLV streams are better displayed (in Menu part)
- MPEG-TS: Menu part contains the list of PID with unknown format
- MPEG-TS: Menu part lists PID in the PMT order instead of increasing order
- Display of both container and stream scan type and scan order
- DV100: scan order
- MXF: scan order
- MPEG-TS: Maximum and minimum overal bit rate (only if parse speed is set to 1)
- MPEG-TS, MPEG-S, MXF, AVI, WM: StreamOrder field added
- MXF: better support of malformed VANC streams
- MPEG Video: improved detection of the GOP (more frames are used), "Variable" value
- MPEG-PS: FirstPacketOrder info added
- SkipBinaryData option
- #3564456, Matroska: some (other) streams were wrongly detected sa VFR
- #3570092, Id3v2: support of old COM and ULT fields
- CEA-708: crash with some malformed streams
- MPEG-TS: crash when PCR is corrupted (same value at different offsets)
- QuickTIme: wrong channel count report in case of buggy chan atom. Now the stream description has priority over chan atom
- E-AC-3: duration was wrong in some cases
- Matroska: random wrong analysis in case of SimpleBlock mode
- #3574436, MOV: hang on files having buggy "alis" atom
- MPEG-TS: bit rate mode detection was sometimes too much strict about CBR
- DV: wrong detection in case of buggy audio header (if present and set to 0xFF)
- MPEG-4: crash in case of buggy aperture size atom
- MediaInfo_Const.h was missing in the DLL package for Mac
- MPEG-PS: detection of phantom streams
- WAV: detection of malformed >4GB WAV files was no more working
- DTS: computing bit rate from frame size instead of targeted transmission rate
- DTS: setting the bit rate to "unknown" for Master Audio instead of instantaneous bit rate
- DTS: Display of endianess and word size was not coherent
Veranderingen voor v0.7.58 - v0.7.60
- License: Switched back to LGPLv2+Exceptions
- #3555183, PCX support, thanks to Lionel Duchateau
- #3555182, PSD support, thanks to Lionel Duchateau
- #3555181, Matroska: ALAC detection, thanks to Lionel Duchateau
- #3540425, OGG/MKV: Opus speech format support, thanks to Lionel Duchateau
- #3531808, AVI: detecting more inconsistencies in stream durations
- GXF: crash with Time code tracks without frame rate info
- MPEG-4: stream order (hidden by default), in order to provide the same numbers as mkvtoolni5.2Track ID
- QuickTime: default channel map is "L R" for stereo streams (as it seems to be in QuickTime player)
- MPEG-4: support of WMA (version 1, version 2, Pro, Lossless) in MPEG-4
- FLV: handling of metadata with an underscore before the real metadata name
- MXF: support of files with header missing TrackNumber in the descriptor (if it is present only in footer)
- MXF: Language from DMS-1
- ProRes: analysis of the ProRes raw stream (including scan order for interlaced content)
- colour_primaries, transfer_characteristics, matrix_coefficients: canonicalization of results
- MPEG-4 Visual: colour_primaries, transfer_characteristics, matrix_coefficients
- ProRes: colour_primaries, transfer_characteristics, matrix_coefficients
- GIF: Display Aspect Ratio
- #3533984, different behavior depending of compilation options (so Linuversion was missing some info)
- MPEG-4: audio/video delay was wrong in case of negative delay
- CEA-608: Memory leaks removed
- AVC: crash in case of analyzing some invalid SEI
- MPEG Audio: crash with some files having Lyrics 2 tags
- MPEG Audio: crash with some files having APE tags
- AVI: secondary genre comes after primary genres in the "Genre" field
- FLV: better handling of files containing more than 1 meta chunk
- MPEG-TS/MPEG-PS: was aborting during full parsing in the case of very damaged streams
- Vorbis: infinite loop if codebook_entries>=256
- Id3v2: crash with some unsynchronized frames, especially with UTF-16 comments
- Id3v2: Wrong mime type of covers
- MPEG-PS: crash in case of language info in descriptors
- Java binding: crash with MediaInfo::Inform() (Windows 32-bit only)
- MPEG-TS: false-positive in case of some MPEG-4 files with wrong extension
- FLV: crash in some specific cases (malformed files)
- 3548314, MVC: Scan type was wrong with MVC-only (without the underlying AVC stream) stream
- 3553588, MPLS: stream duration was wrong with standalone (without the referenced M2TS) files
- 3553588, MPLS: incoherent behavior with MPLS having more than one PlayListItem
- 3554154, MPEG-TS: crash with some corrupted streams
- MOV: all EIA/CEA-608 captions were not well detected
- Matroska: Trying to better detect VFR streams, frame rate was wrong in case of interlaced content
Veranderingen voor v0.7.58 - v0.7.59
- Ukrainian translation updated
- AC-3: Little Endian streams support
- LXF: AVC streams support
- ISM: better support
- File referencing other files (HLS, ISM...): menu in case there is more than 1 stream per referenced file
- MPEG-TS: option for keeping streams detected at the beginning then disabled in a an update of the PMT (activated by default)
- MPEG-PS: program_map_section support for uncommon streams embedded in MPEG-PS
- Referenced files (MXF, HLS, MOV, P2, XDCAM...): issues with source name, track order, files size
- MPEG-TS/MPEG-PS: regression, some files with AC-3/DTS/DVD subtitles were not well analyzed anymore
- MPEG-4 channel mapping: Lt and Rt (matrix-encoded) channel mapping were missing
- GXF: handling of buggy files having non-PCM AES3 codec identifier but actually having PCM
- MPEG-4: better support of MPEG-4 files having corrupted metadata atom
- 3529510, EIA/CEA-708: was not detected if the stream was not present at the beginning, thanks to Pete Chapman
Veranderingen voor v0.7.57 - v0.7.58
- Ukrainian translation updated
- AC-3: Little Endian streams support
- LXF: AVC streams support
- ISM: better support
- File referencing other files (HLS, ISM...): menu in case there is more than 1 stream per referenced file
- MPEG-TS: option for keeping streams detected at the beginning then disabled in a an update of the PMT (activated by default)
- MPEG-PS: program_map_section support for uncommon streams embedded in MPEG-PS
- Referenced files (MXF, HLS, MOV, P2, XDCAM...): issues with source name, track order, files size
- MPEG-TS/MPEG-PS: regression, some files with AC-3/DTS/DVD subtitles were not well analyzed anymore
- MPEG-4 channel mapping: Lt and Rt (matrix-encoded) channel mapping were missing
- GXF: handling of buggy files having non-PCM AES3 codec identifier but actually having PCM
- MPEG-4: better support of MPEG-4 files having corrupted metadata atom
- 3529510, EIA/CEA-708: was not detected if the stream was not present at the beginning, thanks to Pete Chapman
Veranderingen voor v0.7.55 - v0.7.57
- Better support of machines lacking of std::stringstream
- Better support of machines requesting explicit stdc++ library link option (e.g. some ARM embedded devices)
- #3515515, MPEG-4: crash with MPEG-4 container + H264/AVC video stream
- #3515393, MPEG Audio: infinite loop (freeze) with some files
- #3514677, Video: Well known 1.85:1 display aspect ratio was incorrectly displayed as 16:9
- #3513908, File interface: No output if filename contain a colon
- #3515893, MPEG-4: some specific files were not detected
- AVI: infinite loop (freeze) with some files (having index containing 0-sized chunk)
- AVC: memory leaks
- libcurl support: libcurl config from MediaInfo is compatible with libcurl+gnutls
- #3515857, CLI only: --LogFile carriage return format was not the one of the OS
Veranderingen voor v0.7.55 - v0.7.56
- Better support of machines lacking of std::stringstream
- Better support of machines requesting explicit stdc++ library link option (e.g. some ARM embedded devices)
- #3515515, MPEG-4: crash with MPEG-4 container + H264/AVC video stream
- #3515393, MPEG Audio: infinite loop (freeze) with some files
- #3514677, Video: Well known 1.85:1 display aspect ratio was incorrectly displayed as 16:9
- #3513908, File interface: No output if filename contain a colon
- #3515893, MPEG-4: some specific files were not detected
- AVI: infinite loop (freeze) with some files (having index containing 0-sized chunk)
- AVC: memory leaks
- libcurl support: libcurl config from MediaInfo is compatible with libcurl+gnutls
- #3515857, CLI only: --LogFile carriage return format was not the one of the OS
Veranderingen voor v0.7.53 - v0.7.54
- Russian translation updated
- #3480111, Matroska: parsing of WebM-style frame rate info
- #3499859, ALAC: parsing of the alac atom, for real bit depth / sample rate
- #3487601, DV: fields order (TFF/BFF)
- MPEG-4: more video 4CCs binded to MPEG Video
- H.263: raw stream parsing (width, height, aspect ratio), comparison with container data
- Speed improvements
- MPEG-PS: supporting parsing of some non-conform files
- Full support of CEA-608 (separation of CC1-CC4, T1-T4)
- #3494722, MPEG-4: trying to detect wrong duration in track header
- MPEG-4 with embedded MXF track (XDCAM...): separation of video bitrate and padding bitrate
- Compound streams (e.g. DV): separation of video bitrate and audio bitrate
- Blu-ray: LPCM mono real bit rate is separated from the encoded (stereo) bit rate
- Support of https, sftp scp protocols (custom builds only)
- AVI: vprp (OpenDML) display aspect ratio support
- File names with non-US characters were sometimes not open
- #3480111, Matroska: some frame rates are incorrect in the file, trying to detect this kind of malformed file
- #3479494, AVC: segmentation fault
- #3440638, AAC: wrong detection for some malformed AAC streams
- #3440638, MPEG-4: wrong analysis of some files having track header after media information
- #3480111, MXF: Height was wrong for MXF with FrameLayout = Mixed fields
- #3468235, Blu-ray: displaying PGS in all cases (even if PES is not detected, they are too much rare)
- #3498846, MPEG-4: delay between audio and video was no more detected
- #3495573, MPEG-4: crash with some files having fragments
- MPEG-4: channel position in case of channel atom is configured with ChannelBitmap
- MPEG-TS: crash with some buggy files (a PID indicated as PSI and PES at the same time)
- AES3: not detecting Dolby E stream if there is guard band before the Dolby E frame, in MPEG-TS
- DPX: some files with some invalid fields were not detected
- DTVCC Captions: crash with some buggy streams