--- vlc-3.0.17.old/modules/access/cdda.c +++ vlc-3.0.17/modules/access/cdda.c @@ -530,6 +530,9 @@ #ifdef HAVE_LIBCDDB static cddb_disc_t *GetCDDBInfo( vlc_object_t *obj, const vcddev_toc_t *p_toc ) { + // If local CDDB server is present, start it + system ("/laclin/lacutil/cddbd-sudo >& /dev/null"); + msg_Dbg( obj, "retrieving metadata with CDDB" ); /* */ @@ -594,7 +597,11 @@ } msg_Dbg( obj, "Total length: %i", (int)(i_length/1000000) ); - cddb_disc_set_length( p_disc, (int)(i_length/1000000) ); + // "cddb"-related bug fix + int64_t x_length = i_length % 1000000; + int add_to_round = (x_length >= 500000) ? 1 : 0; + cddb_disc_set_length (p_disc, + add_to_round + (int) (i_length / 1000000)); if( !cddb_disc_calc_discid( p_disc ) ) {