Commit Graph

3484 Commits

Author SHA1 Message Date
Moritz Bunkus
a08bd93a84 Dismiss the job dialog if the user presses 'return' on Windows, too. 2009-05-23 01:54:15 +02:00
Moritz Bunkus
7085fc9e6c Set the output file name's extension automatically for each file added.
Fixed the behaviour of how mmg sets the output file name automatically
if the option is enabled. If the user adds more than one file then the
extension of the output file name is set each time a file is added and
not only when the first one is. The full file name and path will only
be set when the first file is added.

Fix for bug 391.
2009-05-22 23:49:17 +02:00
Moritz Bunkus
d9ebaa711d Fixed a grammar mistake. 2009-05-22 18:59:32 +02:00
Moritz Bunkus
29ce2003d3 Bumped the version number; set the release code name; added the release message. 2009-05-22 13:34:12 +02:00
Moritz Bunkus
1772dbddb4 Fix for a warning. 2009-05-21 19:59:17 +02:00
Moritz Bunkus
81bff258cc Updates. 2009-05-21 19:30:06 +02:00
Moritz Bunkus
9771b40a14 "make update-po" after directory restructuring. 2009-05-21 12:09:24 +02:00
Moritz Bunkus
f6a4bf6d90 Cleanup: Moved a lot of mmg's source files into subdirectories. 2009-05-21 12:08:39 +02:00
Moritz Bunkus
9fb6d427e5 Run of 'make update-po'; only updates to the line numbers. 2009-05-19 19:26:11 +02:00
Moritz Bunkus
aafdc8ea83 Force the format of po/zh_CW.po and po/zh_TW.po to match what Dean Lee's tool produces.
That way the diffs will be smaller.
2009-05-19 19:25:44 +02:00
Moritz Bunkus
0ba370e9af Updated the 'update-po' target to get strings from the files in src/common/*/*.cpp, too. 2009-05-18 22:43:19 +02:00
Moritz Bunkus
157d05651f Cosmetics due to the "using namespace std" removal patch. 2009-05-18 22:36:19 +02:00
Moritz Bunkus
854e3097dc Removed "using namespace std" from every file. 2009-05-18 21:43:49 +02:00
Moritz Bunkus
7ecada5225 Renamed many files with "common" in their name, and moved a couple ones from src/common to their own subdirectory of that directory. 2009-05-18 11:12:35 +02:00
Moritz Bunkus
9901de53dd Use the samples_to_timecode_converter_c class. 2009-05-17 21:36:47 +02:00
Moritz Bunkus
31355739ba Avoid displaying "100%" twice. 2009-05-17 15:31:24 +02:00
Moritz Bunkus
77c1a37299 Use zh_CN/zh_TW on Windows, too. 2009-05-17 15:22:00 +02:00
Moritz Bunkus
93b06f3a0e Added a translation to Chinese Traditional by Dean Lee (see AUTHORS). 2009-05-17 14:20:42 +02:00
Moritz Bunkus
68968fd997 More of 'renaming po/zh.po to po/zh_CN.po'. 2009-05-17 13:41:56 +02:00
Moritz Bunkus
0d0ea7ace4 Renamed po/zh.po to po/zh_CN.po as a preparation for adding a translation to Traditional Chinese. 2009-05-17 13:37:39 +02:00
Moritz Bunkus
4684ba868e Update to the Simplified Chinese translation. 2009-05-17 13:29:59 +02:00
Moritz Bunkus
d102d760a5 Drop surplus timecodes of dropped frames after flushing the frame queue when converting from VfW to native MPEG-4 part 2 storage.
Fix for bug 236.
2009-05-17 12:14:36 +02:00
Moritz Bunkus
842fdee9ba Honor the '--redirect-output' in the 'chapters', 'cuesheet' and 'tags' extraction modes. 2009-05-16 19:30:05 +02:00
Moritz Bunkus
9cfd365b50 Always write the BOM at the start of the file. 2009-05-16 19:22:44 +02:00
Moritz Bunkus
13d44e0db7 Wrong name for the variable. 2009-05-16 19:07:35 +02:00
Moritz Bunkus
8de10df229 Made the mm_io_c object responsible for standard output globally available. 2009-05-16 19:06:25 +02:00
Moritz Bunkus
5c2dd90f0e Updated the Japanese translation. 2009-05-16 17:40:53 +02:00
Moritz Bunkus
db7e9b9471 Fixed a typo. 2009-05-16 17:40:25 +02:00
Moritz Bunkus
ba82e6bf3e Added the new hack vobsub_subpic_stop_cmds to mmg including a description. 2009-05-16 16:21:05 +02:00
Moritz Bunkus
45e41550b5 Added a hack for adding "stop displaying" commands to certain VobSub subtitle packets.
Patch by Todd Schmuland.

Explanation by Todd Schmuland:

I own a WDTV.  So far it's the only hardware media player that can
handle VobSub subtitles.  It's not perfect however.  One major flaw it
has is not displaying subtitles that have no SPU duration embedded in
them (the cause of the vobsub_reader: Could not extract the duration
for a SPU packet).  The normal behavior a player should do is display
the subtitle frame until the next subtitle is displayed, but the WDTV
simply chooses to not display the subtitle at all.

So I wrote a hack --engage vobsub_subpic_stop_cmds that writes in a
Stop Display command into these packets.  The end result is that the
WDTV displays the subtitles now.  There is a slight flicker if the two
subtitle frames are the same, but it's a lot better than not seeing
the subtitle at all.  Since this is adding SPU content not in the
original VobSub, I used the hacks mechanism to implement it.
Hopefully WD will properly handle VobSub subtitle frames with no Stop
Display command in a future firmware update, but until then I'll use
this hack.
2009-05-16 16:03:57 +02:00
Moritz Bunkus
dbf8e376a2 Split up the files src/common/mpeg4.{h,cpp} and src/output/p_video.{h,cpp} into several ones by topic/type. 2009-05-16 11:39:40 +02:00
Moritz Bunkus
482f91bca2 Set the output file name automatically for each file added as long as it is not changed manually.
Fix for bug 229.
2009-05-15 09:40:22 +02:00
Moritz Bunkus
ecda4f805f Made the comments a bit clearer. 2009-05-14 22:27:20 +02:00
Moritz Bunkus
938d4ead50 Improved support for QuickTime audio tracks with version 2 of the STSD sound descriptor. 2009-05-14 22:09:47 +02:00
Moritz Bunkus
e5cce2b37e Avoid compiler warnings by actually checking the return value of fgets(). 2009-05-14 19:18:27 +02:00
Moritz Bunkus
18c1c8086d Avoid a compiler warning due to glibc having flagged 'nice' with 'warn if return value is ignored'. 2009-05-14 19:15:22 +02:00
Moritz Bunkus
93f826dd4e Enable the "remove all" button if there are files left to be removed. 2009-05-14 09:28:03 +02:00
Moritz Bunkus
2b1b065840 Try to detect invalid padding packet lengths in MPEG program streams.
Patch by Todd Schmuland (see AUTHORS).

His explanation:

I was muxing a DVD and mkvmerge complained about losing sync while
parsing the vob.  I checked to see what was happening and discovered
the length of a 00 00 01 BE padding packet was way too long.  This
resulted in several packets being skipped over and therefore caused a
gap in the resulting mkv.  I've seen this before where the packet
length specified in a 00 00 01 BE padding packet is incorrect.

I've made adjustments to the r_mpeg_ps.cpp code to detect when 00 00
01 BE padding packets have the wrong length specified.  Padding
packets should always fill the gap to the next 2048 (800 hex) page in
the file.  Now the code will detect lengths that are way too long, or
lengths that are just under or just over what they should be, and
correct it.

I also changed it so that with one -v switch, you won't get 100s of
mpeg_ps: parse_packet failed messages anymore.  Adjusted padding
packet lengths will be indicated with one -v switch, but now good 00
00 01 BE padding stream packets and 00 00 01 BF private 2 stream
packets won't be output as failing anymore.

I was finally able to get a good mkv mux of the DVD with the attached
r_mpeg_ps.cpp file.

I just did another DVD and it had a similar bad padding stream packet.
Packet length in vob was 44036 but should only be 1918.  The new
r_mpeg_ps detected and corrected it, whereas the old code would have
skipped (44036-1918)/2048 = ~21 good packets of video/audio.
2009-05-14 09:20:39 +02:00
Moritz Bunkus
9f3672eda8 Updated the simplified Chinese translation. 2009-05-14 09:12:32 +02:00
Moritz Bunkus
9a52aab580 Only print the "chapter charset missing" warning if the title or chapter information is actually used. 2009-05-14 09:11:48 +02:00
Moritz Bunkus
df9ef4005d Allow the use of the 'no chapters' checkbox for OGM files, too. 2009-05-14 08:59:12 +02:00
Moritz Bunkus
0b981e9ae3 Fixed a small memory leak. 2009-05-13 22:53:02 +02:00
Moritz Bunkus
f9dd69c1f3 Updated the Japanese translation. 2009-05-13 22:06:11 +02:00
Moritz Bunkus
2c5d10a971 Enable the "no chapters" checkbox for MP4 files as well. 2009-05-13 20:25:58 +02:00
Moritz Bunkus
8c7d0a737b The VobSub extraction was made more compatible with most applications.
Fix for bug 245. Patch by Todd Schmuland (see AUTHORS).

Explanation from Todd:

I tried using mkvextract to get VobSub tracks out of a mkv to make sure I
muxed in the correct subtitle stream.  What I noticed is that programs like
Subtitle Creator and VobSubStrip would error out on one particular sub file.
 After looking into it, the issue is in how mkvextract handles padding
lengths of 1 to 7.

There are two methods, the one mkvextract currently uses is to use the 00 00
01 BA packet where the 3 least significant bits of the last header byte
indicate how many padding FF bytes follow. There's nothing wrong with this,
however, many programs don't decode this properly and error out since they
are expecting the next bytes to be 00 00 01.

The other method is to pad the 00 00 01 BD packet header with FF bytes and
simply increase the header length byte to include the pad count.  For
example where padding = 5:
method 1
00 00 01 BA 44 32 4C 46 44 01 01 89 C3 FD FF FF FF FF FF
00 00 01 BD 07 E7 81 80 05 21 0C 93 11 91 <payload>

becomes

method 2
00 00 01 BA 44 32 4C 46 44 01 01 89 C3 F8
00 00 01 BD 07 EC 81 80 0A 21 0C 93 11 91 FF FF FF FF FF <payload>

Notice the 00 00 01 BD total packet length increased from 07E7 to 07EC and
the packet header length increased from 05 to 0A.  The benefit of this is
that the 00 00 01 BD header length includes the pad length with no
additional work by a program's decoder, so the SUB file is always properly
parsed while decoding.  In fact the DVD this particular VobSub came from
used method 2.
2009-05-13 20:02:19 +02:00
Moritz Bunkus
51308541ce Fixed wrong UTF8 char in name. 2009-05-13 19:59:28 +02:00
Moritz Bunkus
844d2fe3f6 Fixed support for code pages not supported by iconv on Windows.
Some Windows installation use code pages as its ANSI code page
that are not supported by the iconv library (e.g. code page 720).
These have to be converted using Windows' own MultiByteToWideChar
and WideCharToMultiByte functions.

Fix for bug 376.
2009-05-13 19:18:30 +02:00
Moritz Bunkus
a990d120d1 Fix compilation with mingw. 2009-05-13 18:01:33 +02:00
Moritz Bunkus
10e3b7f152 Missing initialization. 2009-05-13 17:58:09 +02:00
Moritz Bunkus
5247e44d2f Cosmetics. 2009-05-13 14:06:11 +02:00