Changes:
- mkvmerge: bug fix: The handling of external timecode files was
still not correct but should be OK now.
- mmg: Added an error message if the user selects 'mmg' as the
'mkvmerge executable' because that would lead to an infinite
number of 'mmg's being spawned.
- mkvmerge: bug fix: If LFE is on for DTS then the number of
channels is one more than what the DTS frame header says.
- mkvmerge: bug fix: Timecodes for Vorbis were wrong on rare
occasions (when reading laced Vorbis from a Matroska file and
changing the lacing, e.g. when splitting for the second and all
following files).
- mkvmerge/mkvinfo/mkvextract: bug fix: The chapter and tag
element tables were not always intialized correctly depending on
the compiler and the optimization flags used.
- mkvmerge: bug fix: The OGM reader was broken if at least one
track was not to be copied from the file (happened between 0.9.5
and 0.9.6).
- mmg: bug fix: After loading saved mmg settings the track input
box listed the tracks always coming from the last input file and
not from the one they really came from.
- mmg: enhancement: Made mmg's main window properly resizable.
- mkvmerge: Rewrote the code for the external timecode files. This
also fixes bug 99: The durations for the individual tracks were
not correct for those tracks for which --timecodes was used.
- mmg: bug fix: Crash when saving chapters from the chapter
editor. Same as the mkvinfo issue below but on all OS.
- mkvinfo: bug fix: The chapter and tag element tables were not
initialized on Windows resulting in a crash when one of those
elements was encountered.
Changes:
- mkvextract: bug fix: The track extraction was creating the
output file twice if the Matroska file contained a copy of the
track headers. This resulted in the first extracted file being
overwritten at the end of extraction.
- mmg: bug fix: If the file title is read from an input file, not
modified by the user and that input file is removed again then the
file title will be unset.
- mkvmerge: enhancement: Converted the raw FLAC reader to use
another interface to the FLAC libraries. This results in a speedup
of up to 50%. Thanks to Josh Coalson for telling me about its
existence.
- mkvmerge: new feature: Added two warnings. One about invalid
track IDs that were used on the command line but that don't
correspond to an available track in a file and one if no track
will be copied from a source file. Both warnings hint at bad
command line arguments.
- mkvmerge: Only write the segment duration as a 64bit float if
there is no video track present. This way users won't have to
update their DirectShow filter/apps for most files. Only
audio-only files need this precision anyway.
- mkvmerge: Changed the Ogg/OGM reader to use the stream number
and not its serial number as the track ID (meaning the track IDs
will be 0, 1, 2... etc. instead of the random numbers oggenc uses
as the serial numbers).
- mkvmerge: new feature: The CUE sheet parser now accepts INDEX
lines with indices from 00 up to 99 and implements the Red Book
specification for audio CDs that way. Patch by Vegard Pettersen
<vegard_p at broadpark adot no>.
- mkvmerge, mkvextract: bug fix: ASS was handled like SSA which is
not correct in each case, especially when extracting it.
- mkvextract: bug fix: The WAV writer was not endian safe.
- mkvmerge: bug fix: The charset was not set correctly on Solaris.
- mkvmerge: bug fix: mkvmerge crashed when reading Matroska files
that contain an empty tag list.
- mkvmerge: bug fix: Some Matroska files that e.g. have had their
timecodes offset with the Matroska Stream Editor or other means
may contain timecodes that caused mkvmerge to print a warning
about "timecode < last_timecode". A new fix implements a
workaround and a warning message with a proper explanation for
this case.
- mkvmerge: bug fix: Older Matroska files containing chapters
caused mkvmerge to abort muxing.
- mkvmerge: bug fix: mkvmerge was only copying the last tag of a
list of tags applying to a track from a Matroska file.
- mkvmerge: bug fix: mkvmerge will show a nice warning if the
entries in a SRT have non-continuous timestamps. It'll also sort
the entries by their start timestamp instead of throwing the
generic "timecode < previous timecode" warning.
- mmg: bug fix: The 'Matroska file analysis' window that occurs
when reading chapters from a Matroska file did not disappear if it
was minimized when the process finished.
- mkvmerge: new feature: Added a new parameter
--aspect-ratio-factor.
- mkvinfo: bug fix: Strings from chapters and tags were shown in
UTF-8 instead of the local charset. This bug was introduced around
2004-08-28.
- mkvmerge: bug fix: Not all chapter elements were copied
correctly from a source Matroska file.
- mkvextract: Sped up the extraction of attachments, chapters,
cuesheets and tags by using the seek head information and not
parsing the full file each time.
- mkvmerge: bug fix: The Matroska reader was not handling very big
cluster timecodes correctly. Those can occur when the timecode
scale factor is very small.
- mkvmerge: bug fix: Empty clusters in Matroska files no longer
make mkvmerge think that file has been read completely.
- mkvmerge: new feature: Added support for MP2 (and maybe MP3)
audio in MP4 containers.
- mkvmerge: new feature: The chapter and tag parsers accept XML
element attributes instead of sub-elements for those sub-elements
that only contain data. Example for a "simple tag":
<Simple Name="ARTIST" String="Tori Amos"/>
- mkvmerge: bug fix: The automatic MIME type detection based on
the file name extension was using the file name extension as the
MIME type.
- mkvmerge, mkvinfo: new feature: Added the four new PixelCrop
elements.
- mkvmerge, mkvextract, mkvinfo: new feature: Added
'TargetTypeValue' as a supported tagging element.
- mkvmerge, mkvextract, mkvinfo: Complete rewrite of the chapter
and tag parsing and output functions. Additions will be much
easier now.
- mkvmerge, mkvextract, mkvinfo: feature removed: Dropped support
for the very old and deprecated tagging system. No one used it
anyway.
- mkvmerge: new feature: Allow the use of two-letter ISO639-1
country codes in for the '--language' parameter. Those will be
converted to the corresponding ISO639-2 language code
automatically.
- mkvmerge, mkvinfo, mkvextract: new feature: Added support for
the 'TargetType' tag element
- mkvmerge: bug fix: The MP3 handling was broken on weird and rare
occasions when reading MP3 from a Matroska file.
- mkvmerge: bug fix: Removed a bogus warning about an attachment's
MIME type having been given more than once.
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
Changes:
- mkvmerge
bug fix: WAV files which contained a 'PAD ' chunk before the
'data' chunk were not processed at all.
bug fix: Use 'setjmp' and 'longjmp' Instead of throwing a C++
exception during the chapter parsing stage. Otherwise
libexpat will abort with a non-descriptive error
message on Windows.
bug fix: SSA/ASS subs with the old codec ID 'S_SSA' and 'S_ASS'
were accepted, but their codec ID was kept. It is now
correctly changed to 'S_TEXT/SSA' and 'S_TEXT/ASS'.
bug fix: Try to guess whether tags read from OGM files (for
automatic language tag setting and for copying chapter
information) are already in UTF-8 or not. If not try
to convert them from the current system's charset.
bug fix: use the same UID for the EditionUID in the chapters
and in the tag targets when parsing a CUE sheet.
bug fix: Handle TTA files with ID3 tags correctly (=skip the ID3
tags).
bug fix: There was an illegal free() in the OGM reader.
bug fix: Block durations with 0s length (e.g. entries in a SSA
file) were not written.
bug fix: The FLAC packetizer gets the duration from the FLAC
packet itself.
bug fix: The word 'TAG' occuring in e.g. SRT subs caused the
ID3/MP3 frame detection to be stuck n an endless loop.
new feature: Abort muxing if the output file name is the same as
the name of one of the input files.
new feature: If there was no MIME type given for an attachment
then mkvmerge will try to guess it based on the file's
extension just like mmg.
new feature: Implemented sample-precision for timestamps and
durations on audio only files.
added: 'EditionUID' to valid elements below '<Targets>' in XML
tags. Fixed the creation of the 'Targets' with
--global-tags and --tags.
- mkvextract
bug fix: The CUE extraction wrote UTF-8 characters but no UTF-8
BOM (byte order marker) at the beginning.
bug fix: The subtitle track extraction used the wrong duration
in 0.9.4.
new feature: Limited support for extracting chapters as CUE sheets
that haven't been created by using a CUE sheet with
mkvmerge's "--chapters" option.
- mkvmerge, mkvinfo, mkvextract
new feature: added support for the new tag elements ('tag language'
and 'default/original language').
new feature: Added support for the new 'EditionFlagHidden',
'EditionFlagDefault' and 'EditionManaged' elements.
- mkvmerge, mkvextract, mmg
Changes to the chapter handling.
EditionUIDs are always created. mkvextract outputs
EditionUIDs and ChapterUIDs normally. mkvmerge tries
to keep EditionUIDs and ChapterUIDs but replaces them
if they aren't unique.
- mkvmerge/mkvextract
new feature: Use the new EditionUID entries when convert CUE sheets
to chapters and tracks. This is in preparation for
'multiple CDs to single Matroska file' conversions.
- mkvinfo, mmg
bug fix: Fixed compilation with Unicode enabled versions of wxWidgets.
- mmg
bug fix: The 'down' button on the 'input' tab was not working
correctly in all cases.
Changes:
- patch-ab no longer needed
0.9.4:
======
- mkvextract: new feature: Added support for extracting TTA tracks
to TTA files.
new feature: Implemented the extraction of chapter
information and tags as a CUE sheet which is
the reverse operation to using a CUE sheet
with mkvmerge's '--chapters' parameter.
- mkvmerge: bug fix: SRT file recognition failed if the file
contained spaces at the end of the first line.
bug fix: Broken VobSub .idx files which contain
timestamps going backwards no longer crash
mkvmerge. A warning will be printed for such
inconsistencies.
bug fix: The Matroska reader contained a nice little
illegal memory access (introduced in 0.9.3 with
the fixes to the 'default track' handling).
bug fix: The SSA reader was segfaulting if a line
contained an empty text field.
bug fix: The CUE sheet parser interpreted a timestamp
as HH:MM:SS (hours, minutes, seconds). The
correct spec is HH:MM:FF (hours, minutes,
frames with 1 frame = 1/75 second).
new feature: The pregap from a CUE sheet is converted
into two sub-chapters (one for "INDEX 00", one
for "INDEX 01"). These sub-chapters have their
'hidden' flag set.
- mkvinfo: bug fix: Fixed compilation for MATROSKA_VERSION = 2.
bug fix: Fixed compilation with gcc 3.2.
- mmg: new feature: Added support for the two flags 'hidden' and
'enabled' in the chapter editor.
Changes:
- add patch to fix compilation when MATROSKA_VERSION is set to 2 or bigger.
Patch sent to Moritz Bunkus and it's fixed in svn repo.
- take MAINTAINERSHIP
0.9.3:
======
- mmg: bug fix: The 'default track' checkbox was broken.
- mkvmerge: bug fix: Using '--cues ...:all' was broken for audio tracks
that use lacing.
bug fix: The latest OpenDML AVI files generated by mencoder
were not read correctly. Only the first RIFF chunk
was processed.
bug fix: The default track feature did not work correctly
with the new --track-order.
new feature: When using a CUE sheet as a chapter file
mkvmerge will automatically convert some of the
entries to tags.
new feature: Added support for TTA lossless audio files.
If the user does not specify a --language for a track 'und'
('undefined') will now be used instead of 'eng'. The user
can use the new option '--default-language' to change that.
Changes:
========
- mkvextract: bug fix: Video extraction was not working correctly
on big endian systems.
- mkvmerge, mmg: new feature: --track-order now controls the track
creation order globally, meaning that it isn't used for each file
but only once. This allows the tracks to be created in ANY order
(before it was first ordered by file, then by track). For mmg this
means that the track list contains all available tracks and that
there are no 'up' and 'down' buttons in the file list anymore.
- mkvmerge: new feature: You can specifiy the time after which to
split with ms precision.
- mkvmerge: bug fix: Fixed more of that 'garbage at the beginning
of MP3 streams' issue.
- mkvmerge: bug fix: Reading of broken / unfinished AVI files was
broken on Windows.
- mmg: Updated the mkvmerge GUI guide to reflect changes and
additions.
- mmg: new feature: Added 'minimize' buttons to the two 'mkvmerge
is running' dialogs.
- mmg: new feature: Added an option for automatically calling
'File -> new' after a job has been added to the job queue.
- mmg: bug fix: The job manager did not always catch all of
mkvmerge's output, especially if a job failed.
- mmg: new feature: Line wrap the tooltips on Windows.
- mmg: new feature: Suggest a name for a new job based on the
output file name.
- mmg: new feature: Temporarily disaable 'always on top' if the
muxing or the job dialog are visible.
- mmg: new feature: Ask for confirmation before adding a job if
there's already an old job with the same description.
- mmg: bug fix: The functions 'move up', 'move down' and 'delete'
in the 'job' dialog were not working correctly on Windows.
- mmg: bug fix: The 'always on top' option was ignored when
starting mmg.
Changes:
- mkvmerge: Dropped supoprt for 'aviclasses' (one of the two
libraries for accessing AVI files). This mostly
affects the Windows users as I've used aviclasses
and not avilib on Windows so far. The 0.9.0-pre-builds
so far haven't shown any problems, though, so I hope
this doesn't break anything.
new feature: mmg will set the 'display dimensions' automatically
for AVI files whose video track is MPEG4 and has the
pixel aspect ratio stored in the bitstream.
bug fix: The improved MP3 garbage detection was broken resulting
in an error message from mkvmerge in some weird
bug fix: Matroska tracks can use lacing (several frames inside
one Matroska block with only one timecode for the whole
block). mkvmerge did not recreate the timecodes for the
frames 1..n in the lacing correctly.
feature removed: Dropped support for 'time slices'. They were not
used, didn't offer the player any additional value and
caused massive increase in overhead.
bug fix: The OGM fix in 0.9.0 broke handling for non-broken OGM
files a bit.
new feature: Added support for the audio/video synchronization
method used by NanDub (garbage at the beginning of audio
tracks inside an AVI) for AC3 and MPEG audio tracks. In
other words: If an AVI is read and an audio track contains
garbage right at the beginning then the corresponding
audio delay is calculated and used instead of simply
discarding the garbage.
new feature: Enabled reading MPEG4 video from MP4 files (nope,
they're not stored in Matroska's native mode yet).
- mmg
bug fix: The job manager did not handle the conversion of non-ASCII
characters correctly.
new feature: The action 'delete job' in the job manager will also
delete the file in the 'jobs' subdirectory.
new feature: Added an option to make mmg stay always on top (only
on Windows).
new feature: Added a dialog for adding arbitrary command line options
which includes a list of advanced options to chose from.
Changes:
- mkvmerge
bug fix: Improved handling for OGM files. Streams that
are lacking the comment packet are handled better.
bug fix: Some MP3 streams are padded in the front with trash
(mostly those in AVI files). This trash might contain
valid MP3 headers which do not match the remaining headers
for the actual track. Both the MP3 reader and the MP3
packetizer can now skip up to one of those bogus headers
in the trash.
bug fix: The OGM reader was not Endian safe.
bug fix: Audio sync for Vorbis was partially broken for positive
offsets.
Rewrite of the VobSub handling code.
- mmg
bug fix: On some occasions the chapter editor thought there was no
language associated with a chapter name and complained
about that.
bug fix: The chapter editor did not honor the values selected for
'country' and 'language'.
Removed the 'advanced' tab. Those options shouldn't be used anyway.