diff --git a/admin-root/config.xml b/admin-root/config.xml
index edc0327b..93f311f9 100644
--- a/admin-root/config.xml
+++ b/admin-root/config.xml
@@ -314,5 +314,12 @@
text
+ -
+ Never Transcode
+
+ Codecs to not transcode, even if plugins are available
+
+ text
+
\ No newline at end of file
diff --git a/src/conf.c b/src/conf.c
index 1eddbd14..aff2572a 100644
--- a/src/conf.c
+++ b/src/conf.c
@@ -123,6 +123,7 @@ static CONF_ELEMENTS conf_elements[] = {
{ 0, 0, CONF_T_STRING,"general","ssc_codectypes" },
{ 0, 0, CONF_T_STRING,"general","ssc_prog" },
{ 0, 0, CONF_T_STRING,"general","password" },
+ { 0, 0, CONF_T_STRING,"general","never_transcode" },
{ 0, 0, CONF_T_MULTICOMMA,"general","compdirs" },
{ 0, 0, CONF_T_STRING,"general","logfile" },
{ 0, 0, CONF_T_EXISTPATH,"plugins","plugin_dir" },
diff --git a/src/plugin.c b/src/plugin.c
index fb7ff126..7351e18f 100644
--- a/src/plugin.c
+++ b/src/plugin.c
@@ -446,12 +446,23 @@ int plugin_ssc_should_transcode(WS_CONNINFO *pwsc, char *codec) {
int result;
char *native_codecs=NULL;
char *user_agent=NULL;
-
+ char *never_transcode = NULL;
+
if(!codec) {
DPRINTF(E_LOG,L_PLUG,"testing transcode on null codec?\n");
return FALSE;
}
+
+ never_transcode = conf_alloc_string("general","never_transcode",NULL);
+ if(never_transcode) {
+ if(strstr(never_transcode,codec)) {
+ free(never_transcode);
+ return FALSE;
+ }
+ free(never_transcode);
+ }
+
if(pwsc) {
/* see if the headers give us any guidance */
native_codecs = ws_getrequestheader(pwsc,"accept-codecs");