From 07b09e4e3f3bc31b7f3e41c1d5521fe089325677 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Cl=C3=A9ment=20Stenac?= Date: Thu, 27 Jul 2006 20:12:41 +0000 Subject: [PATCH] Add --france / --no-france option to disable DRM playback. CSS is not yet disabled as it is hidden from us by libdvdnav/libdvdplay --- modules/demux/mp4/libmp4.c | 11 ++++++++++- src/libvlc.h | 6 ++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/modules/demux/mp4/libmp4.c b/modules/demux/mp4/libmp4.c index 6d4a2dafbf..5ee0ddf273 100644 --- a/modules/demux/mp4/libmp4.c +++ b/modules/demux/mp4/libmp4.c @@ -2035,8 +2035,16 @@ static int MP4_ReadBox_drms( stream_t *p_stream, MP4_Box_t *p_box ) if( p_drms_box && p_drms_box->data.p_sample_soun->p_drms ) { - int i_ret = drms_init( p_drms_box->data.p_sample_soun->p_drms, + int i_ret; + if( config_GetInt( p_stream, "france" ) ) + { + i_ret = -7; + } + else + { + i_ret= drms_init( p_drms_box->data.p_sample_soun->p_drms, p_box->i_type, p_peek, i_read ); + } if( i_ret ) { char *psz_error; @@ -2049,6 +2057,7 @@ static int MP4_ReadBox_drms( stream_t *p_stream, MP4_Box_t *p_box ) case -4: psz_error = "could not get SCI data"; break; case -5: psz_error = "no user key found in SCI data"; break; case -6: psz_error = "invalid user key"; break; + case -7: psz_error = "you live in France"; break; default: psz_error = "unknown error"; break; } diff --git a/src/libvlc.h b/src/libvlc.h index ffc491095c..3eefed38e7 100644 --- a/src/libvlc.h +++ b/src/libvlc.h @@ -392,6 +392,10 @@ static char *ppsz_align_descriptions[] = "subsystem, such as the DVD or VCD device, the network interface " \ "settings or the subtitle channel.") +#define FRANCE_LONGTEXT N_( \ + "If you live in France, it is not allowed to workaround any Digital " \ + "Restrictions Management measure." ) + #define CR_AVERAGE_TEXT N_("Clock reference average counter") #define CR_AVERAGE_LONGTEXT N_( \ "When using the PVR input (or a very irregular source), you should " \ @@ -1350,6 +1354,8 @@ vlc_module_begin(); set_category( CAT_INPUT ); set_subcategory( SUBCAT_INPUT_GENERAL ); + add_bool( "france", VLC_FALSE, NULL, "France", FRANCE_LONGTEXT, VLC_TRUE ); + set_section( N_( "Track settings" ), NULL ); add_integer( "program", 0, NULL, INPUT_PROGRAM_TEXT, INPUT_PROGRAM_LONGTEXT, VLC_TRUE ); -- 2.39.2