summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/input/libdvdread/dvd_reader.c12
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 ) ||