Skip to content
Snippets Groups Projects

do not rely on packed structures

Open Steve Lhomme requested to merge robUx4/libdvdread:go-packers into master

Clang on Windows doesn't support the GCC type of packing. And even though we shouldn't read structures right away in memory. We also cannot rely on -mno-ms-bitfields as some project may require it (VLC on Windows or any project mixing libdvdread and Windows code).

Tested successfully with a disc that crashed before in VLC, used via libdvdnav.

Fixes #19

Edited by Steve Lhomme

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Steve Lhomme changed title from Draft: do not rely on packer structures to Draft: do not rely on packed structures

    changed title from Draft: do not rely on packer structures to Draft: do not rely on packed structures

  • Steve Lhomme added 30 commits

    added 30 commits

    • f7442a37 - avoid reading the next byte ahead
    • 0c26b845 - add defines for some packed structure sizes
    • ad542b0f - ifo_read: use packed size when reading bytes
    • 1cf599f5 - ifo_read: remove unused variable write
    • 264e0095 - ifo_read: read structures via a buffer reader
    • 4274bd95 - ifo_read: read the VMG using the buffer reader
    • a5f28e05 - ifo_read: read the PGC using the buffer reader
    • 85c9a1e0 - ifo_read: read the PGC Command Table using the buffer reader
    • dbf91bdd - ifo_read: read the Title SPRT using the buffer reader
    • 56a7e3ba - ifo_read: read the PGCI UT using the buffer reader
    • 819c2027 - ifo_read: read the PGCIT data using the buffer reader
    • fb74d276 - ifo_read: read the VTS using the buffer reader
    • 89fa2937 - ifo_read: read the PGC program map using the buffer reader
    • 07f5724c - ifo_read: read the Cell Position Table using the buffer reader
    • 362b121b - ifo_read: read the PTT SRPT program map using the buffer reader
    • 5cccc592 - ifo_read: read the PTL MAIT program map using the buffer reader
    • 836442e6 - ifo_read: read the TMAP Table program map using the buffer reader
    • a53fff22 - ifo_read: read the ADT program map using the buffer reader
    • 00f160eb - ifo_read: read the VOBU ADMAP program map using the buffer reader
    • de88ca5a - ifo_read: read the VTS Attributes program map using the buffer reader
    • caa74a6a - ifo_read: read the ATRT program map using the buffer reader
    • 29777fd2 - ifo_read: read the TXTDT program map using the buffer reader
    • 24283738 - remove dead code
    • 24707018 - ifo_types: do not pack IFO structures
    • 9329251d - nav_types: do not pack IFO structures
    • 3c26f73e - ifo_types: remove all structure packing
    • 1df15499 - ifo_read: use a helper function to read into a buf_reader
    • 5b40bb7c - ifo_read: use a stack-allocated buffer for fixed size buffer reading
    • 002c6177 - ifo_read: read dynamic size structures in an allocated buffer
    • 74323378 - ifo_read: rework the TTU PGCN/PGN reading

    Compare with previous version

  • Steve Lhomme added 1 commit

    added 1 commit

    • 9ec0cbdc - ifo_read: rework the TTU PGCN/PGN reading

    Compare with previous version

  • Steve Lhomme added 32 commits

    added 32 commits

    • 32aeed4b - 1 commit from branch videolan:master
    • 2bd40975 - bitreader: Add a minimal test
    • 65cbc646 - avoid reading the next byte ahead
    • a67e9fdc - add defines for some packed structure sizes
    • 58b01670 - ifo_read: use packed size when reading bytes
    • b41faeb7 - ifo_read: remove unused variable write
    • 8c6d5e21 - ifo_read: read structures via a buffer reader
    • c7c9d740 - ifo_read: read the VMG using the buffer reader
    • 95169baf - ifo_read: read the PGC using the buffer reader
    • 96b1ac09 - ifo_read: read the PGC Command Table using the buffer reader
    • 7b4056f3 - ifo_read: read the Title SPRT using the buffer reader
    • 8af18028 - ifo_read: read the PGCI UT using the buffer reader
    • cf351453 - ifo_read: read the PGCIT data using the buffer reader
    • 66b06b89 - ifo_read: read the VTS using the buffer reader
    • 29cb99d9 - ifo_read: read the PGC program map using the buffer reader
    • 099ba823 - ifo_read: read the Cell Position Table using the buffer reader
    • 0b2eedd3 - ifo_read: read the PTT SRPT program map using the buffer reader
    • 327324c0 - ifo_read: read the PTL MAIT program map using the buffer reader
    • 7fce21de - ifo_read: read the TMAP Table program map using the buffer reader
    • 10ddebcd - ifo_read: read the ADT program map using the buffer reader
    • de581df1 - ifo_read: read the VOBU ADMAP program map using the buffer reader
    • c27315d8 - ifo_read: read the VTS Attributes program map using the buffer reader
    • cefc20f1 - ifo_read: read the ATRT program map using the buffer reader
    • f739decb - ifo_read: read the TXTDT program map using the buffer reader
    • 4b72ba96 - remove dead code
    • 211f5684 - ifo_types: do not pack IFO structures
    • b2d22feb - nav_types: do not pack IFO structures
    • e89aa548 - ifo_types: remove all structure packing
    • 9590e65d - ifo_read: use a helper function to read into a buf_reader
    • 154acb67 - ifo_read: use a stack-allocated buffer for fixed size buffer reading
    • 67b8a992 - ifo_read: read dynamic size structures in an allocated buffer
    • 25202c41 - ifo_read: rework the TTU PGCN/PGN reading

    Compare with previous version

  • Steve Lhomme mentioned in merge request !31

    mentioned in merge request !31

  • Steve Lhomme added 4 commits

    added 4 commits

    • 8dee4c7a - ifo_read: use a stack-allocated buffer for fixed size buffer reading
    • c8f6a213 - ifo_read: read dynamic size structures in an allocated buffer
    • 844b0be3 - ifo_read: rework the TTU PGCN/PGN reading
    • 37ede6d4 - ifo_types: remove zero values we don't read anymore

    Compare with previous version

  • Steve Lhomme changed the description

    changed the description

  • Steve Lhomme added 36 commits

    added 36 commits

    • 37ede6d4...f6774c38 - 6 commits from branch videolan:master
    • a627cbc8 - add defines for some packed structure sizes
    • 8ec04438 - ifo_read: use packed size when reading bytes
    • 15f91c76 - ifo_read: remove unused variable write
    • 5ebb07f0 - ifo_read: read structures via a buffer reader
    • 20e00865 - ifo_read: read the VMG using the buffer reader
    • 9c23bf91 - ifo_read: read the PGC using the buffer reader
    • b95aca1e - ifo_read: read the PGC Command Table using the buffer reader
    • 7dd0d662 - ifo_read: read the Title SPRT using the buffer reader
    • 89012a94 - ifo_read: read the PGCI UT using the buffer reader
    • b197c56e - ifo_read: read the PGCIT data using the buffer reader
    • 7d75698a - ifo_read: read the VTS using the buffer reader
    • 8d5db9bc - ifo_read: read the PGC program map using the buffer reader
    • eb497d09 - ifo_read: read the Cell Position Table using the buffer reader
    • ea8f35c7 - ifo_read: read the PTT SRPT program map using the buffer reader
    • b089f144 - ifo_read: read the PTL MAIT program map using the buffer reader
    • 55a28776 - ifo_read: read the TMAP Table program map using the buffer reader
    • a62f0ddc - ifo_read: read the ADT program map using the buffer reader
    • ff67c521 - ifo_read: read the VOBU ADMAP program map using the buffer reader
    • e8f37df6 - ifo_read: read the VTS Attributes program map using the buffer reader
    • 0200747c - ifo_read: read the ATRT program map using the buffer reader
    • 71021dec - ifo_read: read the TXTDT program map using the buffer reader
    • 90b365ce - remove dead code
    • 46c326ea - ifo_types: do not pack IFO structures
    • ea5f5c01 - nav_types: do not pack IFO structures
    • fdda51c1 - ifo_types: remove all structure packing
    • 26ff4052 - ifo_read: use a helper function to read into a buf_reader
    • de33794e - ifo_read: use a stack-allocated buffer for fixed size buffer reading
    • 700678fb - ifo_read: read dynamic size structures in an allocated buffer
    • 5db2bf1a - ifo_read: rework the TTU PGCN/PGN reading
    • f0d73952 - ifo_types: remove zero values we don't read anymore

    Compare with previous version

  • Steve Lhomme marked this merge request as ready

    marked this merge request as ready

  • Steve Lhomme changed the description

    changed the description

  • Steve Lhomme added 34 commits

    added 34 commits

    • f0d73952...0e020921 - 4 commits from branch videolan:master
    • 11185527 - add defines for some packed structure sizes
    • f9d96196 - ifo_read: use packed size when reading bytes
    • 3c79e6fb - ifo_read: remove unused variable write
    • 9184c308 - ifo_read: read structures via a buffer reader
    • c3e715b5 - ifo_read: read the VMG using the buffer reader
    • c40cb6d5 - ifo_read: read the PGC using the buffer reader
    • 7d373f4e - ifo_read: read the PGC Command Table using the buffer reader
    • 603df6ee - ifo_read: read the Title SPRT using the buffer reader
    • bef62d39 - ifo_read: read the PGCI UT using the buffer reader
    • 6e1397de - ifo_read: read the PGCIT data using the buffer reader
    • 937a1df2 - ifo_read: read the VTS using the buffer reader
    • 057294a7 - ifo_read: read the PGC program map using the buffer reader
    • b56df745 - ifo_read: read the Cell Position Table using the buffer reader
    • 108a87f1 - ifo_read: read the PTT SRPT program map using the buffer reader
    • 093beca2 - ifo_read: read the PTL MAIT program map using the buffer reader
    • 0e714752 - ifo_read: read the TMAP Table program map using the buffer reader
    • e4963e0d - ifo_read: read the ADT program map using the buffer reader
    • 099975cb - ifo_read: read the VOBU ADMAP program map using the buffer reader
    • 59987205 - ifo_read: read the VTS Attributes program map using the buffer reader
    • e940f37a - ifo_read: read the ATRT program map using the buffer reader
    • 53e51d58 - ifo_read: read the TXTDT program map using the buffer reader
    • e530b205 - remove dead code
    • daa22857 - ifo_types: do not pack IFO structures
    • cc1a138b - nav_types: do not pack IFO structures
    • e51efdac - ifo_types: remove all structure packing
    • 47076fa4 - ifo_read: use a helper function to read into a buf_reader
    • 62570786 - ifo_read: use a stack-allocated buffer for fixed size buffer reading
    • 520ff6dc - ifo_read: read dynamic size structures in an allocated buffer
    • 18bddb42 - ifo_read: rework the TTU PGCN/PGN reading
    • 8c778de9 - ifo_types: remove zero values we don't read anymore

    Compare with previous version

  • Steve Lhomme mentioned in merge request libdvdnav!29

    mentioned in merge request libdvdnav!29

  • Steve Lhomme changed the description

    changed the description

  • Author Contributor

    Can we do a release candidate or something like that so we can start testing in VLC ? @jbk

    Alternatively I could point VLC 4.0 to this branch and libdvdnav to !31 so we can use the code on systems where we use our own contribs.

  • Steve Lhomme added 39 commits

    added 39 commits

    • 8c778de9...ba2227bb - 9 commits from branch videolan:master
    • ba2227bb...ee9885ef - 20 earlier commits
    • ffb2c0d5 - ifo_read: read the TXTDT program map using the buffer reader
    • 00ce91b9 - remove dead code
    • 17e7ceef - ifo_types: do not pack IFO structures
    • 11d9e5d2 - nav_types: do not pack IFO structures
    • f89bad87 - ifo_types: remove all structure packing
    • ca0ae32c - ifo_read: use a helper function to read into a buf_reader
    • f9744672 - ifo_read: use a stack-allocated buffer for fixed size buffer reading
    • 6d4bd366 - ifo_read: read dynamic size structures in an allocated buffer
    • 84314819 - ifo_read: rework the TTU PGCN/PGN reading
    • e5c0fd6d - ifo_types: remove zero values we don't read anymore

    Compare with previous version

Please register or sign in to reply
Loading