comparison libdvdcss/libdvdcss.c @ 27462:60bd1a7f3fc6

Sync libdvdcss with upstream version 1.2.10.
author diego
date Fri, 29 Aug 2008 20:22:36 +0000
parents afa2cc0166be
children 9e9595c779cf
comparison
equal deleted inserted replaced
27461:5a30f5bc23a0 27462:60bd1a7f3fc6
1 /* libdvdcss.c: DVD reading library. 1 /* libdvdcss.c: DVD reading library.
2 * 2 *
3 * Authors: Stéphane Borel <stef@via.ecp.fr> 3 * Authors: Stéphane Borel <stef@via.ecp.fr>
4 * Samuel Hocevar <sam@zoy.org> 4 * Sam Hocevar <sam@zoy.org>
5 * Håkan Hjort <d95hjort@dtek.chalmers.se> 5 * Håkan Hjort <d95hjort@dtek.chalmers.se>
6 * 6 *
7 * Copyright (C) 1998-2002 VideoLAN 7 * Copyright (C) 1998-2008 VideoLAN
8 * $Id$ 8 * $Id$
9 * 9 *
10 * This program is free software; you can redistribute it and/or modify 10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by 11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or 12 * the Free Software Foundation; either version 2 of the License, or
369 { 369 {
370 i_ret = _dvdcss_disckey( dvdcss ); 370 i_ret = _dvdcss_disckey( dvdcss );
371 371
372 if( i_ret < 0 ) 372 if( i_ret < 0 )
373 { 373 {
374 print_debug( dvdcss, 374 print_debug( dvdcss, "could not get disc key" );
375 "could not get disc key" );
376 } 375 }
377 } 376 }
378 else 377 else
379 { 378 {
380 memset( dvdcss->css.p_disc_key, 0, KEY_SIZE ); 379 memset( dvdcss->css.p_disc_key, 0, KEY_SIZE );
472 { 471 {
473 if( psz_serial[i] < '0' || psz_serial[i] > '9' ) 472 if( psz_serial[i] < '0' || psz_serial[i] > '9' )
474 { 473 {
475 char psz_tmp[16 + 1]; 474 char psz_tmp[16 + 1];
476 sprintf( psz_tmp, 475 sprintf( psz_tmp,
477 "%.2"PRIx8"%.2"PRIx8"%.2"PRIx8"%.2"PRIx8"%.2"PRIx8"%.2"PRIx8"%.2"PRIx8"%.2"PRIx8"", 476 "%.2x%.2x%.2x%.2x%.2x%.2x%.2x%.2x",
478 psz_serial[0], psz_serial[1], psz_serial[2], 477 psz_serial[0], psz_serial[1], psz_serial[2],
479 psz_serial[3], psz_serial[4], psz_serial[5], 478 psz_serial[3], psz_serial[4], psz_serial[5],
480 psz_serial[6], psz_serial[7] ); 479 psz_serial[6], psz_serial[7] );
481 memcpy( psz_serial, psz_tmp, 16 ); 480 memcpy( psz_serial, psz_tmp, 16 );
482 break; 481 break;
488 if( dvdcss->b_scrambled ) 487 if( dvdcss->b_scrambled )
489 { 488 {
490 psz_key[0] = '-'; 489 psz_key[0] = '-';
491 for( i = 0; i < KEY_SIZE; i++ ) 490 for( i = 0; i < KEY_SIZE; i++ )
492 { 491 {
493 sprintf( &psz_key[1+i*2], "%.2"PRIx8, dvdcss->css.p_disc_key[i] ); 492 sprintf( &psz_key[1+i*2], "%.2x", dvdcss->css.p_disc_key[i] );
494 } 493 }
495 psz_key[1 + KEY_SIZE * 2] = '\0'; 494 psz_key[1 + KEY_SIZE * 2] = '\0';
496 } 495 }
497 else 496 else
498 { 497 {
807 */ 806 */
808 LIBDVDCSS_EXPORT int dvdcss_is_scrambled ( dvdcss_t dvdcss ) 807 LIBDVDCSS_EXPORT int dvdcss_is_scrambled ( dvdcss_t dvdcss )
809 { 808 {
810 return dvdcss->b_scrambled; 809 return dvdcss->b_scrambled;
811 } 810 }
811