diff options
Diffstat (limited to 'src/input/input_cdda.c')
-rw-r--r-- | src/input/input_cdda.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/input/input_cdda.c b/src/input/input_cdda.c index c0a0fabed..46f6eb737 100644 --- a/src/input/input_cdda.c +++ b/src/input/input_cdda.c @@ -60,6 +60,7 @@ /* libavutil from FFmpeg */ #include <base64.h> +#include <sha1.h> #define LOG_MODULE "input_cdda" #define LOG_VERBOSE @@ -67,7 +68,6 @@ #define LOG */ -#include "sha1.h" #include "xine_internal.h" #include "xineutils.h" #include "input_plugin.h" @@ -1932,8 +1932,8 @@ static unsigned long _cdda_calc_cddb_id(cdda_input_plugin_t *this) { */ static void _cdda_cdindex(cdda_input_plugin_t *this, cdrom_toc *toc) { char temp[10]; - SHA_INFO sha; - unsigned char digest[33]; + struct AVSHA1 *sha_ctx = malloc(av_sha1_size); + unsigned char digest[20]; /* We're going to encode 20 bytes in base64, which will become * 6 * 32 / 8 = 24 bytes. * libavutil's base64 encoding functions, though, wants the size to @@ -1941,29 +1941,29 @@ static void _cdda_cdindex(cdda_input_plugin_t *this, cdrom_toc *toc) { */ char base64[39]; int i; - unsigned long size; - sha_init(&sha); + av_sha1_init(sha_ctx); sprintf(temp, "%02X", toc->first_track); - sha_update(&sha, (unsigned char*) temp, strlen(temp)); + av_sha1_update(sha_ctx, (unsigned char*) temp, strlen(temp)); sprintf(temp, "%02X", toc->last_track - toc->ignore_last_track); - sha_update(&sha, (unsigned char*) temp, strlen(temp)); + av_sha1_update(sha_ctx, (unsigned char*) temp, strlen(temp)); sprintf (temp, "%08X", toc->leadout_track.first_frame);// + 150); - sha_update(&sha, (unsigned char*) temp, strlen(temp)); + av_sha1_update(sha_ctx, (unsigned char*) temp, strlen(temp)); for (i = toc->first_track; i <= toc->last_track - toc->ignore_last_track; i++) { sprintf(temp, "%08X", toc->toc_entries[i - 1].first_frame); - sha_update(&sha, (unsigned char*) temp, strlen(temp)); + av_sha1_update(sha_ctx, (unsigned char*) temp, strlen(temp)); } for (i = toc->last_track - toc->ignore_last_track + 1; i < 100; i++) { - sha_update(&sha, (unsigned char*) temp, strlen(temp)); + av_sha1_update(sha_ctx, (unsigned char*) temp, strlen(temp)); } - sha_final(digest, &sha); + av_sha1_final(sha_ctx, digest); + free(sha_ctx); av_base64_encode(base64, 39, digest, 20); |