diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/input/libdvdread/dvd_reader.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/input/libdvdread/dvd_reader.c b/src/input/libdvdread/dvd_reader.c index a46b47f02..2e87d7ad5 100644 --- a/src/input/libdvdread/dvd_reader.c +++ b/src/input/libdvdread/dvd_reader.c @@ -304,17 +304,23 @@ dvd_reader_t *DVDOpen( const char *path ) if( path == NULL ) return 0; + /* Try to open libdvdcss or fall back to standard functions */ + have_css = dvdinput_setup(); + ret = stat( path, &fileinfo ); if( ret < 0 ) { + + /* maybe "host:port" url? try opening it with acCeSS library */ + if( strchr(path,':') ) { + return DVDOpenImageFile( path, have_css ); + } + /* If we can't stat the file, give up */ fprintf( stderr, "libdvdread: Can't stat %s\n", path ); perror(""); return 0; } - /* Try to open libdvdcss or fall back to standard functions */ - have_css = dvdinput_setup(); - /* First check if this is a block/char device or a file*/ if( S_ISBLK( fileinfo.st_mode ) || S_ISCHR( fileinfo.st_mode ) || |