[DVDnav-discuss] [PATCH] src/dvdread/ifo_types.h: fix structure cell_playback_t.
sayurin
magicalsayuri at gmail.com
Wed Jun 3 14:43:52 CEST 2015
Unsigned int bit fields allocate 4bytes. Trancating by __attribute__
((packed)) is only __GNUC__ extension. Other compilers (for example MSVC)
do not work properly because of this size mismatch.
2015年6月2日(火) 23:15 Jean-Baptiste Kempf <jb at videolan.org>:
> This is an ABI break. Why do you need that?
>
> On 02 Jun, sayurin wrote :
> > Structure cell_playback_t is broken because of wrong member size.
> >
> > diff --git a/src/dvdread/ifo_types.h b/src/dvdread/ifo_types.h
> > index 33f0346..8682ab2 100644
> > --- a/src/dvdread/ifo_types.h
> > +++ b/src/dvdread/ifo_types.h
> > @@ -209,16 +209,16 @@ typedef uint8_t pgc_program_map_t;
> > * Cell Playback Information.
> > */
> > typedef struct {
> > - unsigned int block_mode : 2;
> > - unsigned int block_type : 2;
> > - unsigned int seamless_play : 1;
> > - unsigned int interleaved : 1;
> > - unsigned int stc_discontinuity: 1;
> > - unsigned int seamless_angle : 1;
> > + unsigned char block_mode : 2;
> > + unsigned char block_type : 2;
> > + unsigned char seamless_play : 1;
> > + unsigned char interleaved : 1;
> > + unsigned char stc_discontinuity: 1;
> > + unsigned char seamless_angle : 1;
> >
> > - unsigned int playback_mode : 1; /**< When set, enter StillMode
> after
> > each VOBU */
> > - unsigned int restricted : 1; /**< ?? drop out of fastforward?
> */
> > - unsigned int unknown2 : 6;
> > + unsigned char playback_mode : 1; /**< When set, enter StillMode
> > after each VOBU */
> > + unsigned char restricted : 1; /**< ?? drop out of fastforward?
> */
> > + unsigned char unknown2 : 6;
> > uint8_t still_time;
> > uint8_t cell_cmd_nr;
> > dvd_time_t playback_time;
> >
> > --
> > Kurata Sayuri
> > _______________________________________________
> > DVDnav-discuss mailing list
> > DVDnav-discuss at mplayerhq.hu
> > https://lists.mplayerhq.hu/mailman/listinfo/dvdnav-discuss
>
> --
> With my kindest regards,
>
> --
> Jean-Baptiste Kempf
> http://www.jbkempf.com/ - +33 672 704 734
> Sent from my Electronic Device
> _______________________________________________
> DVDnav-discuss mailing list
> DVDnav-discuss at mplayerhq.hu
> https://lists.mplayerhq.hu/mailman/listinfo/dvdnav-discuss
>
More information about the DVDnav-discuss
mailing list