]> git.sesse.net Git - vlc/commitdiff
* Upgraded version number to 0.2.61. Release is today.
authorSam Hocevar <sam@videolan.org>
Fri, 16 Feb 2001 09:25:04 +0000 (09:25 +0000)
committerSam Hocevar <sam@videolan.org>
Fri, 16 Feb 2001 09:25:04 +0000 (09:25 +0000)
 * Fixed package building (both RPMs and .debs).
 * Fixed `make snapshot' rule.
 * Added some magic to filename detection. To read a DVD you now just
   need to run 'vlc dvd:/dev/hdc' for instance. Same for file:// URIs.
 * Fixed a segfault in the slider when no stream was playing.
 * Made the slider go from 0 to 100 (instead of 99 :)
 * The vlc now doesn't exit when finished playing. As a side effect of
   the playlist code being very recent, it continuously loops.

15 files changed:
Makefile.in
configure
configure.in
debian/changelog
debian/control
debian/rules
plugins/dvd/input_dvd.c
plugins/gnome/gnome_callbacks.c
plugins/gnome/gnome_interface.c
plugins/gnome/intf_gnome.glade
plugins/mpeg/input_ps.c
plugins/mpeg/input_ts.c
src/input/input.c
src/interface/interface.c
vlc.spec

index f39044a125f46762e362881a98eafa91dcf04cdb..3f0ce12ea8ab1993e86a6ec64ed227b6ae7e9685 100644 (file)
@@ -493,29 +493,29 @@ snapshot:
        mv /tmp/vlc-@VLC_VERSION@.tar.gz /tmp/vlc-@VLC_VERSION@.tar.bz2 ..
 
        # removing CSS stuff
-       find /tmp/vlc-@VLC_VERSION@ -type f -name '*css*' | xargs rm -f
-       for x in Makefile.in src/input/input_dvd.c src/input/input_dvd.h ; do \
-       rm -f /tmp/vlc-@VLC_VERSION@/$$x ; \
-       perl -ne 'if (/^#e(lse|ndif)/) { $$i=0; } \
-                       if (/^#if.*DVD/) { $$i=1; print "#if 0\n"; } \
-                       elsif (!$$i || /^#/) { print $$_; }' \
-               < $$x | grep -vi css >| /tmp/vlc-@VLC_VERSION@/$$x ; \
-       done
-       rm -f /tmp/vlc-@VLC_VERSION@/debian/changelog
-       sed 's/\(^vlc ([^-]*\)-/\1nocss-/' < debian/changelog \
-               > /tmp/vlc-@VLC_VERSION@/debian/changelog
-
-       # build nocss archives
-       (cd /tmp ; mv vlc-@VLC_VERSION@ vlc-@VLC_VERSION@nocss ; \
-               tar cf vlc-@VLC_VERSION@nocss.tar vlc-@VLC_VERSION@nocss ; \
-               bzip2 -f -9 < vlc-@VLC_VERSION@nocss.tar \
-                       > vlc-@VLC_VERSION@nocss.tar.bz2 ; \
-               gzip -f -9 vlc-@VLC_VERSION@nocss.tar )
-       mv /tmp/vlc-@VLC_VERSION@nocss.tar.gz \
-               /tmp/vlc-@VLC_VERSION@nocss.tar.bz2 ..
-
-       # clean up
-       rm -rf /tmp/vlc-@VLC_VERSION@nocss
+#      find /tmp/vlc-@VLC_VERSION@ -type f -name '*css*' | xargs rm -f
+#      for x in Makefile.in src/input/input_dvd.c src/input/input_dvd.h ; do \
+#      rm -f /tmp/vlc-@VLC_VERSION@/$$x ; \
+#      perl -ne 'if (/^#e(lse|ndif)/) { $$i=0; } \
+#                      if (/^#if.*DVD/) { $$i=1; print "#if 0\n"; } \
+#                      elsif (!$$i || /^#/) { print $$_; }' \
+#              < $$x | grep -vi css >| /tmp/vlc-@VLC_VERSION@/$$x ; \
+#      done
+#      rm -f /tmp/vlc-@VLC_VERSION@/debian/changelog
+#      sed 's/\(^vlc ([^-]*\)-/\1nocss-/' < debian/changelog \
+#              > /tmp/vlc-@VLC_VERSION@/debian/changelog
+#
+#      # build nocss archives
+#      (cd /tmp ; mv vlc-@VLC_VERSION@ vlc-@VLC_VERSION@nocss ; \
+#              tar cf vlc-@VLC_VERSION@nocss.tar vlc-@VLC_VERSION@nocss ; \
+#              bzip2 -f -9 < vlc-@VLC_VERSION@nocss.tar \
+#                      > vlc-@VLC_VERSION@nocss.tar.bz2 ; \
+#              gzip -f -9 vlc-@VLC_VERSION@nocss.tar )
+#      mv /tmp/vlc-@VLC_VERSION@nocss.tar.gz \
+#              /tmp/vlc-@VLC_VERSION@nocss.tar.bz2 ..
+#
+#      # clean up
+       rm -rf /tmp/vlc-@VLC_VERSION@*
 
 plugins: $(PLUGINS:%=lib/%.so)
 
index 0ab2371d1971030f0275a0362dd9b62d6d6ef9cd..6598c545141944afdfa45b1b73f7ebbc90dffc07 100755 (executable)
--- a/configure
+++ b/configure
@@ -604,7 +604,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
 echo "$ac_t""$host" 1>&6
 
 
-VLC_VERSION=0.2.60
+VLC_VERSION=0.2.61
 
 VLC_CODENAME=Urumov
 
index da3a1352ca30811f48e6e4a63b46c80e1ca22ea4..b18c6dc58678e237d655b67030be737aa5545296 100644 (file)
@@ -4,7 +4,7 @@ AC_CONFIG_HEADER(include/defs.h)
 
 AC_CANONICAL_HOST
 
-VLC_VERSION=0.2.60
+VLC_VERSION=0.2.61
 AC_SUBST(VLC_VERSION)
 VLC_CODENAME=Urumov
 AC_SUBST(VLC_CODENAME)
index e634a27dc08dfb33bcd65d4406e337d143e20ec9..8ba6432a083f75382678e2b361bba582bf4057dc 100644 (file)
@@ -1,3 +1,9 @@
+vlc (0.2.61-1) unstable; urgency=low
+
+  * New release. The package build works again.
+
+ -- Samuel Hocevar <sam@zoy.org>  Fri, 16 Feb 2001 08:09:59 +0100
+
 vlc (0.2.60-1) unstable; urgency=low
 
   * New release. The package build is most presumably FUBAR.
index e3d3ba0118ca175b7b599188b5327ae2b002bc80..3fe4981565db5072b6964f3d3f639ccd9d1e0213 100644 (file)
@@ -2,13 +2,13 @@ Source: vlc
 Section: graphics
 Priority: optional
 Maintainer: Samuel Hocevar <sam@zoy.org>
-Build-Depends: debhelper (>=2.2.0), xlib6g-dev, libgnome-dev, libggi2-dev, libglide-dev, libesd0-dev, libsdl1.1-dev, alsa-headers
+Build-Depends: debhelper (>=2.2.0), xlib6g-dev, libgnome-dev, libesd0-dev, libsdl1.1-dev, alsa-headers
 Standards-Version: 3.0.1
 
 Package: vlc
 Architecture: any
-Depends: ${shlibs:Depends}
-Suggests: vlc-gnome, vlc-sdl, vlc-esd
+Depends: ${shlibs:Depends}, vlc-gnome
+Suggests: vlc-sdl, vlc-esd
 Description: the free MPEG and DVD player VideoLAN Client
  VideoLAN is a free MPEG, MPEG2 and DVD software solution.
  .
@@ -23,22 +23,6 @@ Description: Gnome plugin for the VideoLAN Client
  .
  This plugin adds a Gnome interface to the VideoLAN Client.
 
-Package: vlc-ggi
-Architecture: any
-Depends: vlc (= ${Source-Version}), ${shlibs:Depends}
-Description: GGI plugin for the VideoLAN Client
- VideoLAN is a free MPEG, MPEG2 and DVD software solution.
- .
- This is a GGI plugin for the VideoLAN Client.
-
-Package: vlc-glide
-Architecture: i386
-Depends: vlc (= ${Source-Version}), libglide2
-Description: Glide plugin for the VideoLAN Client
- VideoLAN is a free MPEG, MPEG2 and DVD software solution.
- .
- This is a Glide (3dfx) plugin for the VideoLAN Client.
-
 Package: vlc-esd
 Architecture: any
 Depends: vlc (= ${Source-Version}), ${shlibs:Depends}
index 240e1f018645ce499474a083b5f7aaab39deab10..4e457e0d09575c76a7720cf806f8d93aee5b430b 100755 (executable)
@@ -12,19 +12,11 @@ build: build-stamp
 build-stamp:
        dh_testdir
 
-       if [ $(DEB_BUILD_ARCH) = i386 ]; then \
        ./configure --prefix=/usr \
                --mandir=\$${prefix}/share/man \
                --infodir=\$${prefix}/share/info \
-               --enable-gnome --enable-fb --with-glide --with-ggi \
-               --with-sdl --enable-esd --enable-alsa --disable-ppro ; \
-       else \
-       ./configure --prefix=/usr \
-               --mandir=\$${prefix}/share/man \
-               --infodir=\$${prefix}/share/info \
-               --enable-gnome --enable-fb --with-ggi \
-               --with-sdl --enable-esd --enable-alsa ; \
-       fi
+               --enable-gnome \
+               --with-sdl --enable-esd --enable-alsa --disable-ppro ;
 
        $(MAKE)
 
@@ -48,7 +40,7 @@ install: build
        $(MAKE) install prefix=`pwd`/debian/vlc/usr
 
        # make symlinks for packages
-       for alias in ggi gnome glide esd sdl alsa ; do \
+       for alias in gnome esd sdl alsa ; do \
                mkdir -p debian/vlc-$$alias/usr/share/doc/ ; \
                ln -s vlc debian/vlc-$$alias/usr/share/doc/vlc-$$alias ; \
                mkdir -p debian/vlc-$$alias/usr/lib/videolan/vlc/ ; \
@@ -64,8 +56,6 @@ install: build
        mkdir -p debian/vlc-gnome/usr/share/man/man1/
        ln -s vlc.1.gz debian/vlc-gnome/usr/share/man/man1/gvlc.1.gz
 
-       ln -s vlc.1.gz debian/vlc/usr/share/man/man1/fbvlc.1.gz
-
 # Build architecture-independent files here.
 binary-indep: build install
 # We have nothing to do by default.
@@ -83,10 +73,10 @@ binary-arch: build install
 #      dh_installpam
 #      dh_installinit
        dh_installcron
-       dh_installmanpages -Nvlc-gnome -Nvlc-ggi -Nvlc-glide -Nvlc-esd -Nvlc-sdl -Nvlc-alsa
+       dh_installmanpages -Nvlc-gnome -Nvlc-esd -Nvlc-sdl -Nvlc-alsa
        dh_installinfo
 #      dh_undocumented
-       dh_installchangelogs -Nvlc-gnome -Nvlc-ggi -Nvlc-glide -Nvlc-esd -Nvlc-sdl -Nvlc-alsa
+       dh_installchangelogs -Nvlc-gnome -Nvlc-esd -Nvlc-sdl -Nvlc-alsa
        dh_link
        dh_strip
        dh_compress
@@ -94,7 +84,7 @@ binary-arch: build install
 #      dh_makeshlibs
        dh_installdeb
 #      dh_perl
-       dh_shlibdeps -Nvlc-glide
+       dh_shlibdeps
        dh_gencontrol
        dh_md5sums
        dh_builddeb
index 4bd1ba0c9631e695ae1655c0210de6fbf04f4868..c8c02650f61b4a2e14eddac541dc6720ce6418cc 100644 (file)
@@ -10,7 +10,7 @@
  *  -dvd_udf to find files
  *****************************************************************************
  * Copyright (C) 1998-2001 VideoLAN
- * $Id: input_dvd.c,v 1.11 2001/02/14 15:58:29 henri Exp $
+ * $Id: input_dvd.c,v 1.12 2001/02/16 09:25:03 sam Exp $
  *
  * Author: Stéphane Borel <stef@via.ecp.fr>
  *
@@ -116,12 +116,32 @@ void input_getfunctions( function_list_t * p_function_list )
  *****************************************************************************/
 static int DVDProbe( probedata_t *p_data )
 {
+    input_thread_t * p_input = (input_thread_t *)p_data;
+
+    char * psz_name = p_input->p_source;
+    int i_handle;
+    int i_score = 5;
+
     if( TestMethod( INPUT_METHOD_VAR, "dvd" ) )
     {
         return( 999 );
     }
 
-    return 5;
+    if( ( strlen(psz_name) > 4 ) && !strncasecmp( psz_name, "dvd:", 4 ) )
+    {
+        /* If the user specified "dvd:" then it's probably a DVD */
+        i_score = 100;
+        psz_name += 4;
+    }
+
+    i_handle = open( psz_name, 0 );
+    if( i_handle == -1 )
+    {
+        return( 0 );
+    }
+    close( i_handle );
+
+    return( i_score );
 }
 
 /*****************************************************************************
index a7f15a2a12b0e059ebc11dad32b89add4756e138..072bced4a1b7a4af07f75e385424e787f985ce7f 100644 (file)
@@ -432,15 +432,16 @@ on_hscale_button_release_event         (GtkWidget       *widget,
     intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), "intf_window" );
 
     GtkAdjustment *p_adj = gtk_range_get_adjustment( GTK_RANGE(widget) );
-    off_t i_seek = (p_adj->value * p_intf->p_input->stream.i_size) / 100;
+    off_t i_seek;
 
     vlc_mutex_lock( &p_intf->p_sys->change_lock );
 
-    p_intf->p_sys->b_scale_isfree = 1;
     if( p_intf->p_input != NULL )
     {
+        i_seek = (p_adj->value * p_intf->p_input->stream.i_size) / 100;
         input_Seek( p_intf->p_input, i_seek );
     }
+    p_intf->p_sys->b_scale_isfree = 1;
 
     vlc_mutex_unlock( &p_intf->p_sys->change_lock );
 
index f1569248d91dee4822910ccd1571b07fb6c56069..a139c82c42044f5d22f0b8ad22ca040a19083817 100644 (file)
@@ -83,8 +83,8 @@ create_intf_window (void)
   GtkWidget *toolbar_prev;
   GtkWidget *toolbar_next;
   GtkWidget *vbox2;
-  GtkWidget *label6;
   GtkWidget *entry1;
+  GtkWidget *label6;
   GtkWidget *hscale;
   GtkWidget *label13;
   GtkWidget *appbar;
@@ -299,7 +299,15 @@ create_intf_window (void)
   gtk_widget_show (vbox2);
   gnome_app_set_contents (GNOME_APP (intf_window), vbox2);
 
-  label6 = gtk_label_new (_("File name: this part of the interface doesn't work yet.mpeg"));
+  entry1 = gtk_entry_new ();
+  gtk_widget_ref (entry1);
+  gtk_object_set_data_full (GTK_OBJECT (intf_window), "entry1", entry1,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (entry1);
+  gtk_box_pack_start (GTK_BOX (vbox2), entry1, FALSE, FALSE, 0);
+  gtk_entry_set_text (GTK_ENTRY (entry1), _("Tired of boring stub messages ? Write your own exciting message here !!"));
+
+  label6 = gtk_label_new (_("This part of the interface doesn't work yet. You can drag the slider below, though:"));
   gtk_widget_ref (label6);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "label6", label6,
                             (GtkDestroyNotify) gtk_widget_unref);
@@ -309,15 +317,7 @@ create_intf_window (void)
   gtk_misc_set_alignment (GTK_MISC (label6), 0, 0.5);
   gtk_misc_set_padding (GTK_MISC (label6), 5, 0);
 
-  entry1 = gtk_entry_new ();
-  gtk_widget_ref (entry1);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "entry1", entry1,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (entry1);
-  gtk_box_pack_start (GTK_BOX (vbox2), entry1, FALSE, FALSE, 0);
-  gtk_entry_set_text (GTK_ENTRY (entry1), _("Tired of boring stub messages ? Write your own exciting message here !!"));
-
-  hscale = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 100, 1, 5, 1)));
+  hscale = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (43.75, 0, 100, 1, 6.25, 0)));
   gtk_widget_ref (hscale);
   gtk_object_set_data_full (GTK_OBJECT (intf_window), "hscale", hscale,
                             (GtkDestroyNotify) gtk_widget_unref);
index a769f9a0c039fafbfe4ae8c42169ee842531ffec..1358a8f9d4c365e3dbb6d83b57066e186b15a838 100644 (file)
       <spacing>0</spacing>
 
       <widget>
-       <class>GtkLabel</class>
-       <name>label6</name>
-       <label>File name: this part of the interface doesn't work yet.mpeg</label>
-       <justify>GTK_JUSTIFY_LEFT</justify>
-       <wrap>False</wrap>
-       <xalign>0</xalign>
-       <yalign>0.5</yalign>
-       <xpad>5</xpad>
-       <ypad>0</ypad>
+       <class>GtkEntry</class>
+       <name>entry1</name>
+       <can_focus>True</can_focus>
+       <editable>True</editable>
+       <text_visible>True</text_visible>
+       <text_max_length>0</text_max_length>
+       <text>Tired of boring stub messages ? Write your own exciting message here !!</text>
        <child>
          <padding>0</padding>
          <expand>False</expand>
       </widget>
 
       <widget>
-       <class>GtkEntry</class>
-       <name>entry1</name>
-       <can_focus>True</can_focus>
-       <editable>True</editable>
-       <text_visible>True</text_visible>
-       <text_max_length>0</text_max_length>
-       <text>Tired of boring stub messages ? Write your own exciting message here !!</text>
+       <class>GtkLabel</class>
+       <name>label6</name>
+       <label>This part of the interface doesn't work yet. You can drag the slider below, though:</label>
+       <justify>GTK_JUSTIFY_LEFT</justify>
+       <wrap>False</wrap>
+       <xalign>0</xalign>
+       <yalign>0.5</yalign>
+       <xpad>5</xpad>
+       <ypad>0</ypad>
        <child>
          <padding>0</padding>
          <expand>False</expand>
        <value_pos>GTK_POS_BOTTOM</value_pos>
        <digits>1</digits>
        <policy>GTK_UPDATE_DELAYED</policy>
-       <value>0</value>
+       <value>43.75</value>
        <lower>0</lower>
        <upper>100</upper>
        <step>1</step>
-       <page>5</page>
-       <page_size>1</page_size>
+       <page>6.25</page>
+       <page_size>0</page_size>
        <child>
          <padding>0</padding>
          <expand>False</expand>
index b2d3fd7e8fb23d1305cb43f2fd94354ec68257e9..b000fcf240be3e88e1a2615460df41af4ed06cf5 100644 (file)
@@ -2,7 +2,7 @@
  * input_ps.c: PS demux and packet management
  *****************************************************************************
  * Copyright (C) 1998, 1999, 2000 VideoLAN
- * $Id: input_ps.c,v 1.5 2001/02/12 07:52:40 sam Exp $
+ * $Id: input_ps.c,v 1.6 2001/02/16 09:25:03 sam Exp $
  *
  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  *
 #include <string.h>
 #include <errno.h>
 
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <fcntl.h>
+
 #include "config.h"
 #include "common.h"
 #include "threads.h"
@@ -99,12 +104,32 @@ void input_getfunctions( function_list_t * p_function_list )
  *****************************************************************************/
 static int PSProbe( probedata_t *p_data )
 {
+    input_thread_t * p_input = (input_thread_t *)p_data;
+
+    char * psz_name = p_input->p_source;
+    int i_handle;
+    int i_score = 10;
+
     if( TestMethod( INPUT_METHOD_VAR, "ps" ) )
     {
         return( 999 );
     }
 
-    return 10;
+    if( ( strlen(psz_name) > 5 ) && !strncasecmp( psz_name, "file:", 5 ) )
+    {
+        /* If the user specified "file:" then it's probably a file */
+        i_score = 100;
+        psz_name += 5;
+    }
+
+    i_handle = open( psz_name, 0 );
+    if( i_handle == -1 )
+    {
+        return( 0 );
+    }
+    close( i_handle );
+
+    return( i_score );
 }
 
 /*****************************************************************************
index 71681617817a2966b88915a7567502ee45e0772b..9287d3f6ad2feb210bb6db276f0897de412bdc23 100644 (file)
@@ -2,7 +2,7 @@
  * input_ts.c: TS demux and netlist management
  *****************************************************************************
  * Copyright (C) 1998, 1999, 2000 VideoLAN
- * $Id: input_ts.c,v 1.2 2001/02/14 15:58:29 henri Exp $
+ * $Id: input_ts.c,v 1.3 2001/02/16 09:25:03 sam Exp $
  *
  * Authors: 
  *
 #include <errno.h>
 #include <sys/uio.h>
 
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <fcntl.h>
 
 #include "config.h"
 #include "common.h"
@@ -88,13 +92,31 @@ void input_getfunctions( function_list_t * p_function_list )
  *****************************************************************************/
 static int TSProbe( probedata_t * p_data )
 {
+    input_thread_t * p_input = (input_thread_t *)p_data;
+
+    char * psz_name = p_input->p_source;
+    int i_handle;
+    int i_score = 1;
+
     if( TestMethod( INPUT_METHOD_VAR, "ts" ) )
     {
         return( 999 );
     }
 
-    /* verify that the first byte is 0x47 */
-    return 0;
+    if( ( strlen(psz_name) > 5 ) && !strncasecmp( psz_name, "file:", 5 ) )
+    {
+        /* If the user specified "file:" then it's probably a file */
+        psz_name += 5;
+    }
+
+    i_handle = open( psz_name, 0 );
+    if( i_handle == -1 )
+    {
+        return( 0 );
+    }
+    close( i_handle );
+
+    return( i_score );
 }
 
 /*****************************************************************************
index 57c5deccf6d3a62c777f15a9ff452486cce18bbf..7710b648fbdff43cb08b951b203d41919891a40c 100644 (file)
@@ -4,7 +4,7 @@
  * decoders.
  *****************************************************************************
  * Copyright (C) 1998, 1999, 2000 VideoLAN
- * $Id: input.c,v 1.81 2001/02/16 06:37:09 sam Exp $
+ * $Id: input.c,v 1.82 2001/02/16 09:25:04 sam Exp $
  *
  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  *
@@ -282,7 +282,8 @@ static int InitThread( input_thread_t * p_input )
 #endif
 
     p_input->p_input_module = module_Need( p_main->p_bank,
-                                           MODULE_CAPABILITY_INPUT, NULL );
+                                           MODULE_CAPABILITY_INPUT,
+                                           (probedata_t *)p_input );
 
     if( p_input->p_input_module == NULL )
     {
@@ -369,6 +370,7 @@ static void EndThread( input_thread_t * p_input )
 
     /* Release modules */
     module_Unneed( p_main->p_bank, p_input->p_input_module );
+
 }
 
 /*****************************************************************************
@@ -398,13 +400,38 @@ static void DestroyThread( input_thread_t * p_input )
 void input_FileOpen( input_thread_t * p_input )
 {
     struct stat         stat_info;
+    int                 i_stat;
+
+    char *psz_name = p_input->p_source;
 
-    if( stat( p_input->p_source, &stat_info ) == (-1) )
+    /* FIXME: this code ought to be in the plugin so that code can
+     * be shared with the *_Probe function */
+    if( ( i_stat = stat( psz_name, &stat_info ) ) == (-1) )
     {
-        intf_ErrMsg( "input error: cannot stat() file `%s' (%s)",
-                     p_input->p_source, strerror(errno));
-        p_input->b_error = 1;
-        return;
+        int i_size = strlen( psz_name );
+
+        if( ( i_size > 4 )
+            && !strncasecmp( psz_name, "dvd:", 4 ) )
+        {
+            /* get rid of the 'dvd:' stuff and try again */
+            psz_name += 4;
+            i_stat = stat( psz_name, &stat_info );
+       }
+       else if( ( i_size > 5 )
+                 && !strncasecmp( psz_name, "file:", 5 ) )
+        {
+            /* get rid of the 'file:' stuff and try again */
+            psz_name += 5;
+            i_stat = stat( psz_name, &stat_info );
+       }
+
+       if( i_stat == (-1) )
+        {
+            intf_ErrMsg( "input error: cannot stat() file `%s' (%s)",
+                         psz_name, strerror(errno));
+            p_input->b_error = 1;
+            return;
+        }
     }
 
     vlc_mutex_lock( &p_input->stream.stream_lock );
@@ -427,7 +454,7 @@ void input_FileOpen( input_thread_t * p_input )
     {
         vlc_mutex_unlock( &p_input->stream.stream_lock );
         intf_ErrMsg( "input error: unknown file type for `%s'",
-                     p_input->p_source );
+                     psz_name );
         p_input->b_error = 1;
         return;
     }
@@ -435,8 +462,8 @@ void input_FileOpen( input_thread_t * p_input )
     p_input->stream.i_tell = 0;
     vlc_mutex_unlock( &p_input->stream.stream_lock );
 
-    intf_Msg( "input: opening file %s", p_input->p_source );
-    if( (p_input->i_handle = open( p_input->p_source,
+    intf_Msg( "input: opening %s", p_input->p_source );
+    if( (p_input->i_handle = open( psz_name,
                                    /*O_NONBLOCK | O_LARGEFILE*/0 )) == (-1) )
     {
         intf_ErrMsg( "input error: cannot open file (%s)", strerror(errno) );
index a46ebe5499b9f17017445148024bf34b632b9efd..2bdce6c9292ab5e9060960b118b0544b695031a3 100644 (file)
@@ -160,7 +160,9 @@ static void intf_Manage( intf_thread_t *p_intf )
         if( p_main->p_playlist->i_index == -1 )
         {
             /*    FIXME: wait for user to add stuff to playlist ? */
+#if 0
             p_intf->b_die = 1;
+#endif
         }
         else
         {
index bcd9f4829f323eae0f96f3f46daaabcf0f458d03..5839062d0b324d3ec9cc9e8cf1db474f84c56fa8 100644 (file)
--- a/vlc.spec
+++ b/vlc.spec
@@ -1,16 +1,19 @@
 Name: vlc
-Version: 0.2.60
+Version: 0.2.61
 Release: 1
 Copyright: GPL
 Url: http://www.videolan.org/
 Group: X11/Applications/Graphics
-Source0: http://www.videolan.org/packages/0.2.60/vlc-0.2.60.tar.gz
+Source0: http://www.videolan.org/packages/0.2.61/vlc-0.2.61.tar.gz
 Packager: Samuel Hocevar <sam@zoy.org>
 
 Buildroot: /tmp/vlc-build
 Summary: VideoLAN Client.
 
 %changelog
+* Fri Feb 16 2001 Samuel Hocevar <sam@via.ecp.fr>
+New upstream release
+
 * Tue Aug  8 2000 Samuel Hocevar <sam@via.ecp.fr>
 Added framebuffer support
 
@@ -31,7 +34,7 @@ a free network-aware MPEG and DVD player
 %setup 
 
 %build
-./configure --prefix=/usr --enable-mmx --enable-gnome --enable-fb
+./configure --prefix=/usr --enable-mmx --with-sdl --enable-esd
 make
 %install
 mkdir -p $RPM_BUILD_ROOT/usr/lib