This series contain fixes for winedump for debug information:
- it fixes a bunch of incorrect information dumping,
- it fixes a case of crash for .DBG files,
- it allows dumping very large PDB files (>4G)
Note: for the later item, current tools' read_file() doesn't work with
such large files.
Instead of fixing read_file(), I opted for letting a dumper for a
given file format to only use a fd to the target file, instead of
forcing all dumpers to work from a full in-memory image of the target
file. This is useful for PDB files, as their underlying storage
requires to reassemble non-contiguous blocks, so this saves memory
(the in-memory image of the target file) and one copy of the whole file.
This means that all functions to guess the file format now uses a fd
instead of the full image.
--
v3: tools/winedump: Support dumping large PDB files (>4G).
winedump,dbghelp: Remove flexible array member from PDB JG header.
tools/winedump: Support more than 64K files in PDB DBI module source substream.
tools/winedump: Don't miss hash entries in PDB files.
tools/winedump: Don't miss PDB_SYMBOL_RANGE* in PDB files.
tools/winedump: Use correct field when dumping CodeView symbols.
tools/winedump: Use correct computation for first section out of a .DBG file.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7212
This MR adds tests to `mfplat` to illustrate the timestamp values output on the samples for the respective Byte Stream handlers.
I have also included a fix for a bug in `winegstreamer` (and copied to `mfsrcsnk`) where a `NULL` value for the `pguidTimeFormat` parameter in `IMFMediaSource::Start` causes a segmentation fault. On Windows this is allowed. It is included in this MR as the `mfplat` tests pass NULL (so without this fix, the tests crash).
--
v3: mfplat/tests: Add tests for Byte Stream Timestamps.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7569
This MR adds tests to `mfplat` to illustrate the timestamp values output on the samples for the respective Byte Stream handlers.
I have also included a fix for a bug in `winegstreamer` (and copied to `mfsrcsnk`) where a `NULL` value for the `pguidTimeFormat` parameter in `IMFMediaSource::Start` causes a segmentation fault. On Windows this is allowed. It is included in this MR as the `mfplat` tests pass NULL (so without this fix, the tests crash).
--
v2: mfplat/tests: Add tests for Byte Stream Timestamps.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7569
This MR adds tests to `mfplat` to illustrate the timestamp values output on the samples for the respective Byte Stream handlers.
I have also included a fix for a bug in `winegstreamer` (and copied to `mfsrcsnk`) where a `NULL` value for the `pguidTimeFormat` parameter in `IMFMediaSource::Start` causes a segmentation fault. On Windows this is allowed. It is included in this MR as the `mfplat` tests pass NULL (so without this fix, the tests crash).
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7569
Based on top of tests MR !7125.
--
v2: mfreadwrite: Implement IMFSinkWriterEx.
mfreadwrite: Implement create_transform.
mfreadwrite: Implement sink_writer_SetInputMediaType.
mfreadwrite: Rename update_media_type_from_upstream and make it non-static.
mfreadwrite: Use a transform array for writer.
mfreadwrite/tests: Test sample processing for mp4 sink writer.
mfreadwrite/tests: Test getting transforms from mp4 sink writer.
mfreadwrite/tests: Test AddStream and SetInputMediaType for mp4 sink writer.
mfreadwrite/tests: Remove trivial if.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7160