2.7.0 Final
I have decided to cut a proper versioned release of tsMuxer, as I feel now is the right time to say that development on the project has stopped. I no longer have the time I once had to dedicate to leading the project. I am thankful to everyone who contributed their time, effort and other resources into tsMuxer. If somebody else wants to take up the reins they are free to fork this repository. If there are any resources they need from me please feel free to contact me.
Changelog Since 2.6.16
- update build instructions for Linux, as per issues/3 by @justdan96 in #4
- Enhancement qt5 by @justdan96 in #5
- update for building on linux arm by @markusfeist in #6
- Add rudimentary CMake build system by @qyot27 in #7
- Translate comments from Russian to English by @lighterowl in #13
- Fix build with Clang by @lighterowl in #12
- Enhancement crossbuild by @justdan96 in #15
- Remove condvar, mutex and time from libmediation by @lighterowl in #16
- Completely rework the CMake build system by @lighterowl in #18
- Enhancement crossbuild by @justdan96 in #17
- Fix code which needed -fpermissive on LLP64 platforms by @lighterowl in #20
- Use std::thread in libmediation's TerminatableThread by @lighterowl in #21
- Remove stdafx.{cpp,h} by @lighterowl in #22
- Fix MSYS2 build by @lighterowl in #23
- Enhancement docker build by @justdan96 in #24
- update C++ standard from 11 to 14 by @justdan96 in #25
- Enhancement GitHub actions by @justdan96 in #33
- Correct EAC3 sampling rate and channel parsing by @jcdr428 in #28
- Get rid of MAX_AV_PACKET_SIZE limitation by @jcdr428 in #29
- Correct AAC frame size parsing by @jcdr428 in #30
- Correct H265 Stream_Type by @jcdr428 in #32
- Parse channel number from 'esds' atom by @jcdr428 in #31
- Actions will now fail if a executable isn't produced by @justdan96 in #34
- Bug ac3 parsing by @justdan96 in #35
- check the correct directory for executables by @justdan96 in #36
- use workaround for segfaults with statically-linked builds on Linux by @justdan96 in #38
- Correct EAC3 bitrate info by @jcdr428 in #39
- Enhancement uhd bd v3 by @justdan96 in #46
- Documentation Cleanup and Improvement by @justdan96 in #48
- put the additional parameters into a table by @justdan96 in #49
- WIN32_LEAN_AND_MEAN for Windows built by @jcdr428 in #53
- UHD Fix to tsMuxer.cpp by @jcdr428 in #54
- Correct aac frameSize by @jcdr428 in #51
- Correct UHD video format in MPLS and CLPI by @jcdr428 in #50
- add instructions for each platform by @justdan96 in #55
- Corrected conflict beween min and std::min by @justdan96 in #56
- UHD Fix to muxerManager.cpp by @jcdr428 in #57
- Fix conflict between std::max and windows.h max by @jcdr428 in #62
- enhance the OSX script for tsMuxerGUI to properly create the app bundle by @justdan96 in #68
- Make the GUI look for the main binary under "tsmuxer" and "tsMuxeR" by @lighterowl in #65
- Replace the old QObject::connect syntax with the new one supported since Qt5 by @lighterowl in #64
- Fixes and cleanups by @lighterowl in #66
- add new script files for tsMuxerGUI builds in Docker by @justdan96 in #71
- add 32-bit Windows build script by @justdan96 in #72
- Enhancement nightly build by @justdan96 in #75
- Enhancement nightly build by @justdan96 in #76
- issue fix, we must use Bash for the upload script by @justdan96 in #77
- change the bintray uploads to run on a nightly schedule by @justdan96 in #80
- Use QStandardPaths::findExecutable instead of QFile::exists for finding the main binary by @lighterowl in #79
- Use standard-width types in convertUTF.h by @lighterowl in #73
- add AppImage packaging for tsMuxerGUI on Linux by @justdan96 in #81
- update README to explain nightly builds being uploaded to Bintray by @justdan96 in #82
- fix typo causing nightly builds despite no changes by @justdan96 in #86
- Fix numbers appearing in places where the language code should by @lighterowl in #88
- Patch for UHD HDR10 and HDR10+ by @jcdr428 in #70
- Enought to Enough by @jcdr428 in #91
- Automatic V3 for HEVC by @jcdr428 in #90
- Disable replacing spaces with underscores in the temporary meta file … by @lighterowl in #97
- Set video stream number to 1 by @jcdr428 in #100
- Correct TS Descriptors by @jcdr428 in #92
- Update textSubtitlesRender by @jcdr428 in #102
- Place the main tsMuxeR binary inside AppDir by @lighterowl in #105
- Correct UHD Bluray Folder Behavior by @jcdr428 in #106
- Correct Arrival Time Stamps by @jcdr428 in #101
- Solve HEVC Buffer Overflow Bug by @jcdr428 in #94
- FPS info read from VPS and SPS by @jcdr428 in #113
- Dolby Vision Integration by @jcdr428 in #111
- Correct cpi table for uhd by @jcdr428 in #112
- Fix crashes with invalid font files in /usr/share/fonts by @lighterowl in #116
- Fix HEVC stream info detection in GUI by @jcdr428 in #115
- Update tsmuxerwindow.cpp by @jcdr428 in #119
- Move BD V3 option to Blu-ray tab by @jcdr428 in #120
- Standart to Standard by @jcdr428 in #121
- Set TS video stream_id to 0xe0 by @jcdr428 in #124
- Warning on video format by @jcdr428 in #123
- Revert on change of ATS #101 by @jcdr428 in #125
- Fix fps info by @jcdr428 in #130
- Avoid using the "general" group in QSettings due to QTBUG-28893 by @lighterowl in #135
- Another portion of GUI cleanups by @lighterowl in #134
- Fix wav64 by @jcdr428 in #137
- Change 'famaly' to 'family' in the tsMuxerGUI settings by @justdan96 in #122
- Introduce a uniform formatting style by @lighterowl in #131
- Enhancement: Automatic V3 before muxing by @jcdr428 in #139
- macOS: fix build by @alexls74 in #138
- Fix 3d-plane / PID bug by @jcdr428 in #140
- Add framerates 50, 59.94 & 60 fps by @jcdr428 in #143
- Use the checked out Git revision as app version if building in a Git repository by @lighterowl in #144
- Remove commit 45fbb43 by @jcdr428 in #151
- Update of 4-bit frame_rate_code for PGS by @jcdr428 in #146
- Maximize maxCLL and maxFALL in index.bdmv by @jcdr428 in #147
- Minor changes to GUI by @jcdr428 in #148
- Remove all custom floating-point conversion functions by @lighterowl in #154
- Fix bug 3d-plane / PID part 2 by @jcdr428 in #157
- Fix typos and grammar errors in readme and usage information by @lighterowl in #153
- Bug: 3d-plane not detected in specific cases by @jcdr428 in #159
- Detect audio delay in MKV by @jcdr428 in #160
- Remove 3d-plane info for 2D BD-ROM by @jcdr428 in #163
- Fix bad looking fonts in Linux by @jcdr428 in #162
- Bug: Shorten filename when adding more than two files by @jcdr428 in #169
- Bug: Subtitle PIDs must start at 0x12A0 for HDR by @jcdr428 in #171
- Bug: "Secondary" box greyed out for DTS Express 24bit by @jcdr428 in #173
- For MSYS2 by @abakum in #174
- Bug: correct EAC3+AC3 core bitrate by @jcdr428 in #175
- Bug: subtitle PIDs should start at 0x12A0 for HDR Part 2 by @jcdr428 in #176
- Make the main binary a Unicode application on Windows by @lighterowl in #177
- Use "standard" int main in Windows builds by @lighterowl in #179
- Improve documentation for building MSYS2 GUI by @abakum in #178
- Try using the active code page if conversion from UTF-8 fails by @lighterowl in #181
- Detect UTF-8 in SRT files by @lighterowl in #186
- Implement support for default audio and subtitle tracks when muxing to Blu-ray by @lighterowl in #161
- Get BT.2100/HDR10 info from VUI by @jcdr428 in #189
- Update textSubtitlesRenderFT.cpp by @jcdr428 in #198
- Add Dolby Vision fourCC codes by @jcdr428 in #200
- Ts descriptors by @jcdr428 in #203
- Reading fragmented MP4 by @jcdr428 in #205
- Update Changelog, Update Readme and Add Contributors by @justdan96 in #199
- Fix encoding errors when dealing with SSIF files by @lighterowl in #211
- Don't use POSIX APIs in Windows builds by @lighterowl in #212
- Fix reading MP4 (bug from #205) by @jcdr428 in #207
- [bug]Fix subtitle timestamp by @jcdr428 in #213
- [bug]Incorrect subtitle space in Windows by @jcdr428 in #216
- Support of m4v files by @jcdr428 in #215
- Add a translation file for the GUI, mark (un)translatable content properly by @lighterowl in #196
- tsmuxergui_ru.ts by @abakum in #217
- Enable translation in GUI by @lighterowl in #218
- Remove all usages of std::wstring by @lighterowl in #219
- Update tsmuxergui_ru.ts by @abakum in #220
- Move the contents of the "about" tab to an external file and other GUI improvements by @lighterowl in #221
- Create about_ru.html by @abakum in #223
- punctuation by @abakum in #224
- Simplify TsMuxerWindow::myPlaySound by @lighterowl in #226
- fix the OBS nightly rebuild by @justdan96 in #229
- Fix broken ISO labels when using non-ASCII characters by @lighterowl in #222
- Fix Filename Truncation on Dot by @justdan96 in #230
- update paths in MXE rebuild scripts by @justdan96 in #232
- Always keep M2TS descriptors in TS files by @jcdr428 in #231
- Сhanged address of test file by @abakum in #228
- msys2 by @abakum in #184
- Keep track order on insertion by @stanionascu in #206
- Fix translated strings appearing in the metafile by @lighterowl in #233
- Add a GUI option for adjusting PIP transparency by @lighterowl in #234
- Russian translation of the file selection dialog by @abakum in #235
- Russian translation for transparency and downconvert by @abakum in #237
- Solve repeat bug by @jcdr428 in #244
- Non blu ray dolby vision by @jcdr428 in #243
- Video streams must come first by @jcdr428 in #242
- Correct EAC3 descriptor by @jcdr428 in #246
- Correct MPEG-2 streams Descriptors by @jcdr428 in #245
- Update hevcStreamReader.cpp by @jcdr428 in #248
- Correct DV Profile 4 by @jcdr428 in #250
- [bug] MP4 If no moof, return at first mdat by @jcdr428 in #249
- [Bug] prevent bitstream exception in hevc.cpp by @jcdr428 in #253
- Fix initializing lastDTS by @jcdr428 in #251
- For double video track, DV EL stream type = 0x06 by @jcdr428 in #254
- [bug] SEI nal does not always end by 0x80 by @jcdr428 in #255
- [bug] Fix num_applicable_ops_minus1 size by @jcdr428 in #260
- [bug] Fix Subtitle Delay when concatenating M2ts by @jcdr428 in #263
- [bug] Fix DV profile for single track from Blu-ray by @jcdr428 in #264
- cp tsMuxerGUI bin/ by @abakum in #238
- Correct Eliding of track filenames by @jcdr428 in #266
- [bug] Add H265 to isVideoPID() by @jcdr428 in #265
- [bug] Integration of old Dolby Vision profiles 2, 3 and 6 by @jcdr428 in #269
- [bug] Fix Byte per Bloc info in Wav file by @jcdr428 in #276
- [bug] Fix wav length by @jcdr428 in #277
- [bug] Reinstate HDMV Descriptor for DV track by @jcdr428 in #275
- Investigate building the GUI for Windows XP by @lighterowl in #227
- Fix the "About" tab being empty when the language is not set by @lighterowl in #280
- Fix CLPI files not being read on non-Windows platforms by @lighterowl in #281
- Fix skipbyte 4GB limit by @jcdr428 in #288
- [enhancement] User Select HDMV descriptors by @jcdr428 in #282
- Fix .dts extensions being mistakenly parsed by .ts file parser by @lighterowl in #291
- Fix pixelRate type by @jcdr428 in #294
- Investigate building the project natively on MacOS by @lighterowl in #145
- Fix location of the main binary in native macOS builds by @lighterowl in #297
- [bug] Fix SingleFileMuxer::close by @jcdr428 in #300
- Fix bad file type/extension in .meta save dialog by @lighterowl in #305
- Check for Invalid Characters in Output Filename by @justdan96 in #274
- Revert recent changes regarding directory separators by @lighterowl in #308
- Implement reproducible ISO output by @lighterowl in #309
- Always save settings when closing GUI by @lighterowl in #310
- Reversion on m_lastDTS initialization by @jcdr428 in #314
- Add .dtshd to the list of supported media file extensions by @lighterowl in #315
- Use memmove when buffers can overlap. by @chadady in #319
- Don't use locale-aware conversion when creating split-size meta argument by @lighterowl in #320
- [bug] 4K flag set in non-hdmv mode by @jcdr428 in #322
- Add French translation by @lighterowl in #324
- Correct "General track options" layout by @jcdr428 in #327
- Increase size of detect buffer by @jcdr428 in #330
- Detect tracks from longest playlist by @jcdr428 in #333
- Revert "Detect tracks from longest playlist (#333)" by @lighterowl in #334
- [bug] Precheck Frame Depth by @jcdr428 in #337
- [bug] Precheck frame depth with multi-slice frames by @jcdr428 in #338
- Fix crashes when removing audio/subtitle tracks from the main window by @lighterowl in #340
- Make it possible to add multiple files when clicking "add" by @lighterowl in #339
- Allow selecting multiple files also when clicking "join" by @lighterowl in #341
- Try to fix default audio/subtitle track combo boxes' track descriptions by @lighterowl in #342
- [bug] Detection of coded fields by @jcdr428 in #343
- Changes to Dolby Vision profiles by @jcdr428 in #344
- Initialize VUI variables by @jcdr428 in #345
- [bug] delay in audio tracks by @jcdr428 in #347
- Avoid compiler warning by @jcdr428 in #348
- [bug] Correct DV descriptor by @jcdr428 in #351
- [bug] keep non timing SEIs by @jcdr428 in #352
- Make SEIUnit::m_processedMessages an unordered_set by @lighterowl in #353
- Revert to DV version 1 by @jcdr428 in #355
- Store the window size when closing the program by @lighterowl in #359
- Update track order in metafile when moving up and down by @lighterowl in #361
- Rework conditions based on object names of UI components by @lighterowl in #362
- Use the native MacOS build as the nightly build uploaded to Bintray by @lighterowl in #375
- Add GUI language by @i6henl in #376
- Prefer the currently entered file name when opening the browse dialog by @lighterowl in #378
- Avoid false detection of HEVC by @jcdr428 in #380
- Avoid false detection of HEVC part 2 by @jcdr428 in #381
- Avoid bitstream exceptions in AVC deserializer by @jcdr428 in #382
- Fix warnings in file_unix.cpp by @lighterowl in #383
- Fix HevcHdrUnit declaration by @jcdr428 in #387
- CMake tweaks to make the project more linux packager friendly by @hobbes1069 in #384
- Fix max value of log2_max_mv_length by @jcdr428 in #391
- Fix signed/unsigned mismatch warning messages by @jcdr428 in #385
- [bug] Fix signed/unsigned mismatch in FFMAX by @jcdr428 in #392
- Hopefully fix commit.txt not being updated on Bintray by @lighterowl in #393
- tsMuxerGUI CMakeLists fixes by @nu774 in #394
- Fix an invalid delete error in vc1Parser.h by @lighterowl in #396
- Gitignore for Visual Studio by @jcdr428 in #400
- Nightlies on GitHub by @lighterowl in #399
- [bug] Avoid memory overflow when m_bufEnd not set by @jcdr428 in #412
- [bug] Limit number of pos. or neg. pics by @jcdr428 in #413
- [bug] Division by 0 by @jcdr428 in #421
- [Bug] Buffer overflow with non-hevc stream by @jcdr428 in #422
- [bug] heap buffer overflow when last byte of SEI = 0xFF by @jcdr428 in #425
- [Bug] Incorrect values of VC-1 framerate by @jcdr428 in #429
- [bug] Buffer overflow in getCurVal by @jcdr428 in #438
- [bug] Buffer overflow when SEI payloadSize > bits left by @jcdr428 in #439
- [Bug] infinite loop when blockSize = 0 by @jcdr428 in #442
- Reduce OSXcross Build Dependencies by @justdan96 in #449
- Add VVC Codec by @jcdr428 in #451
- Fix Font updates for Mac by @jcdr428 in #461
- Upgrade to c++17 by @jcdr428 in #464
- Upgrade to MacOS 10.15 by @jcdr428 in #465
- Handle Symlinks When Reading Fonts by @jcdr428 in #466
- [Bug] Incorrect handling of H264 NALS by @jcdr428 in #472
- [Bug] Correct stream_id by @jcdr428 in #473
- fix buffer over flow in HevcSpsUnit::short_term_ref_pic_set by @aug5t7 in #479
- [bug] hdrSize should be uint64_t by @jcdr428 in #480
- [bug] Case when gci_num_reserved_bits > 32 by @jcdr428 in #481
- Remove default font settings from UI XML by @lighterowl in #484
- Use the model-view approach for handling font settings by @lighterowl in #485
- Handle potential sysctl failures more gracefully by @lighterowl in #487
- Use -D_FILE_OFFSET_BITS=64 instead of offset-width-specific functions by @lighterowl in #488
- Qt6 Readiness by @justdan96 in #470
- Split directory.cpp into unix/win32 parts by @lighterowl in #491
- Cleanup CMakeLists.txt a bit and add coverage builds by @lighterowl in #493
- Remove #ifdef apple in order to use std::filesystem by @lighterowl in #492
- [bug] UDF 2.50 SystemStreamDirectory FileType flag by @jcdr428 in #500
- UDF2.50 Named Stream flags by @jcdr428 in #501
- UDF2.5 UniqueID by @jcdr428 in #504
- [Bug] Fix delay rounding by @jcdr428 in #508
- [bug] Fix integer overflow by @jcdr428 in #511
- Fix Buffer Overflow by @jcdr428 in #512
- Fix reading of FPS in VVC SPS by @jcdr428 in #514
- Fix VVC VPS when vps_ols_mode_idc == 2 by @jcdr428 in #516
- Change VVC stream type in HDMV descriptor by @jcdr428 in #517
- Fix VVC Video Descriptor by @jcdr428 in #518
- Fix "uninitialized member variable" compiler warnings by @jcdr428 in #519
- Change enum type to enum class type by @jcdr428 in #520
- Change enum type to enum class type by @jcdr428 in #522
- Simplify MPLS class by @jcdr428 in #523
- Simplify VC1 classes by @jcdr428 in #524
- Simplify dts class by @jcdr428 in #525
- Simplify AC3 Classes by @jcdr428 in #526
- Tidy-up textSubtitles classes by @jcdr428 in #527
- Tidy-up aac class by @jcdr428 in #528
- Tidy-up MOV class by @jcdr428 in #529
- Tidy-up Matroska classes by @jcdr428 in #530
- Tidy-up metaDemuxer class by @jcdr428 in #531
- Prevent compiler warning by @jcdr428 in #532
- Use .ec3 as the extension for Dolby Digital Plus (E-AC3) files by @lighterowl in #534
- Fix isSecondary() Method by @jcdr428 in #535
- Fix incorrect colour value interpretation in the FreeType renderer by @lighterowl in #536
- Use static freetype from Homebrew in MacOS native builds by @lighterowl in #496
- Deallocate file memory + clang format check by @jcdr428 in #546
- Add pure TrueHD codec by @jcdr428 in #547
- Remove unused variables by @jcdr428 in #548
- Small fix by @FRtranslator in #559
- Fixes for failing Mac build by @lighterowl in #565
- Fix #545 by @justdan96 in #566
- MacOS Native Enhancements by @justdan96 in #544
- Fix Nightly Release Uploads by @justdan96 in #569
- Cleanup README.md, add MacStadium logo by @lighterowl in #570
- Move all build/rebuild scripts to "scripts" subdirectory by @lighterowl in #571
- Add German translation courtesy of @Ser-vie by @justdan96 in #584
- Added Hebrew Translation by @TheFlash2k in #581
- replace std::filesystem usage with realpath() by @lighterowl in #588
- Fix broken link to compiling documentation by @quietvoid in #594
- Fix off-by-one error in GraphicsPath::AddString() call by @lighterowl in #601
- Avoid shifting by 32 bits in BitStreamWriter by @lighterowl in #602
- Make language names translatable by @lighterowl in #603
- Fix mp4 delay by @jcdr428 in #619
- Take sub fps from video even when video is not selected by @jcdr428 in #622
- Added Spanish translation! by @adrianlopezgalera in #664
- Typo in my Spanish translation by @adrianlopezgalera in #665
- Added Spanish language to language selector by @adrianlopezgalera in #667
- Spanish translation and compilation error on Windows by @adrianlopezgalera in #670
- fix invalid descriptor problem by @moveman in #685
- Fix PTS error by @moveman in #686
- cosmetics to make clang-format happy by @ValZapod in #691
- another clang-format fix by @ValZapod in #692
- Fix incorrect stream type of EAC3 stream in TS by @moveman in #694
- PAT PMT should better be placed in the beginning of the TS by @moveman in #688
- HEVC: implement skipNal() for HEVC to skip EndOfSeq NAL by @moveman in #719
- Fix casts by @jcdr428 in #735
- Update .gitignore by @gothicVI in #736
- Various changes to textSubtitlesRenderFT by @jcdr428 in #755
- Rename abstractreader.h to abstractReader.h by @jcdr428 in #756
- Fix muxing of HDR DV MKV to BD by @DreckSoft in #782
- fix alloc-dealloc-mismatch by @JP3BGY in #828
- if buff + frameSize is bigger than srcEnd, break before memcpy (movDemuxer.cpp::extractData) by @iwashiira in #838
- heap buffer over-read is found in getLastPCR (programStreamDemuxer.cpp) by @iwashiira in #835
- heap buffer over-read is found in movDemuxer::simpleDemuxBlock by @iwashiira in #840
- fix curPtr buffer over read by @JP3BGY in #843
- fix delete[] track by @JP3BGY in #845
- fix lace_size bof by @JP3BGY in #847
- fix num_track by @JP3BGY in #849
- initialize ctts_count to 0 and shrink ctts_data by @iwashiira in #851
- change skip_bytes size type from int64_t to uint64_t by @iwashiira in #854
- check whether codec_priv_size < 2 or not by @iwashiira in #856
- added size check before calling extractPMTDescriptors by @iwashiira in #860
- PGS demuxing: set DTS equal to PTS for packets with PTS_DTS_flags=0b10 by @cubicibo in #833
- compare memcpy dst address + size to buffer size by @iwashiira in #863
- compare tsPacket->getHeaderSize to TS_FRAME_SIZE by @iwashiira in #864
- added copyLen check by @iwashiira in #868
- Remove fixed issue from README by @mm47608740 in #871
- Fix clang code style check by @jcdr428 in #872
- Fix clang code style check by @jcdr428 in #873
- if a.size > atom.size, then throw by @iwashiira in #876
- check num_tracks bound by @iwashiira in #880
- added check for negative track_id values by @iwashiira in #882
Contributors
- @justdan96 made their first contribution in #4
- @markusfeist made their first contribution in #6
- @qyot27 made their first contribution in #7
- @lighterowl made their first contribution in #13
- @jcdr428 made their first contribution in #28
- @alexls74 made their first contribution in #138
- @abakum made their first contribution in #174
- @stanionascu made their first contribution in #206
- @chadady made their first contribution in #319
- @i6henl made their first contribution in #376
- @hobbes1069 made their first contribution in #384
- @nu774 made their first contribution in #394
- @aug5t7 made their first contribution in #479
- @FRtranslator made their first contribution in #559
- @TheFlash2k made their first contribution in #581
- @quietvoid made their first contribution in #594
- @adrianlopezgalera made their first contribution in #664
- @moveman made their first contribution in #685
- @ValZapod made their first contribution in #691
- @gothicVI made their first contribution in #736
- @DreckSoft made their first contribution in #782
- @JP3BGY made their first contribution in #828
- @iwashiira made their first contribution in #838
- @cubicibo made their first contribution in #833
- @mm47608740 made their first contribution in #871