Project

General

Profile

libcdio-v2.patch

John Lindgren, January 09, 2013 02:32

View differences:

src/cdaudio-ng/cdaudio-ng.c
26 26
#include <cdio/cdio.h>
27 27
#include <cdio/cdtext.h>
28 28
#include <cdio/track.h>
29
#include <cdio/cdda.h>
30 29
#include <cdio/audio.h>
31 30
#include <cdio/sector.h>
32 31
#include <cdio/cd_types.h>
33 32

  
33
#if LIBCDIO_VERSION_NUM >= 90
34
#include <cdio/paranoia/cdda.h>
35
#else
36
#include <cdio/cdda.h>
37
#endif
38

  
34 39
/* libcdio's header files #define these */
35 40
#undef PACKAGE
36 41
#undef PACKAGE_BUGREPORT
......
269 274
                                 const char * performer, const char * name,
270 275
                                 const char * genre)
271 276
{
272
    g_strlcpy (t->performer, performer, DEF_STRING_LEN);
273
    g_strlcpy (t->name, name, DEF_STRING_LEN);
274
    g_strlcpy (t->genre, genre, DEF_STRING_LEN);
277
    g_strlcpy (t->performer, performer ? performer : "", DEF_STRING_LEN);
278
    g_strlcpy (t->name, name ? name : "", DEF_STRING_LEN);
279
    g_strlcpy (t->genre, genre ? genre : "", DEF_STRING_LEN);
275 280
}
276 281

  
277 282
/* thread safe (mutex may be locked) */
......
622 627
    }
623 628

  
624 629
    /* get trackinfo[0] cdtext information (the disc) */
630
    cdtext_t *pcdtext = NULL;
625 631
    if (aud_get_bool ("CDDA", "use_cdtext"))
626 632
    {
627 633
        AUDDBG ("getting cd-text information for disc\n");
628
        cdtext_t *pcdtext = cdio_get_cdtext (pcdrom_drive->p_cdio, 0);
634
#if LIBCDIO_VERSION_NUM >= 90
635
        pcdtext = cdio_get_cdtext (pcdrom_drive->p_cdio);
636
        if (pcdtext == NULL)
637
#else
638
        pcdtext = cdio_get_cdtext (pcdrom_drive->p_cdio, 0);
629 639
        if (pcdtext == NULL || pcdtext->field[CDTEXT_TITLE] == NULL)
640
#endif
630 641
        {
631 642
            AUDDBG ("no cd-text available for disc\n");
632 643
        }
633 644
        else
634 645
        {
635 646
            cdaudio_set_strinfo (&trackinfo[0],
636
                                 pcdtext->field[CDTEXT_PERFORMER] ? pcdtext->
637
                                 field[CDTEXT_PERFORMER] : "",
638
                                 pcdtext->field[CDTEXT_TITLE] ? pcdtext->
639
                                 field[CDTEXT_TITLE] : "",
640
                                 pcdtext->field[CDTEXT_GENRE] ? pcdtext->
641
                                 field[CDTEXT_GENRE] : "");
647
#if LIBCDIO_VERSION_NUM >= 90
648
                                 cdtext_get(pcdtext, CDTEXT_FIELD_PERFORMER, 0),
649
                                 cdtext_get(pcdtext, CDTEXT_FIELD_TITLE, 0),
650
                                 cdtext_get(pcdtext, CDTEXT_FIELD_GENRE, 0));
651
#else
652
                                 pcdtext->field[CDTEXT_PERFORMER],
653
                                 pcdtext->field[CDTEXT_TITLE],
654
                                 pcdtext->field[CDTEXT_GENRE]);
655
#endif
642 656
        }
643 657
    }
644 658

  
......
646 660
    bool_t cdtext_was_available = FALSE;
647 661
    for (trackno = firsttrackno; trackno <= lasttrackno; trackno++)
648 662
    {
649
        cdtext_t *pcdtext = NULL;
663
#if LIBCDIO_VERSION_NUM < 90
650 664
        if (aud_get_bool ("CDDA", "use_cdtext"))
651 665
        {
652 666
            AUDDBG ("getting cd-text information for track %d\n", trackno);
......
657 671
                pcdtext = NULL;
658 672
            }
659 673
        }
674
#endif
660 675

  
661 676
        if (pcdtext != NULL)
662 677
        {
663 678
            cdaudio_set_strinfo (&trackinfo[trackno],
664
                                 pcdtext->field[CDTEXT_PERFORMER] ? pcdtext->
665
                                 field[CDTEXT_PERFORMER] : "",
666
                                 pcdtext->field[CDTEXT_TITLE] ? pcdtext->
667
                                 field[CDTEXT_TITLE] : "",
668
                                 pcdtext->field[CDTEXT_GENRE] ? pcdtext->
669
                                 field[CDTEXT_GENRE] : "");
679
#if LIBCDIO_VERSION_NUM >= 90
680
                                 cdtext_get(pcdtext, CDTEXT_FIELD_PERFORMER, trackno),
681
                                 cdtext_get(pcdtext, CDTEXT_FIELD_TITLE, trackno),
682
                                 cdtext_get(pcdtext, CDTEXT_FIELD_GENRE, trackno));
683
#else
684
                                 pcdtext->field[CDTEXT_PERFORMER],
685
                                 pcdtext->field[CDTEXT_TITLE],
686
                                 pcdtext->field[CDTEXT_GENRE]);
687
#endif
670 688
            cdtext_was_available = TRUE;
671 689
        }
672 690
        else