Commit b9e9cb42 authored by Sam Hocevar's avatar Sam Hocevar

* ./src/playlist/playlist.c: lots of playlist behaviour enhancements.

  * ./src/misc/objects.c: we do not hang on attempt to destroy an object with
    a non-zero reference count, but we still complain.
  * ./plugins/gtk/gtk_control.c, plugins/gtk/gtk_playlist.c: most controls such
    as play, pause, stop, next, fast etc. work again.
  * ./plugins/gtk/gnome_*: got rid of lots of useless wrappers which were a
    workaround for a bug in Glade. Instead, bootstrap.sh does the Glade fixes.
  * ./plugins/ffmpeg/ffmpeg.c: if there is already a video output with the
    appropriate properties, we use it.
parent d547ff04
...@@ -5,6 +5,22 @@ ...@@ -5,6 +5,22 @@
0.5.0 0.5.0
Not released yet Not released yet
* ./src/playlist/playlist.c: lots of playlist behaviour enhancements.
* ./src/misc/objects.c: we do not hang on attempt to destroy an object with
a non-zero reference count, but we still complain.
* ./plugins/gtk/gtk_control.c, plugins/gtk/gtk_playlist.c: most controls such
as play, pause, stop, next, fast etc. work again.
* ./plugins/gtk/gnome_*: got rid of lots of useless wrappers which were a
workaround for a bug in Glade. Instead, bootstrap.sh does the Glade fixes.
* ./plugins/ffmpeg/ffmpeg.c: if there is already a video output with the
appropriate properties, we use it.
* ./Makefile: minor fix for the BeOS' make-package (icon loss).
* ./plugins/spudec/spu_decoder.c: release vout when we close spudec.
* ./plugins/ac3_spdif/ac3_spdif.c: only report initiliazation error when it
is really an error.
* ./include/video_output.h: added mouse coordinates to vout struct.
* ./plugins/mpeg_vdec/video_parser.c: check that p_vpar->p_vout is available
before detaching it.
* ./plugins/gtk/gtk_callbacks.c: fixed a segfault when switching to * ./plugins/gtk/gtk_callbacks.c: fixed a segfault when switching to
fullscreen from the popup menu. fullscreen from the popup menu.
* ./src/interface/interface.c: interfaces are no longer attached only to * ./src/interface/interface.c: interfaces are no longer attached only to
......
#! /bin/sh #! /bin/sh
## bootstrap.sh file for vlc, the VideoLAN Client ## bootstrap.sh file for vlc, the VideoLAN Client
## $Id: bootstrap.sh,v 1.3 2002/06/01 17:11:41 sam Exp $ ## $Id: bootstrap.sh,v 1.4 2002/06/07 14:30:40 sam Exp $
## ##
## Authors: Samuel Hocevar <sam@zoy.org> ## Authors: Samuel Hocevar <sam@zoy.org>
...@@ -69,6 +69,7 @@ EOF ...@@ -69,6 +69,7 @@ EOF
| sed 's#_("--")#"--"#' \ | sed 's#_("--")#"--"#' \
| sed 's#_("/dev/dvd")#"/dev/dvd"#' \ | sed 's#_("/dev/dvd")#"/dev/dvd"#' \
| sed 's#_(\("./."\))#\1#' \ | sed 's#_(\("./."\))#\1#' \
| sed 's/_GLADE_SUX_\([^,]*\), NULL/, "\1"/' \
>> /tmp/$$.$file.bak >> /tmp/$$.$file.bak
mv -f /tmp/$$.$file.bak plugins/gtk/$file mv -f /tmp/$$.$file.bak plugins/gtk/$file
fi fi
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* vlc_playlist.h : Playlist functions * vlc_playlist.h : Playlist functions
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000, 2001, 2002 VideoLAN * Copyright (C) 1999, 2000, 2001, 2002 VideoLAN
* $Id: playlist.h,v 1.5 2002/06/04 00:11:12 sam Exp $ * $Id: playlist.h,v 1.6 2002/06/07 14:30:40 sam Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* *
...@@ -42,20 +42,21 @@ struct playlist_s ...@@ -42,20 +42,21 @@ struct playlist_s
{ {
VLC_COMMON_MEMBERS VLC_COMMON_MEMBERS
/* Thread properties and lock */
vlc_mutex_t change_lock;
int i_index; /* current index */ int i_index; /* current index */
int i_status;
int i_size; /* total size */ int i_size; /* total size */
playlist_item_t ** pp_items;
int i_status; playlist_item_t ** pp_items;
input_thread_t * p_input; input_thread_t * p_input;
}; };
/* Used by playlist_Add */ /* Used by playlist_Add */
#define PLAYLIST_START 0 #define PLAYLIST_INSERT 0x0001
#define PLAYLIST_REPLACE 0x0002
#define PLAYLIST_APPEND 0x0004
#define PLAYLIST_GO 0x0008
#define PLAYLIST_END -1 #define PLAYLIST_END -1
/* Playlist parsing mode */ /* Playlist parsing mode */
...@@ -91,6 +92,6 @@ void playlist_Destroy ( playlist_t * ); ...@@ -91,6 +92,6 @@ void playlist_Destroy ( playlist_t * );
#define playlist_Goto(p,i) playlist_Command(p,PLAYLIST_GOTO,i) #define playlist_Goto(p,i) playlist_Command(p,PLAYLIST_GOTO,i)
VLC_EXPORT( void, playlist_Command, ( playlist_t *, int, int ) ); VLC_EXPORT( void, playlist_Command, ( playlist_t *, int, int ) );
VLC_EXPORT( int, playlist_Add, ( playlist_t *, int, const char * ) ); VLC_EXPORT( int, playlist_Add, ( playlist_t *, const char *, int, int ) );
VLC_EXPORT( int, playlist_Delete, ( playlist_t *, int ) ); VLC_EXPORT( int, playlist_Delete, ( playlist_t *, int ) );
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* vlc.h: global header for vlc * vlc.h: global header for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN * Copyright (C) 1998, 1999, 2000 VideoLAN
* $Id: vlc.h,v 1.2 2002/06/02 13:38:03 gbazin Exp $ * $Id: vlc.h,v 1.3 2002/06/07 14:30:40 sam Exp $
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
...@@ -91,7 +91,7 @@ vlc_error_t vlc_end ( vlc_t * ); ...@@ -91,7 +91,7 @@ vlc_error_t vlc_end ( vlc_t * );
vlc_error_t vlc_destroy ( vlc_t * ); vlc_error_t vlc_destroy ( vlc_t * );
vlc_error_t vlc_add_intf ( vlc_t *, char *, vlc_bool_t ); vlc_error_t vlc_add_intf ( vlc_t *, char *, vlc_bool_t );
vlc_error_t vlc_add_target ( vlc_t *, char * ); vlc_error_t vlc_add_target ( vlc_t *, char *, int, int );
vlc_status_t vlc_status ( vlc_t * ); vlc_status_t vlc_status ( vlc_t * );
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* vlc_objects.h: vlc_object_t definition. * vlc_objects.h: vlc_object_t definition.
***************************************************************************** *****************************************************************************
* Copyright (C) 2002 VideoLAN * Copyright (C) 2002 VideoLAN
* $Id: vlc_objects.h,v 1.2 2002/06/02 09:03:53 sam Exp $ * $Id: vlc_objects.h,v 1.3 2002/06/07 14:30:40 sam Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* *
...@@ -26,10 +26,11 @@ ...@@ -26,10 +26,11 @@
#define VLC_OBJECT_MODULE (-2) #define VLC_OBJECT_MODULE (-2)
#define VLC_OBJECT_INTF (-3) #define VLC_OBJECT_INTF (-3)
#define VLC_OBJECT_PLAYLIST (-4) #define VLC_OBJECT_PLAYLIST (-4)
#define VLC_OBJECT_INPUT (-5) #define VLC_OBJECT_ITEM (-5)
#define VLC_OBJECT_DECODER (-6) #define VLC_OBJECT_INPUT (-6)
#define VLC_OBJECT_VOUT (-7) #define VLC_OBJECT_DECODER (-7)
#define VLC_OBJECT_AOUT (-8) #define VLC_OBJECT_VOUT (-8)
#define VLC_OBJECT_AOUT (-9)
#define VLC_OBJECT_PRIVATE (-666) #define VLC_OBJECT_PRIVATE (-666)
/* Object search mode */ /* Object search mode */
......
...@@ -92,7 +92,7 @@ struct module_symbols_s ...@@ -92,7 +92,7 @@ struct module_symbols_s
int (* __network_ChannelJoin_inner) ( vlc_object_t *, int ) ; int (* __network_ChannelJoin_inner) ( vlc_object_t *, int ) ;
int (* __network_ChannelCreate_inner) ( vlc_object_t * ) ; int (* __network_ChannelCreate_inner) ( vlc_object_t * ) ;
void (* playlist_Command_inner) ( playlist_t *, int, int ) ; void (* playlist_Command_inner) ( playlist_t *, int, int ) ;
int (* playlist_Add_inner) ( playlist_t *, int, const char * ) ; int (* playlist_Add_inner) ( playlist_t *, const char *, int, int ) ;
int (* playlist_Delete_inner) ( playlist_t *, int ) ; int (* playlist_Delete_inner) ( playlist_t *, int ) ;
vout_thread_t * (* __vout_CreateThread_inner) ( vlc_object_t *, int, int, u32, int ) ; vout_thread_t * (* __vout_CreateThread_inner) ( vlc_object_t *, int, int, u32, int ) ;
void (* vout_DestroyThread_inner) ( vout_thread_t * ) ; void (* vout_DestroyThread_inner) ( vout_thread_t * ) ;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* avi.c : AVI file Stream input module for vlc * avi.c : AVI file Stream input module for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2001 VideoLAN * Copyright (C) 2001 VideoLAN
* $Id: avi.c,v 1.21 2002/06/01 12:31:58 sam Exp $ * $Id: avi.c,v 1.22 2002/06/07 14:30:40 sam Exp $
* Authors: Laurent Aimar <fenrir@via.ecp.fr> * Authors: Laurent Aimar <fenrir@via.ecp.fr>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
...@@ -532,7 +532,6 @@ static int AVIInit( input_thread_t *p_input ) ...@@ -532,7 +532,6 @@ static int AVIInit( input_thread_t *p_input )
return( -1 ); return( -1 );
} }
p_input->stream.p_selected_program = p_input->stream.pp_programs[0]; p_input->stream.p_selected_program = p_input->stream.pp_programs[0];
p_input->stream.p_new_program = p_input->stream.pp_programs[0] ;
p_input->stream.i_mux_rate = p_avi_demux->avih.i_maxbytespersec / 50; p_input->stream.i_mux_rate = p_avi_demux->avih.i_maxbytespersec / 50;
vlc_mutex_unlock( &p_input->stream.stream_lock ); vlc_mutex_unlock( &p_input->stream.stream_lock );
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* ffmpeg.c: video decoder using ffmpeg library * ffmpeg.c: video decoder using ffmpeg library
***************************************************************************** *****************************************************************************
* Copyright (C) 1999-2001 VideoLAN * Copyright (C) 1999-2001 VideoLAN
* $Id: ffmpeg.c,v 1.12 2002/06/01 18:04:48 sam Exp $ * $Id: ffmpeg.c,v 1.13 2002/06/07 14:30:40 sam Exp $
* *
* Authors: Laurent Aimar <fenrir@via.ecp.fr> * Authors: Laurent Aimar <fenrir@via.ecp.fr>
* *
...@@ -375,24 +375,59 @@ static int InitThread( videodec_thread_t *p_vdec ) ...@@ -375,24 +375,59 @@ static int InitThread( videodec_thread_t *p_vdec )
p_vdec->psz_namecodec ); p_vdec->psz_namecodec );
} }
/* create vout */ /* Spawn a video output if there is none. First we look for our children,
p_vdec->p_vout = vout_CreateThread( p_vdec->p_fifo, * then we look for any other vout that might be available. */
p_vdec->format.i_width, p_vdec->p_vout = vlc_object_find( p_vdec->p_fifo, VLC_OBJECT_VOUT,
p_vdec->format.i_height, FIND_CHILD );
FOURCC_I420,
VOUT_ASPECT_FACTOR * p_vdec->format.i_width /
p_vdec->format.i_height );
if( p_vdec->p_vout == NULL ) if( p_vdec->p_vout == NULL )
{ {
msg_Err( p_vdec->p_fifo, "cannot open vout, aborting" ); p_vdec->p_vout = vlc_object_find( p_vdec->p_fifo, VLC_OBJECT_VOUT,
avcodec_close( p_vdec->p_context ); FIND_ANYWHERE );
msg_Dbg( p_vdec->p_fifo, "ffmpeg codec (%s) stopped", }
p_vdec->psz_namecodec );
return -1; if( p_vdec->p_vout )
{
if( p_vdec->p_vout->render.i_width != p_vdec->format.i_width
|| p_vdec->p_vout->render.i_height != p_vdec->format.i_height
|| p_vdec->p_vout->render.i_chroma != FOURCC_I420
|| p_vdec->p_vout->render.i_aspect != VOUT_ASPECT_FACTOR
* p_vdec->format.i_width / p_vdec->format.i_height )
{
/* We are not interested in this format, close this vout */
vlc_object_detach_all( p_vdec->p_vout );
vlc_object_release( p_vdec->p_vout );
vout_DestroyThread( p_vdec->p_vout );
p_vdec->p_vout = NULL;
}
else
{
/* This video output is cool! Hijack it. */
vlc_object_detach_all( p_vdec->p_vout );
vlc_object_attach( p_vdec->p_vout, p_vdec->p_fifo );
vlc_object_release( p_vdec->p_vout );
}
} }
vlc_object_yield( p_vdec->p_vout ); if( p_vdec->p_vout == NULL )
{
msg_Dbg( p_vdec->p_fifo, "no vout present, spawning one" );
p_vdec->p_vout = vout_CreateThread( p_vdec->p_fifo,
p_vdec->format.i_width,
p_vdec->format.i_height,
FOURCC_I420,
VOUT_ASPECT_FACTOR * p_vdec->format.i_width /
p_vdec->format.i_height );
/* Everything failed */
if( p_vdec->p_vout == NULL )
{
msg_Err( p_vdec->p_fifo, "cannot open vout, aborting" );
avcodec_close( p_vdec->p_context );
p_vdec->p_fifo->b_error = 1;
return -1;
}
}
return( 0 ); return( 0 );
} }
...@@ -418,8 +453,12 @@ static void EndThread( videodec_thread_t *p_vdec ) ...@@ -418,8 +453,12 @@ static void EndThread( videodec_thread_t *p_vdec )
p_vdec->psz_namecodec ); p_vdec->psz_namecodec );
} }
vlc_object_release( p_vdec->p_vout ); if( p_vdec->p_vout != NULL )
vout_DestroyThread( p_vdec->p_vout ); {
/* We are about to die. Reattach video output to p_vlc. */
vlc_object_detach( p_vdec->p_vout, p_vdec->p_fifo );
vlc_object_attach( p_vdec->p_vout, p_vdec->p_fifo->p_vlc );
}
free( p_vdec ); free( p_vdec );
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* gnome.c : Gnome plugin for vlc * gnome.c : Gnome plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000 VideoLAN * Copyright (C) 2000 VideoLAN
* $Id: gnome.c,v 1.26 2002/06/02 09:03:54 sam Exp $ * $Id: gnome.c,v 1.27 2002/06/07 14:30:40 sam Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* *
...@@ -180,6 +180,11 @@ static int intf_Open( intf_thread_t *p_intf ) ...@@ -180,6 +180,11 @@ static int intf_Open( intf_thread_t *p_intf )
*****************************************************************************/ *****************************************************************************/
static void intf_Close( intf_thread_t *p_intf ) static void intf_Close( intf_thread_t *p_intf )
{ {
if( p_intf->p_sys->p_input )
{
vlc_object_release( p_intf->p_sys->p_input );
}
msg_Unsubscribe( p_intf, p_intf->p_sys->p_sub ); msg_Unsubscribe( p_intf, p_intf->p_sys->p_sub );
/* Destroy structure */ /* Destroy structure */
...@@ -222,7 +227,7 @@ static void intf_Run( intf_thread_t *p_intf ) ...@@ -222,7 +227,7 @@ static void intf_Run( intf_thread_t *p_intf )
/* Create some useful widgets that will certainly be used */ /* Create some useful widgets that will certainly be used */
p_intf->p_sys->p_window = create_intf_window( ); p_intf->p_sys->p_window = create_intf_window( );
p_intf->p_sys->p_popup = create_intf_popup( ); p_intf->p_sys->p_popup = create_intf_popup( );
p_intf->p_sys->p_playlist = create_intf_playlist(); p_intf->p_sys->p_playwin = create_intf_playlist();
p_intf->p_sys->p_messages = create_intf_messages(); p_intf->p_sys->p_messages = create_intf_messages();
/* Set the title of the main window */ /* Set the title of the main window */
...@@ -235,7 +240,7 @@ static void intf_Run( intf_thread_t *p_intf ) ...@@ -235,7 +240,7 @@ static void intf_Run( intf_thread_t *p_intf )
1, GDK_ACTION_COPY ); 1, GDK_ACTION_COPY );
/* Accept file drops on the playlist window */ /* Accept file drops on the playlist window */
gtk_drag_dest_set( GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( gtk_drag_dest_set( GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
p_intf->p_sys->p_playlist ), "playlist_clist") ), p_intf->p_sys->p_playwin ), "playlist_clist") ),
GTK_DEST_DEFAULT_ALL, target_table, GTK_DEST_DEFAULT_ALL, target_table,
1, GDK_ACTION_COPY ); 1, GDK_ACTION_COPY );
...@@ -298,7 +303,7 @@ static void intf_Run( intf_thread_t *p_intf ) ...@@ -298,7 +303,7 @@ static void intf_Run( intf_thread_t *p_intf )
gtk_object_set_data( GTK_OBJECT(p_intf->p_sys->p_popup), gtk_object_set_data( GTK_OBJECT(p_intf->p_sys->p_popup),
"p_intf", p_intf ); "p_intf", p_intf );
gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_playlist ), gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_playwin ),
"p_intf", p_intf ); "p_intf", p_intf );
gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_messages ), gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_messages ),
......
This diff is collapsed.
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* gnome_callbacks.c : GNOME-specific callbacks. * gnome_callbacks.c : GNOME-specific callbacks.
***************************************************************************** *****************************************************************************
* Copyright (C) 2000, 2001, 2002 VideoLAN * Copyright (C) 2000, 2001, 2002 VideoLAN
* $Id: gnome_callbacks.c,v 1.11 2002/06/04 20:33:25 sam Exp $ * $Id: gnome_callbacks.c,v 1.12 2002/06/07 14:30:40 sam Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* Stéphane Borel <stef@via.ecp.fr> * Stéphane Borel <stef@via.ecp.fr>
...@@ -23,280 +23,5 @@ ...@@ -23,280 +23,5 @@
*****************************************************************************/ *****************************************************************************/
/***************************************************************************** /*****************************************************************************
* Preamble * This file is not needed: everything is in gtk_callbacks.c
*****************************************************************************/ *****************************************************************************/
#include <vlc/vlc.h>
#include <vlc/intf.h>
#include "gnome_callbacks.h"
#include "gnome_interface.h"
#include "gnome_support.h"
#include <gnome.h>
/*
* These wrappers are made necessary by a bug in glade that seems not
* to put user_data in c source of menuitems.
*/
void
GnomeMenubarFileOpenActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkFileOpenShow( GTK_WIDGET( menuitem ), NULL, "intf_window" );
}
void
GnomeMenubarDiscOpenActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkDiscOpenShow( GTK_WIDGET( menuitem ), NULL, "intf_window" );
}
void
GnomeMenubarNetworkOpenActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkNetworkOpenShow( GTK_WIDGET( menuitem ), NULL, "intf_window" );
}
void
GnomeMenubarDiscEjectActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkDiscEject( GTK_WIDGET( menuitem ), NULL, "intf_window" );
}
void
GnomeMenubarExitActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkExit( GTK_WIDGET( menuitem ), NULL, "intf_window" );
}
void
GnomeMenubarWindowToggleActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkWindowToggle( GTK_WIDGET( menuitem ), NULL, "intf_window" );
}
void
GnomeMenubarFullscreenActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkFullscreen( GTK_WIDGET( menuitem ), NULL, "intf_window" );
}
void
GnomeMenubarPlaylistActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkPlaylistShow( GTK_WIDGET( menuitem ), NULL, "intf_window" );
}
void
GnomeMenubarModulesActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkModulesShow( GTK_WIDGET( menuitem ), NULL, "intf_window" );
}
void
GnomeMenubarPreferencesActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkPreferencesActivate( menuitem, "intf_window" );
}
void
GnomeMenubarAboutActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkAboutShow( GTK_WIDGET( menuitem ), NULL, "intf_window" );
}
void
GnomePopupPlayActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkControlPlay( GTK_WIDGET( menuitem ), NULL, "intf_popup" );
}
void
GnomePopupPauseActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkControlPause( GTK_WIDGET( menuitem ), NULL, "intf_popup" );
}
void
GnomePopupStopActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkControlStop( GTK_WIDGET( menuitem ), NULL, "intf_popup" );
}
void
GnomePopupBackActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkControlBack( GTK_WIDGET( menuitem ), NULL, "intf_popup" );
}
void
GnomePopupSlowActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkControlSlow( GTK_WIDGET( menuitem ), NULL, "intf_popup" );
}
void
GnomePopupFastActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkControlFast( GTK_WIDGET( menuitem ), NULL, "intf_popup" );
}
void
GnomePopupWindowToggleActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkWindowToggle( GTK_WIDGET( menuitem ), NULL, "intf_popup" );
}
void
GnomePopupFullscreenActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkFullscreen( GTK_WIDGET( menuitem ), NULL, "intf_popup" );
}
void
GnomePopupNextActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkPlaylistNext( GTK_WIDGET( menuitem ), NULL, "intf_popup" );
}
void
GnomePopupPrevActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkPlaylistPrev( GTK_WIDGET( menuitem ), NULL, "intf_popup" );
}
void
GnomePopupFileOpenActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkFileOpenShow( GTK_WIDGET( menuitem ), NULL, "intf_popup" );
}
void
GnomePopupDiscOpenActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkDiscOpenShow( GTK_WIDGET( menuitem ), NULL, "intf_popup" );
}
void
GnomePopupNetworkOpenActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkNetworkOpenShow( GTK_WIDGET( menuitem ), NULL, "intf_popup" );
}
void
GnomePopupAboutActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkAboutShow( GTK_WIDGET( menuitem ), NULL, "intf_popup" );
}
void
GnomePopupPlaylistActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkPlaylistShow( GTK_WIDGET( menuitem ), NULL, "intf_popup" );
}
void
GnomePopupPreferencesActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkPreferencesActivate( menuitem, "intf_popup" );
}
void
GnomePopupExitActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkExit( GTK_WIDGET( menuitem ), NULL, "intf_popup" );
}
void
GnomePlaylistDiscOpenActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkDiscOpenShow( GTK_WIDGET( menuitem ), NULL, "intf_playlist" );
}
void
GnomePlaylistFileOpenActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkFileOpenShow( GTK_WIDGET( menuitem ), NULL, "intf_playlist" );
}
void
GnomePlaylistNetworkOpenActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkNetworkOpenShow( GTK_WIDGET( menuitem ), NULL, "intf_playlist" );
}
void
GnomePopupJumpActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkJumpShow( GTK_WIDGET( menuitem ), NULL, "intf_popup" );
}
void
GnomeMenubarMessagesActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkMessagesShow( GTK_WIDGET( menuitem ), NULL, "intf_window" );
}
#include <gnome.h>
#include "gtk_callbacks.h" #include "gtk_callbacks.h"
void
GnomeMenubarFileOpenActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomeMenubarDiscOpenActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomeMenubarNetworkOpenActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomeMenubarDiscEjectActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomeMenubarExitActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomeMenubarWindowToggleActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomeMenubarFullscreenActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomeMenubarPlaylistActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomeMenubarModulesActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomeMenubarPreferencesActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomeMenubarAboutActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomePopupPlayActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomePopupPauseActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomePopupStopActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomePopupBackActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomePopupSlowActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomePopupFastActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomePopupWindowToggleActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomePopupFullscreenActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomePopupNextActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomePopupPrevActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomePopupFileOpenActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomePopupDiscOpenActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomePopupNetworkOpenActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomePopupAboutActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomePopupPlaylistActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomePopupPreferencesActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomePopupExitActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomePlaylistDiscOpenActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomePlaylistFileOpenActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomePlaylistNetworkOpenActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GnomePopupJumpActivate (GtkMenuItem *menuitem,
gpointer user_data);
void
GtkNetworkJoin (GtkEditable *editable,
gpointer user_data);
void
GtkChannelGo (GtkButton *button,
gpointer user_data);
void
GtkNetworkOpenBroadcast (GtkToggleButton *togglebutton,
gpointer user_data);
void
GtkNetworkOpenChannel (GtkToggleButton *togglebutton,
gpointer user_data);
void
GnomeMenubarMessagesActivate (GtkMenuItem *menuitem,
gpointer user_data);
gboolean
GtkSatOpenShow (GtkWidget *widget,
GdkEventButton *event,
gpointer user_data);
void
GtkSatOpenOk (GtkButton *button,
gpointer user_data);
void
GtkSatOpenCancel (GtkButton *button,
gpointer user_data);
void
GnomeNetworkOpenUDP (GtkToggleButton *togglebutton,
gpointer user_data);
void
GnomeNetworkOpenMulticast (GtkToggleButton *togglebutton,
gpointer user_data);
void
GnomeNetworkOpenChannel (GtkToggleButton *togglebutton,
gpointer user_data);
void
GnomeNetworkOpenHTTP (GtkToggleButton *togglebutton,
gpointer user_data);
void
GtkNetworkOpenUDP (GtkToggleButton *togglebutton,
gpointer user_data);
void
GtkNetworkOpenMulticast (GtkToggleButton *togglebutton,
gpointer user_data);
void
GtkNetworkOpenChannel (GtkToggleButton *togglebutton,
gpointer user_data);
void
GtkNetworkOpenHTTP (GtkToggleButton *togglebutton,
gpointer user_data);
This diff is collapsed.
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* gtk.c : Gtk+ plugin for vlc * gtk.c : Gtk+ plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000-2001 VideoLAN * Copyright (C) 2000-2001 VideoLAN
* $Id: gtk.c,v 1.26 2002/06/02 09:03:54 sam Exp $ * $Id: gtk.c,v 1.27 2002/06/07 14:30:40 sam Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* *
...@@ -174,6 +174,11 @@ static int intf_Open( intf_thread_t *p_intf ) ...@@ -174,6 +174,11 @@ static int intf_Open( intf_thread_t *p_intf )
*****************************************************************************/ *****************************************************************************/
static void intf_Close( intf_thread_t *p_intf ) static void intf_Close( intf_thread_t *p_intf )
{ {
if( p_intf->p_sys->p_input )
{
vlc_object_release( p_intf->p_sys->p_input );
}
msg_Unsubscribe( p_intf, p_intf->p_sys->p_sub ); msg_Unsubscribe( p_intf, p_intf->p_sys->p_sub );
/* Destroy structure */ /* Destroy structure */
...@@ -217,7 +222,7 @@ static void intf_Run( intf_thread_t *p_intf ) ...@@ -217,7 +222,7 @@ static void intf_Run( intf_thread_t *p_intf )
/* Create some useful widgets that will certainly be used */ /* Create some useful widgets that will certainly be used */
p_intf->p_sys->p_window = create_intf_window(); p_intf->p_sys->p_window = create_intf_window();
p_intf->p_sys->p_popup = create_intf_popup(); p_intf->p_sys->p_popup = create_intf_popup();
p_intf->p_sys->p_playlist = create_intf_playlist(); p_intf->p_sys->p_playwin = create_intf_playlist();
p_intf->p_sys->p_messages = create_intf_messages(); p_intf->p_sys->p_messages = create_intf_messages();
p_intf->p_sys->p_tooltips = gtk_tooltips_new(); p_intf->p_sys->p_tooltips = gtk_tooltips_new();
...@@ -231,7 +236,7 @@ static void intf_Run( intf_thread_t *p_intf ) ...@@ -231,7 +236,7 @@ static void intf_Run( intf_thread_t *p_intf )
1, GDK_ACTION_COPY ); 1, GDK_ACTION_COPY );
/* Accept file drops on the playlist window */ /* Accept file drops on the playlist window */
gtk_drag_dest_set( GTK_WIDGET( lookup_widget( p_intf->p_sys->p_playlist, gtk_drag_dest_set( GTK_WIDGET( lookup_widget( p_intf->p_sys->p_playwin,
"playlist_clist") ), "playlist_clist") ),
GTK_DEST_DEFAULT_ALL, target_table, GTK_DEST_DEFAULT_ALL, target_table,
1, GDK_ACTION_COPY ); 1, GDK_ACTION_COPY );
...@@ -285,7 +290,7 @@ static void intf_Run( intf_thread_t *p_intf ) ...@@ -285,7 +290,7 @@ static void intf_Run( intf_thread_t *p_intf )
gtk_object_set_data( GTK_OBJECT(p_intf->p_sys->p_popup), gtk_object_set_data( GTK_OBJECT(p_intf->p_sys->p_popup),
"p_intf", p_intf ); "p_intf", p_intf );
gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_playlist ), gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_playwin ),
"p_intf", p_intf ); "p_intf", p_intf );
gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_messages ), gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_messages ),
...@@ -396,20 +401,16 @@ static gint GtkManage( gpointer p_data ) ...@@ -396,20 +401,16 @@ static gint GtkManage( gpointer p_data )
GtkPlayListManage( p_data ); GtkPlayListManage( p_data );
/* Update the input */ /* Update the input */
if( p_intf->p_sys->p_input != NULL )
{
if( p_intf->p_sys->p_input->b_dead )
{
vlc_object_release( p_intf->p_sys->p_input );
p_intf->p_sys->p_input = NULL;
}
}
if( p_intf->p_sys->p_input == NULL ) if( p_intf->p_sys->p_input == NULL )
{ {
p_intf->p_sys->p_input = vlc_object_find( p_intf, VLC_OBJECT_INPUT, p_intf->p_sys->p_input = vlc_object_find( p_intf, VLC_OBJECT_INPUT,
FIND_ANYWHERE ); FIND_ANYWHERE );
} }
else if( p_intf->p_sys->p_input->b_dead )
{
vlc_object_release( p_intf->p_sys->p_input );
p_intf->p_sys->p_input = NULL;
}
if( p_intf->p_sys->p_input ) if( p_intf->p_sys->p_input )
{ {
......
This diff is collapsed.
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* gtk_callbacks.c : Callbacks for the Gtk+ plugin. * gtk_callbacks.c : Callbacks for the Gtk+ plugin.
***************************************************************************** *****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN * Copyright (C) 2000, 2001 VideoLAN
* $Id: gtk_callbacks.c,v 1.43 2002/06/04 20:33:25 sam Exp $ * $Id: gtk_callbacks.c,v 1.44 2002/06/07 14:30:40 sam Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* Stphane Borel <stef@via.ecp.fr> * Stphane Borel <stef@via.ecp.fr>
...@@ -55,7 +55,6 @@ ...@@ -55,7 +55,6 @@
*/ */
gboolean GtkExit( GtkWidget *widget, gboolean GtkExit( GtkWidget *widget,
GdkEventButton *event,
gpointer user_data ) gpointer user_data )
{ {
intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data ); intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
...@@ -71,14 +70,13 @@ gboolean GtkWindowDelete( GtkWidget *widget, ...@@ -71,14 +70,13 @@ gboolean GtkWindowDelete( GtkWidget *widget,
GdkEvent *event, GdkEvent *event,
gpointer user_data ) gpointer user_data )
{ {
GtkExit( GTK_WIDGET( widget ), NULL, user_data ); GtkExit( GTK_WIDGET( widget ), user_data );
return TRUE; return TRUE;
} }
gboolean GtkWindowToggle( GtkWidget *widget, gboolean GtkWindowToggle( GtkWidget *widget,
GdkEventButton *event,
gpointer user_data ) gpointer user_data )
{ {
intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data ); intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
...@@ -97,7 +95,6 @@ gboolean GtkWindowToggle( GtkWidget *widget, ...@@ -97,7 +95,6 @@ gboolean GtkWindowToggle( GtkWidget *widget,
} }
gboolean GtkFullscreen( GtkWidget *widget, gboolean GtkFullscreen( GtkWidget *widget,
GdkEventButton *event,
gpointer user_data) gpointer user_data)
{ {
intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data ); intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
...@@ -125,19 +122,8 @@ void GtkWindowDrag( GtkWidget *widget, ...@@ -125,19 +122,8 @@ void GtkWindowDrag( GtkWidget *widget,
guint time, guint time,
gpointer user_data) gpointer user_data)
{ {
#if 0 /* PLAYLIST TARASS */
intf_thread_t * p_intf = GetIntf( GTK_WIDGET(widget), "intf_window" ); intf_thread_t * p_intf = GetIntf( GTK_WIDGET(widget), "intf_window" );
int end = p_intf->p_vlc->p_playlist->i_size;
GtkDropDataReceived( p_intf, data, info, PLAYLIST_END ); GtkDropDataReceived( p_intf, data, info, PLAYLIST_END );
if( p_intf->p_sys->p_input != NULL )
{
/* FIXME: temporary hack */
p_intf->p_sys->p_input->b_eof = 1;
}
intf_PlaylistJumpto( p_intf->p_vlc->p_playlist, end-1 );
#endif
} }
...@@ -200,8 +186,6 @@ void GtkTitlePrev( GtkButton * button, gpointer user_data ) ...@@ -200,8 +186,6 @@ void GtkTitlePrev( GtkButton * button, gpointer user_data )
GtkSetupMenus( p_intf ); GtkSetupMenus( p_intf );
vlc_mutex_unlock( &p_intf->p_sys->p_input->stream.stream_lock ); vlc_mutex_unlock( &p_intf->p_sys->p_input->stream.stream_lock );
} }
vlc_object_release( p_intf->p_sys->p_input );
} }
...@@ -226,7 +210,6 @@ void GtkTitleNext( GtkButton * button, gpointer user_data ) ...@@ -226,7 +210,6 @@ void GtkTitleNext( GtkButton * button, gpointer user_data )
GtkSetupMenus( p_intf ); GtkSetupMenus( p_intf );
vlc_mutex_unlock( &p_intf->p_sys->p_input->stream.stream_lock ); vlc_mutex_unlock( &p_intf->p_sys->p_input->stream.stream_lock );
} }
} }
...@@ -316,7 +299,6 @@ void GtkChannelGo( GtkButton * button, gpointer user_data ) ...@@ -316,7 +299,6 @@ void GtkChannelGo( GtkButton * button, gpointer user_data )
****************************************************************************/ ****************************************************************************/
gboolean GtkAboutShow( GtkWidget *widget, gboolean GtkAboutShow( GtkWidget *widget,
GdkEventButton *event,
gpointer user_data) gpointer user_data)
{ {
intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data ); intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
...@@ -346,7 +328,6 @@ void GtkAboutOk( GtkButton * button, gpointer user_data) ...@@ -346,7 +328,6 @@ void GtkAboutOk( GtkButton * button, gpointer user_data)
****************************************************************************/ ****************************************************************************/
gboolean GtkJumpShow( GtkWidget *widget, gboolean GtkJumpShow( GtkWidget *widget,
GdkEventButton *event,
gpointer user_data) gpointer user_data)
{ {
intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data ); intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
...@@ -371,6 +352,11 @@ void GtkJumpOk( GtkButton *button, ...@@ -371,6 +352,11 @@ void GtkJumpOk( GtkButton *button,
intf_thread_t * p_intf = GetIntf( GTK_WIDGET( button ), (char*)user_data ); intf_thread_t * p_intf = GetIntf( GTK_WIDGET( button ), (char*)user_data );
int i_hours, i_minutes, i_seconds; int i_hours, i_minutes, i_seconds;
if( p_intf->p_sys->p_input == NULL )
{
return;
}
#define GET_VALUE( name ) \ #define GET_VALUE( name ) \
gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON( gtk_object_get_data( \ gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON( gtk_object_get_data( \
GTK_OBJECT( p_intf->p_sys->p_jump ), name ) ) ) GTK_OBJECT( p_intf->p_sys->p_jump ), name ) ) )
...@@ -379,12 +365,10 @@ void GtkJumpOk( GtkButton *button, ...@@ -379,12 +365,10 @@ void GtkJumpOk( GtkButton *button,
i_seconds = GET_VALUE( "jump_second_spinbutton" ); i_seconds = GET_VALUE( "jump_second_spinbutton" );
#undef GET_VALUE #undef GET_VALUE
input_Seek( p_intf, i_seconds + 60 * i_minutes + 3600 * i_hours, input_Seek( p_intf->p_sys->p_input,
INPUT_SEEK_SECONDS | INPUT_SEEK_SET ); i_seconds + 60 * i_minutes + 3600 * i_hours,
INPUT_SEEK_SECONDS | INPUT_SEEK_SET );
#if 0 /* PLAYLIST TARASS */
p_intf->p_vlc->p_playlist->b_stopped = 0;
#endif
gtk_widget_hide( gtk_widget_get_toplevel( GTK_WIDGET (button) ) ); gtk_widget_hide( gtk_widget_get_toplevel( GTK_WIDGET (button) ) );
} }
...@@ -395,51 +379,10 @@ void GtkJumpCancel( GtkButton *button, ...@@ -395,51 +379,10 @@ void GtkJumpCancel( GtkButton *button,
gtk_widget_hide( gtk_widget_get_toplevel( GTK_WIDGET (button) ) ); gtk_widget_hide( gtk_widget_get_toplevel( GTK_WIDGET (button) ) );
} }
/****************************************************************************
* Callbacks for menuitems
****************************************************************************/
void GtkExitActivate( GtkMenuItem * menuitem, gpointer user_data )
{
GtkExit( GTK_WIDGET( menuitem ), NULL, user_data );
}
void GtkFullscreenActivate( GtkMenuItem * menuitem, gpointer user_data )
{
GtkFullscreen( GTK_WIDGET( menuitem ), NULL, user_data );
}
void GtkWindowToggleActivate( GtkMenuItem * menuitem, gpointer user_data )
{
GtkWindowToggle( GTK_WIDGET( menuitem ), NULL, user_data );
}
void GtkAboutActivate( GtkMenuItem * menuitem, gpointer user_data )
{
GtkAboutShow( GTK_WIDGET( menuitem ), NULL, user_data );
}
void GtkJumpActivate( GtkMenuItem * menuitem, gpointer user_data )
{
GtkJumpShow( GTK_WIDGET( menuitem ), NULL, user_data );
}
void GtkMessagesActivate( GtkMenuItem * menuitem, gpointer user_data )
{
GtkMessagesShow( GTK_WIDGET( menuitem ), NULL, user_data );
}
/**************************************************************************** /****************************************************************************
* Callbacks for disc ejection * Callbacks for disc ejection
****************************************************************************/ ****************************************************************************/
gboolean GtkDiscEject ( GtkWidget *widget, GdkEventButton *event, gboolean GtkDiscEject ( GtkWidget *widget, gpointer user_data )
gpointer user_data )
{ {
#if 0 /* PLAYLIST TARASS */ #if 0 /* PLAYLIST TARASS */
intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data ); intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
...@@ -523,17 +466,11 @@ gboolean GtkDiscEject ( GtkWidget *widget, GdkEventButton *event, ...@@ -523,17 +466,11 @@ gboolean GtkDiscEject ( GtkWidget *widget, GdkEventButton *event,
return TRUE; return TRUE;
} }
void GtkEjectDiscActivate ( GtkMenuItem *menuitem, gpointer user_data )
{
GtkDiscEject( GTK_WIDGET( menuitem ), NULL, user_data );
}
/**************************************************************************** /****************************************************************************
* Messages window * Messages window
****************************************************************************/ ****************************************************************************/
gboolean GtkMessagesShow( GtkWidget *widget, gboolean GtkMessagesShow( GtkWidget *widget,
GdkEventButton *event,
gpointer user_data) gpointer user_data)
{ {
static GdkColor black = { 0, 0x0000, 0x0000, 0x0000 }; static GdkColor black = { 0, 0x0000, 0x0000, 0x0000 };
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* gtk_callbacks.h : Callbacks for the gtk plugin. * gtk_callbacks.h : Callbacks for the gtk plugin.
***************************************************************************** *****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN * Copyright (C) 2000, 2001 VideoLAN
* $Id: gtk_callbacks.h,v 1.19 2002/05/18 02:12:20 ipkiss Exp $ * $Id: gtk_callbacks.h,v 1.20 2002/06/07 14:30:40 sam Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* Stphane Borel <stef@via.ecp.fr> * Stphane Borel <stef@via.ecp.fr>
...@@ -42,15 +42,15 @@ ...@@ -42,15 +42,15 @@
* main window callbacks: specific prototypes are in headers listed before * main window callbacks: specific prototypes are in headers listed before
*****************************************************************************/ *****************************************************************************/
gboolean GtkExit ( GtkWidget *, GdkEventButton *, gpointer ); gboolean GtkExit ( GtkWidget *, gpointer );
gboolean GtkWindowToggle ( GtkWidget *, GdkEventButton *, gpointer ); gboolean GtkWindowToggle ( GtkWidget *, gpointer );
gboolean GtkFullscreen ( GtkWidget *, GdkEventButton *, gpointer ); gboolean GtkFullscreen ( GtkWidget *, gpointer );
gboolean GtkSliderRelease ( GtkWidget *, GdkEventButton *, gpointer ); gboolean GtkSliderRelease ( GtkWidget *, GdkEventButton *, gpointer );
gboolean GtkSliderPress ( GtkWidget *, GdkEventButton *, gpointer ); gboolean GtkSliderPress ( GtkWidget *, GdkEventButton *, gpointer );
gboolean GtkWindowDelete ( GtkWidget * widget, GdkEvent *, gpointer ); gboolean GtkWindowDelete ( GtkWidget * widget, GdkEvent *, gpointer );
gboolean GtkJumpShow ( GtkWidget *, GdkEventButton *, gpointer ); gboolean GtkJumpShow ( GtkWidget *, gpointer );
gboolean GtkAboutShow ( GtkWidget *, GdkEventButton *, gpointer ); gboolean GtkAboutShow ( GtkWidget *, gpointer );
gboolean GtkMessagesShow ( GtkWidget *, GdkEventButton *, gpointer ); gboolean GtkMessagesShow ( GtkWidget *, gpointer );
void GtkTitlePrev ( GtkButton * button, gpointer ); void GtkTitlePrev ( GtkButton * button, gpointer );
void GtkTitleNext ( GtkButton * button, gpointer ); void GtkTitleNext ( GtkButton * button, gpointer );
void GtkChapterPrev ( GtkButton *, gpointer ); void GtkChapterPrev ( GtkButton *, gpointer );
...@@ -61,28 +61,14 @@ void GtkWindowDrag ( GtkWidget *, GdkDragContext *, ...@@ -61,28 +61,14 @@ void GtkWindowDrag ( GtkWidget *, GdkDragContext *,
guint , guint, gpointer ); guint , guint, gpointer );
void GtkJumpOk ( GtkButton * button, gpointer ); void GtkJumpOk ( GtkButton * button, gpointer );
void GtkJumpCancel ( GtkButton * button, gpointer user_data ); void GtkJumpCancel ( GtkButton * button, gpointer user_data );
void GtkExitActivate ( GtkMenuItem *, gpointer );
void GtkWindowToggleActivate( GtkMenuItem *, gpointer );
void GtkFullscreenActivate ( GtkMenuItem *, gpointer );
void GtkAboutActivate ( GtkMenuItem *, gpointer );
void GtkJumpActivate ( GtkMenuItem *, gpointer );
void GtkNetworkJoin ( GtkEditable *, gpointer ); void GtkNetworkJoin ( GtkEditable *, gpointer );
void GtkChannelGo ( GtkButton *, gpointer ); void GtkChannelGo ( GtkButton *, gpointer );
void GtkNetworkOpenChannel ( GtkToggleButton *, gpointer ); void GtkNetworkOpenChannel ( GtkToggleButton *, gpointer );
void
GtkEjectDiscActivate (GtkMenuItem *menuitem,
gpointer user_data);
gboolean gboolean
GtkDiscEject (GtkWidget *widget, GtkDiscEject (GtkWidget *widget,
GdkEventButton *event,
gpointer user_data);
void
GtkMessagesActivate (GtkMenuItem *menuitem,
gpointer user_data); gpointer user_data);
void void
...@@ -96,7 +82,6 @@ GtkMessagesDelete (GtkWidget *widget, ...@@ -96,7 +82,6 @@ GtkMessagesDelete (GtkWidget *widget,
gboolean gboolean
GtkSatOpenShow (GtkWidget *widget, GtkSatOpenShow (GtkWidget *widget,
GdkEventButton *event,
gpointer user_data); gpointer user_data);
void void
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* gtk_common.h: private Gtk+ interface description * gtk_common.h: private Gtk+ interface description
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: gtk_common.h,v 1.9 2002/06/01 12:31:59 sam Exp $ * $Id: gtk_common.h,v 1.10 2002/06/07 14:30:41 sam Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* *
...@@ -63,7 +63,7 @@ struct intf_sys_s ...@@ -63,7 +63,7 @@ struct intf_sys_s
/* windows and widgets */ /* windows and widgets */
GtkWidget * p_window; /* main window */ GtkWidget * p_window; /* main window */
GtkWidget * p_popup; /* popup menu */ GtkWidget * p_popup; /* popup menu */
GtkWidget * p_playlist; /* playlist */ GtkWidget * p_playwin; /* playlist */
GtkWidget * p_modules; /* module manager */ GtkWidget * p_modules; /* module manager */
GtkWidget * p_about; /* about window */ GtkWidget * p_about; /* about window */
GtkWidget * p_fileopen; /* file open window */ GtkWidget * p_fileopen; /* file open window */
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* gtk_control.c : functions to handle stream control buttons. * gtk_control.c : functions to handle stream control buttons.
***************************************************************************** *****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN * Copyright (C) 2000, 2001 VideoLAN
* $Id: gtk_control.c,v 1.11 2002/06/02 09:03:54 sam Exp $ * $Id: gtk_control.c,v 1.12 2002/06/07 14:30:41 sam Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* Stphane Borel <stef@via.ecp.fr> * Stphane Borel <stef@via.ecp.fr>
...@@ -52,7 +52,6 @@ ...@@ -52,7 +52,6 @@
* by other callbacks * by other callbacks
****************************************************************************/ ****************************************************************************/
gboolean GtkControlBack( GtkWidget *widget, gboolean GtkControlBack( GtkWidget *widget,
GdkEventButton *event,
gpointer user_data ) gpointer user_data )
{ {
return FALSE; return FALSE;
...@@ -60,162 +59,98 @@ gboolean GtkControlBack( GtkWidget *widget, ...@@ -60,162 +59,98 @@ gboolean GtkControlBack( GtkWidget *widget,
gboolean GtkControlStop( GtkWidget *widget, gboolean GtkControlStop( GtkWidget *widget,
GdkEventButton *event,
gpointer user_data ) gpointer user_data )
{ {
intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data ); intf_thread_t * p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
playlist_t *p_playlist; playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
FIND_ANYWHERE );
p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE ); if( p_playlist == NULL )
if( p_playlist )
{ {
playlist_Stop( p_playlist ); return FALSE;
vlc_object_release( p_playlist );
} }
playlist_Stop( p_playlist );
vlc_object_release( p_playlist );
return TRUE; return TRUE;
} }
gboolean GtkControlPlay( GtkWidget *widget, gboolean GtkControlPlay( GtkWidget *widget,
GdkEventButton *event,
gpointer user_data ) gpointer user_data )
{ {
intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data ); intf_thread_t * p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
playlist_t *p_playlist; playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
FIND_ANYWHERE );
p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE ); if( p_playlist == NULL )
{
GtkFileOpenShow( widget, user_data );
return TRUE;
}
if( p_playlist ) /* If the playlist is empty, open a file requester instead */
vlc_mutex_lock( &p_playlist->object_lock );
if( p_playlist->i_size )
{ {
vlc_mutex_unlock( &p_playlist->object_lock );
playlist_Play( p_playlist ); playlist_Play( p_playlist );
vlc_object_release( p_playlist ); vlc_object_release( p_playlist );
} }
else
#if 0 /* FIXME: deal with this */
{ {
vlc_mutex_unlock( &p_intf->p_vlc->p_playlist->change_lock ); vlc_mutex_unlock( &p_playlist->object_lock );
GtkFileOpenShow( widget, event, user_data ); vlc_object_release( p_playlist );
GtkFileOpenShow( widget, user_data );
} }
#endif
return TRUE; return TRUE;
} }
gboolean GtkControlPause( GtkWidget *widget, gboolean GtkControlPause( GtkWidget *widget,
GdkEventButton *event,
gpointer user_data ) gpointer user_data )
{ {
intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data ); intf_thread_t * p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
playlist_t *p_playlist;
p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
if( p_playlist ) if( p_intf->p_sys->p_input == NULL )
{ {
playlist_Pause( p_playlist ); return FALSE;
vlc_object_release( p_playlist );
} }
input_SetStatus( p_intf->p_sys->p_input, INPUT_STATUS_PAUSE );
return TRUE; return TRUE;
} }
gboolean GtkControlSlow( GtkWidget *widget, gboolean GtkControlSlow( GtkWidget *widget,
GdkEventButton *event,
gpointer user_data ) gpointer user_data )
{ {
intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data ); intf_thread_t * p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
playlist_t *p_playlist;
p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
#if 0 if( p_intf->p_sys->p_input == NULL )
if( p_playlist )
{ {
playlist_Slow( p_playlist ); return FALSE;
vlc_object_release( p_playlist );
} }
#endif
input_SetStatus( p_intf->p_sys->p_input, INPUT_STATUS_SLOWER );
return TRUE; return TRUE;
} }
gboolean GtkControlFast( GtkWidget *widget, gboolean GtkControlFast( GtkWidget *widget,
GdkEventButton *event,
gpointer user_data ) gpointer user_data )
{ {
intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data ); intf_thread_t * p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
playlist_t *p_playlist;
p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
#if 0 if( p_intf->p_sys->p_input == NULL )
if( p_playlist )
{ {
playlist_Fast( p_playlist ); return FALSE;
vlc_object_release( p_playlist );
} }
#endif
return TRUE;
}
input_SetStatus( p_intf->p_sys->p_input, INPUT_STATUS_FASTER );
/**************************************************************************** return TRUE;
* Control callbacks for menuitems
****************************************************************************
* We have different callaback for menuitem since we must use the
* activate signal toi popdown the menu automatically
****************************************************************************/
void GtkPlayActivate( GtkMenuItem * menuitem, gpointer user_data )
{
GtkControlPlay( GTK_WIDGET( menuitem ), NULL, user_data );
}
void GtkPauseActivate( GtkMenuItem * menuitem, gpointer user_data )
{
GtkControlPause( GTK_WIDGET( menuitem ), NULL, user_data );
}
void
GtKStopActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkControlStop( GTK_WIDGET( menuitem ), NULL, user_data );
}
void
GtkBackActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkControlBack( GTK_WIDGET( menuitem ), NULL, user_data );
}
void
GtkSlowActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkControlSlow( GTK_WIDGET( menuitem ), NULL, user_data );
}
void
GtkFastActivate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkControlFast( GTK_WIDGET( menuitem ), NULL, user_data );
} }
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* gtk_control.h: prototypes for control functions * gtk_control.h: prototypes for control functions
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: gtk_control.h,v 1.1 2001/05/15 01:01:44 stef Exp $ * $Id: gtk_control.h,v 1.2 2002/06/07 14:30:41 sam Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* Stphane Borel <stef@via.ecp.fr> * Stphane Borel <stef@via.ecp.fr>
...@@ -22,16 +22,10 @@ ...@@ -22,16 +22,10 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/ *****************************************************************************/
gboolean GtkControlBack ( GtkWidget *, GdkEventButton *, gpointer ); gboolean GtkControlBack ( GtkWidget *, gpointer );
gboolean GtkControlStop ( GtkWidget *, GdkEventButton *, gpointer ); gboolean GtkControlStop ( GtkWidget *, gpointer );
gboolean GtkControlPlay ( GtkWidget *, GdkEventButton *, gpointer ); gboolean GtkControlPlay ( GtkWidget *, gpointer );
gboolean GtkControlPause( GtkWidget *, GdkEventButton *, gpointer ); gboolean GtkControlPause( GtkWidget *, gpointer );
gboolean GtkControlSlow ( GtkWidget *, GdkEventButton *, gpointer ); gboolean GtkControlSlow ( GtkWidget *, gpointer );
gboolean GtkControlFast ( GtkWidget *, GdkEventButton *, gpointer ); gboolean GtkControlFast ( GtkWidget *, gpointer );
void GtkPlayActivate ( GtkMenuItem *, gpointer );
void GtkPauseActivate ( GtkMenuItem *, gpointer );
void GtKStopActivate ( GtkMenuItem *, gpointer );
void GtkBackActivate ( GtkMenuItem *, gpointer );
void GtkSlowActivate ( GtkMenuItem *, gpointer );
void GtkFastActivate ( GtkMenuItem *, gpointer );
This diff is collapsed.
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* gtk_modules.c : functions to build modules configuration boxes. * gtk_modules.c : functions to build modules configuration boxes.
***************************************************************************** *****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN * Copyright (C) 2000, 2001 VideoLAN
* $Id: gtk_modules.c,v 1.8 2002/06/01 12:31:59 sam Exp $ * $Id: gtk_modules.c,v 1.9 2002/06/07 14:30:41 sam Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* Stphane Borel <stef@via.ecp.fr> * Stphane Borel <stef@via.ecp.fr>
...@@ -46,7 +46,6 @@ ...@@ -46,7 +46,6 @@
#include "gtk_common.h" #include "gtk_common.h"
gboolean GtkModulesShow( GtkWidget *widget, gboolean GtkModulesShow( GtkWidget *widget,
GdkEventButton *event,
gpointer user_data ) gpointer user_data )
{ {
intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), "intf_window" ); intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), "intf_window" );
...@@ -70,10 +69,3 @@ void GtkModulesCancel( GtkButton * button, gpointer user_data ) ...@@ -70,10 +69,3 @@ void GtkModulesCancel( GtkButton * button, gpointer user_data )
gtk_widget_hide( p_intf->p_sys->p_modules ); gtk_widget_hide( p_intf->p_sys->p_modules );
} }
/****************************************************************************
* Callbacks for menuitems
****************************************************************************/
void GtkModulesActivate( GtkMenuItem * menuitem, gpointer user_data )
{
GtkModulesShow( GTK_WIDGET( menuitem ), NULL, user_data );
}
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* gtk_modules.h: prototypes for modules functions * gtk_modules.h: prototypes for modules functions
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: gtk_modules.h,v 1.2 2001/05/15 14:49:48 stef Exp $ * $Id: gtk_modules.h,v 1.3 2002/06/07 14:30:41 sam Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* Stéphane Borel <stef@via.ecp.fr> * Stéphane Borel <stef@via.ecp.fr>
...@@ -22,6 +22,6 @@ ...@@ -22,6 +22,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/ *****************************************************************************/
gboolean GtkModulesShow ( GtkWidget *, GdkEventButton *, gpointer ); gboolean GtkModulesShow ( GtkWidget *, gpointer );
void GtkModulesCancel ( GtkButton * button, gpointer ); void GtkModulesCancel ( GtkButton * button, gpointer );
void GtkModulesActivate( GtkMenuItem * menuitem, gpointer );
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* gtk_open.c : functions to handle file/disc/network open widgets. * gtk_open.c : functions to handle file/disc/network open widgets.
***************************************************************************** *****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN * Copyright (C) 2000, 2001 VideoLAN
* $Id: gtk_open.c,v 1.27 2002/06/02 09:03:54 sam Exp $ * $Id: gtk_open.c,v 1.28 2002/06/07 14:30:41 sam Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* Stphane Borel <stef@via.ecp.fr> * Stphane Borel <stef@via.ecp.fr>
...@@ -53,7 +53,6 @@ ...@@ -53,7 +53,6 @@
* The following callbacks are related to the file requester. * The following callbacks are related to the file requester.
*****************************************************************************/ *****************************************************************************/
gboolean GtkFileOpenShow( GtkWidget *widget, gboolean GtkFileOpenShow( GtkWidget *widget,
GdkEventButton *event,
gpointer user_data ) gpointer user_data )
{ {
intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data ); intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
...@@ -106,24 +105,16 @@ void GtkFileOpenOk( GtkButton * button, gpointer user_data ) ...@@ -106,24 +105,16 @@ void GtkFileOpenOk( GtkButton * button, gpointer user_data )
/* add the new file to the interface playlist */ /* add the new file to the interface playlist */
psz_filename = psz_filename =
gtk_file_selection_get_filename( GTK_FILE_SELECTION( p_filesel ) ); gtk_file_selection_get_filename( GTK_FILE_SELECTION( p_filesel ) );
playlist_Add( p_playlist, 0, (char*)psz_filename ); playlist_Add( p_playlist, (char*)psz_filename,
PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );
/* catch the GTK CList */ /* catch the GTK CList */
p_playlist_clist = GTK_CLIST( gtk_object_get_data( p_playlist_clist = GTK_CLIST( gtk_object_get_data(
GTK_OBJECT( p_intf->p_sys->p_playlist ), "playlist_clist" ) ); GTK_OBJECT( p_intf->p_sys->p_playwin ), "playlist_clist" ) );
/* update the plugin display */ /* update the plugin display */
GtkRebuildCList( p_playlist_clist, p_playlist ); GtkRebuildCList( p_playlist_clist, p_playlist );
vlc_object_release( p_playlist ); vlc_object_release( p_playlist );
/* end current item, select added item */
#if 0
if( p_intf->p_vlc->p_input_bank->pp_input[0] != NULL )
{
p_intf->p_vlc->p_input_bank->pp_input[0]->b_eof = 1;
}
intf_PlaylistJumpto( p_intf->p_vlc->p_playlist, i_end - 1 );
#endif
} }
/***************************************************************************** /*****************************************************************************
...@@ -132,7 +123,6 @@ void GtkFileOpenOk( GtkButton * button, gpointer user_data ) ...@@ -132,7 +123,6 @@ void GtkFileOpenOk( GtkButton * button, gpointer user_data )
* The following callbacks are related to the disc manager. * The following callbacks are related to the disc manager.
*****************************************************************************/ *****************************************************************************/
gboolean GtkDiscOpenShow( GtkWidget *widget, gboolean GtkDiscOpenShow( GtkWidget *widget,
GdkEventButton *event,
gpointer user_data) gpointer user_data)
{ {
intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data ); intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
...@@ -239,26 +229,17 @@ void GtkDiscOpenOk( GtkButton * button, gpointer user_data ) ...@@ -239,26 +229,17 @@ void GtkDiscOpenOk( GtkButton * button, gpointer user_data )
/* Build source name and add it to playlist */ /* Build source name and add it to playlist */
sprintf( psz_source, "%s:%s@%d,%d", sprintf( psz_source, "%s:%s@%d,%d",
psz_method, psz_device, i_title, i_chapter ); psz_method, psz_device, i_title, i_chapter );
playlist_Add( p_playlist, 0, psz_source ); playlist_Add( p_playlist, psz_source,
PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );
free( psz_source ); free( psz_source );
/* catch the GTK CList */ /* catch the GTK CList */
p_playlist_clist = GTK_CLIST( gtk_object_get_data( p_playlist_clist = GTK_CLIST( gtk_object_get_data(
GTK_OBJECT( p_intf->p_sys->p_playlist ), "playlist_clist" ) ); GTK_OBJECT( p_intf->p_sys->p_playwin ), "playlist_clist" ) );
/* update the display */ /* update the display */
GtkRebuildCList( p_playlist_clist, p_playlist ); GtkRebuildCList( p_playlist_clist, p_playlist );
/* stop current item, select added item */
#if 0
if( p_intf->p_vlc->p_input_bank->pp_input[0] != NULL )
{
p_intf->p_vlc->p_input_bank->pp_input[0]->b_eof = 1;
}
intf_PlaylistJumpto( p_intf->p_vlc->p_playlist, i_end - 1 );
#endif
vlc_object_release( p_playlist ); vlc_object_release( p_playlist );
} }
...@@ -275,7 +256,6 @@ void GtkDiscOpenCancel( GtkButton * button, gpointer user_data ) ...@@ -275,7 +256,6 @@ void GtkDiscOpenCancel( GtkButton * button, gpointer user_data )
* The following callbacks are related to the network stream manager. * The following callbacks are related to the network stream manager.
*****************************************************************************/ *****************************************************************************/
gboolean GtkNetworkOpenShow( GtkWidget *widget, gboolean GtkNetworkOpenShow( GtkWidget *widget,
GdkEventButton *event,
gpointer user_data ) gpointer user_data )
{ {
intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data ); intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
...@@ -374,19 +354,15 @@ void GtkNetworkOpenOk( GtkButton *button, gpointer user_data ) ...@@ -374,19 +354,15 @@ void GtkNetworkOpenOk( GtkButton *button, gpointer user_data )
/* Build source name and add it to playlist */ /* Build source name and add it to playlist */
sprintf( psz_source, "udp:@:%i", i_port ); sprintf( psz_source, "udp:@:%i", i_port );
playlist_Add( p_playlist, psz_source,
playlist_Add( p_playlist, 0, psz_source ); PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );
free( psz_source ); free( psz_source );
/* catch the GTK CList */ /* catch the GTK CList */
p_playlist_clist = GTK_CLIST( gtk_object_get_data( p_playlist_clist = GTK_CLIST( gtk_object_get_data(
GTK_OBJECT( p_intf->p_sys->p_playlist ), "playlist_clist" ) ); GTK_OBJECT( p_intf->p_sys->p_playwin ), "playlist_clist" ) );
/* update the display */ /* update the display */
GtkRebuildCList( p_playlist_clist, p_playlist ); GtkRebuildCList( p_playlist_clist, p_playlist );
#if 0
intf_PlaylistJumpto( p_playlist, i_end - 1 );
#endif
} }
/* UDP Multicast */ /* UDP Multicast */
...@@ -417,19 +393,15 @@ void GtkNetworkOpenOk( GtkButton *button, gpointer user_data ) ...@@ -417,19 +393,15 @@ void GtkNetworkOpenOk( GtkButton *button, gpointer user_data )
/* Build source name and add it to playlist */ /* Build source name and add it to playlist */
sprintf( psz_source, "udp:@%s:%i", psz_address, i_port ); sprintf( psz_source, "udp:@%s:%i", psz_address, i_port );
playlist_Add( p_playlist, psz_source,
playlist_Add( p_playlist, 0, psz_source ); PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );
free( psz_source ); free( psz_source );
/* catch the GTK CList */ /* catch the GTK CList */
p_playlist_clist = GTK_CLIST( gtk_object_get_data( p_playlist_clist = GTK_CLIST( gtk_object_get_data(
GTK_OBJECT( p_intf->p_sys->p_playlist ), "playlist_clist" ) ); GTK_OBJECT( p_intf->p_sys->p_playwin ), "playlist_clist" ) );
/* update the display */ /* update the display */
GtkRebuildCList( p_playlist_clist, p_playlist ); GtkRebuildCList( p_playlist_clist, p_playlist );
#if 0
intf_PlaylistJumpto( p_playlist, i_end - 1 );
#endif
} }
/* Channel server */ /* Channel server */
...@@ -476,19 +448,15 @@ void GtkNetworkOpenOk( GtkButton *button, gpointer user_data ) ...@@ -476,19 +448,15 @@ void GtkNetworkOpenOk( GtkButton *button, gpointer user_data )
/* Build source name and add it to playlist */ /* Build source name and add it to playlist */
sprintf( psz_source, "http://%s", psz_address ); sprintf( psz_source, "http://%s", psz_address );
playlist_Add( p_playlist, psz_source,
playlist_Add( p_playlist, 0, psz_source ); PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );
free( psz_source ); free( psz_source );
/* catch the GTK CList */ /* catch the GTK CList */
p_playlist_clist = GTK_CLIST( gtk_object_get_data( p_playlist_clist = GTK_CLIST( gtk_object_get_data(
GTK_OBJECT( p_intf->p_sys->p_playlist ), "playlist_clist" ) ); GTK_OBJECT( p_intf->p_sys->p_playwin ), "playlist_clist" ) );
/* update the display */ /* update the display */
GtkRebuildCList( p_playlist_clist, p_playlist ); GtkRebuildCList( p_playlist_clist, p_playlist );
#if 0
intf_PlaylistJumpto( p_playlist, i_end - 1 );
#endif
} }
/* This shouldn't occur */ /* This shouldn't occur */
...@@ -593,8 +561,7 @@ void GtkNetworkOpenHTTP( GtkToggleButton *togglebutton, ...@@ -593,8 +561,7 @@ void GtkNetworkOpenHTTP( GtkToggleButton *togglebutton,
* The following callbacks are related to the satellite card manager. * The following callbacks are related to the satellite card manager.
*****************************************************************************/ *****************************************************************************/
gboolean GtkSatOpenShow( GtkWidget *widget, gboolean GtkSatOpenShow( GtkWidget *widget,
GdkEventButton *event, gpointer user_data)
gpointer user_data)
{ {
intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data ); intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
...@@ -662,26 +629,17 @@ void GtkSatOpenOk( GtkButton * button, gpointer user_data ) ...@@ -662,26 +629,17 @@ void GtkSatOpenOk( GtkButton * button, gpointer user_data )
/* Build source name and add it to playlist */ /* Build source name and add it to playlist */
sprintf( psz_source, "%s:%d,%d,%d,%d", sprintf( psz_source, "%s:%d,%d,%d,%d",
"satellite", i_freq, b_pol, i_fec, i_srate ); "satellite", i_freq, b_pol, i_fec, i_srate );
playlist_Add( p_playlist, 0, psz_source ); playlist_Add( p_playlist, psz_source,
PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );
free( psz_source ); free( psz_source );
/* catch the GTK CList */ /* catch the GTK CList */
p_playlist_clist = GTK_CLIST( gtk_object_get_data( p_playlist_clist = GTK_CLIST( gtk_object_get_data(
GTK_OBJECT( p_intf->p_sys->p_playlist ), "playlist_clist" ) ); GTK_OBJECT( p_intf->p_sys->p_playwin ), "playlist_clist" ) );
/* update the display */ /* update the display */
GtkRebuildCList( p_playlist_clist, p_playlist ); GtkRebuildCList( p_playlist_clist, p_playlist );
/* stop current item, select added item */
#if 0
if( p_intf->p_vlc->p_input_bank->pp_input[0] != NULL )
{
p_intf->p_vlc->p_input_bank->pp_input[0]->b_eof = 1;
}
intf_PlaylistJumpto( p_intf->p_vlc->p_playlist, i_end - 1 );
#endif
vlc_object_release( p_playlist ); vlc_object_release( p_playlist );
} }
...@@ -691,23 +649,3 @@ void GtkSatOpenCancel( GtkButton * button, gpointer user_data ) ...@@ -691,23 +649,3 @@ void GtkSatOpenCancel( GtkButton * button, gpointer user_data )
gtk_widget_hide( gtk_widget_get_toplevel( GTK_WIDGET (button) ) ); gtk_widget_hide( gtk_widget_get_toplevel( GTK_WIDGET (button) ) );
} }
/****************************************************************************
* Callbacks for menuitem
****************************************************************************/
void GtkFileOpenActivate( GtkMenuItem * menuitem, gpointer user_data )
{
GtkFileOpenShow( GTK_WIDGET( menuitem ), NULL, user_data );
}
void GtkDiscOpenActivate( GtkMenuItem * menuitem, gpointer user_data )
{
GtkDiscOpenShow( GTK_WIDGET( menuitem ), NULL, user_data );
}
void GtkNetworkOpenActivate( GtkMenuItem * menuitem, gpointer user_data )
{
GtkNetworkOpenShow( GTK_WIDGET( menuitem ), NULL, user_data );
}
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* gtk_open.h: prototypes for open functions * gtk_open.h: prototypes for open functions
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: gtk_open.h,v 1.3 2001/05/30 23:02:04 stef Exp $ * $Id: gtk_open.h,v 1.4 2002/06/07 14:30:41 sam Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* Stphane Borel <stef@via.ecp.fr> * Stphane Borel <stef@via.ecp.fr>
...@@ -22,22 +22,19 @@ ...@@ -22,22 +22,19 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/ *****************************************************************************/
gboolean GtkFileOpenShow ( GtkWidget *, GdkEventButton *, gpointer ); gboolean GtkFileOpenShow ( GtkWidget *, gpointer );
void GtkFileOpenCancel ( GtkButton *, gpointer ); void GtkFileOpenCancel ( GtkButton *, gpointer );
void GtkFileOpenOk ( GtkButton *, gpointer ); void GtkFileOpenOk ( GtkButton *, gpointer );
gboolean GtkDiscOpenShow ( GtkWidget *, GdkEventButton *, gpointer ); gboolean GtkDiscOpenShow ( GtkWidget *, gpointer );
void GtkDiscOpenDvd ( GtkToggleButton *, gpointer ); void GtkDiscOpenDvd ( GtkToggleButton *, gpointer );
void GtkDiscOpenVcd ( GtkToggleButton *, gpointer ); void GtkDiscOpenVcd ( GtkToggleButton *, gpointer );
void GtkDiscOpenOk ( GtkButton *, gpointer ); void GtkDiscOpenOk ( GtkButton *, gpointer );
void GtkDiscOpenCancel ( GtkButton *, gpointer ); void GtkDiscOpenCancel ( GtkButton *, gpointer );
gboolean GtkNetworkOpenShow ( GtkWidget *, GdkEventButton *, gpointer ); gboolean GtkNetworkOpenShow ( GtkWidget *, gpointer );
void GtkNetworkOpenOk ( GtkButton *, gpointer ); void GtkNetworkOpenOk ( GtkButton *, gpointer );
void GtkNetworkOpenCancel ( GtkButton *, gpointer ); void GtkNetworkOpenCancel ( GtkButton *, gpointer );
void GtkNetworkOpenBroadcast( GtkToggleButton *, gpointer ); void GtkNetworkOpenBroadcast( GtkToggleButton *, gpointer );
void GtkNetworkOpenChannel ( GtkToggleButton *, gpointer ); void GtkNetworkOpenChannel ( GtkToggleButton *, gpointer );
void GtkFileOpenActivate ( GtkMenuItem *, gpointer );
void GtkDiscOpenActivate ( GtkMenuItem *, gpointer );
void GtkNetworkOpenActivate ( GtkMenuItem *, gpointer );
This diff is collapsed.
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* gtk_playlist.h : Playlist functions for the Gtk plugin. * gtk_playlist.h : Playlist functions for the Gtk plugin.
***************************************************************************** *****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN * Copyright (C) 2000, 2001 VideoLAN
* $Id: gtk_playlist.h,v 1.6 2002/06/01 12:31:59 sam Exp $ * $Id: gtk_playlist.h,v 1.7 2002/06/07 14:30:41 sam Exp $
* *
* Authors: Pierre Baillet <oct@zoy.org> * Authors: Pierre Baillet <oct@zoy.org>
* Stphane Borel <stef@via.ecp.fr> * Stphane Borel <stef@via.ecp.fr>
...@@ -35,9 +35,9 @@ gint GtkCompareItems ( gconstpointer, gconstpointer ); ...@@ -35,9 +35,9 @@ gint GtkCompareItems ( gconstpointer, gconstpointer );
int GtkHasValidExtension ( gchar * ); int GtkHasValidExtension ( gchar * );
GList * GtkReadFiles ( gchar * ); GList * GtkReadFiles ( gchar * );
gboolean GtkPlaylistShow ( GtkWidget *, GdkEventButton *, gpointer ); gboolean GtkPlaylistShow ( GtkWidget *, gpointer );
gboolean GtkPlaylistPrev ( GtkWidget *, GdkEventButton *, gpointer ); gboolean GtkPlaylistPrev ( GtkWidget *, gpointer );
gboolean GtkPlaylistNext ( GtkWidget *, GdkEventButton *, gpointer ); gboolean GtkPlaylistNext ( GtkWidget *, gpointer );
gboolean GtkPlaylistDragMotion( GtkWidget *, GdkDragContext *, gboolean GtkPlaylistDragMotion( GtkWidget *, GdkDragContext *,
gint, gint, guint, gpointer ); gint, gint, guint, gpointer );
gboolean GtkPlaylistEvent ( GtkWidget *, GdkEvent *, gpointer ); gboolean GtkPlaylistEvent ( GtkWidget *, GdkEvent *, gpointer );
...@@ -46,10 +46,6 @@ void GtkPlaylistDragData ( GtkWidget *, GdkDragContext *, ...@@ -46,10 +46,6 @@ void GtkPlaylistDragData ( GtkWidget *, GdkDragContext *,
guint, guint, gpointer ); guint, guint, gpointer );
void GtkDeleteGListItem ( gpointer, gpointer ); void GtkDeleteGListItem ( gpointer, gpointer );
void GtkPlaylistActivate ( GtkMenuItem *, gpointer );
void GtkNextActivate ( GtkMenuItem *, gpointer );
void GtkPrevActivate ( GtkMenuItem *, gpointer );
void GtkDropDataReceived ( intf_thread_t *, GtkSelectionData *, guint, int ); void GtkDropDataReceived ( intf_thread_t *, GtkSelectionData *, guint, int );
int GtkAppendList ( playlist_t *, int, GList * ); int GtkAppendList ( playlist_t *, int, GList * );
void GtkRebuildCList ( GtkCList *, playlist_t * ); void GtkRebuildCList ( GtkCList *, playlist_t * );
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* gtk_preferences.c: functions to handle the preferences dialog box. * gtk_preferences.c: functions to handle the preferences dialog box.
***************************************************************************** *****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN * Copyright (C) 2000, 2001 VideoLAN
* $Id: gtk_preferences.c,v 1.31 2002/06/01 18:04:48 sam Exp $ * $Id: gtk_preferences.c,v 1.32 2002/06/07 14:30:41 sam Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* Loc Minier <lool@via.ecp.fr> * Loc Minier <lool@via.ecp.fr>
...@@ -76,7 +76,7 @@ static void GtkModuleHighlighted ( GtkCList *, int, int, GdkEventButton *, ...@@ -76,7 +76,7 @@ static void GtkModuleHighlighted ( GtkCList *, int, int, GdkEventButton *,
/**************************************************************************** /****************************************************************************
* Callback for menuitems: display configuration interface window * Callback for menuitems: display configuration interface window
****************************************************************************/ ****************************************************************************/
void GtkPreferencesActivate( GtkMenuItem * menuitem, gpointer user_data ) void GtkPreferencesShow( GtkMenuItem * menuitem, gpointer user_data )
{ {
intf_thread_t * p_intf; intf_thread_t * p_intf;
...@@ -836,7 +836,7 @@ static void GtkBoolChanged( GtkToggleButton *button, gpointer user_data ) ...@@ -836,7 +836,7 @@ static void GtkBoolChanged( GtkToggleButton *button, gpointer user_data )
/* change the highlight status of the Apply button */ /* change the highlight status of the Apply button */
apply_button = (GtkWidget *)gtk_object_get_data( GTK_OBJECT(user_data), apply_button = (GtkWidget *)gtk_object_get_data( GTK_OBJECT(user_data),
"apply_button" ); "apply_button" );
gtk_widget_set_sensitive( apply_button, TRUE ); gtk_widget_set_sensitive( apply_button, TRUE );
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* gtk_control.h: prototypes for control functions * gtk_control.h: prototypes for control functions
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: gtk_preferences.h,v 1.3 2002/03/11 07:23:09 gbazin Exp $ * $Id: gtk_preferences.h,v 1.4 2002/06/07 14:30:41 sam Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* Stéphane Borel <stef@via.ecp.fr> * Stéphane Borel <stef@via.ecp.fr>
...@@ -22,4 +22,4 @@ ...@@ -22,4 +22,4 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/ *****************************************************************************/
void GtkPreferencesActivate( GtkMenuItem *, gpointer ); void GtkPreferencesShow( GtkMenuItem *, gpointer );
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* mpeg_audio.c : mpeg_audio Stream input module for vlc * mpeg_audio.c : mpeg_audio Stream input module for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2001 VideoLAN * Copyright (C) 2001 VideoLAN
* $Id: mpeg_audio.c,v 1.9 2002/06/01 12:32:00 sam Exp $ * $Id: mpeg_audio.c,v 1.10 2002/06/07 14:30:41 sam Exp $
* *
* Authors: Laurent Aimar <fenrir@via.ecp.fr> * Authors: Laurent Aimar <fenrir@via.ecp.fr>
* *
...@@ -430,7 +430,7 @@ static int MPEGAudioInit( input_thread_t * p_input ) ...@@ -430,7 +430,7 @@ static int MPEGAudioInit( input_thread_t * p_input )
MPEGAUDIO_MAXTESTPOS) ) MPEGAUDIO_MAXTESTPOS) )
< (b_forced ? 1 : 2) ) < (b_forced ? 1 : 2) )
{ {
msg_Warn( p_input, "MPEGAudio module discarded" ); msg_Warn( p_input, "MPEGAudio module discarded (no frame found)" );
return( -1 ); return( -1 );
} }
...@@ -446,8 +446,7 @@ static int MPEGAudioInit( input_thread_t * p_input ) ...@@ -446,8 +446,7 @@ static int MPEGAudioInit( input_thread_t * p_input )
return( -1 ); return( -1 );
} }
p_input->stream.pp_programs[0]->b_is_ok = 0; p_input->stream.pp_programs[0]->b_is_ok = 0;
p_input->stream.p_selected_program = p_input->stream.p_selected_program = p_input->stream.pp_programs[0];
p_input->stream.p_new_program = p_input->stream.pp_programs[0];
/* create our ES */ /* create our ES */
p_es = input_AddES( p_input, p_es = input_AddES( p_input,
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* vpar_headers.c : headers parsing * vpar_headers.c : headers parsing
***************************************************************************** *****************************************************************************
* Copyright (C) 1999-2001 VideoLAN * Copyright (C) 1999-2001 VideoLAN
* $Id: vpar_headers.c,v 1.26 2002/06/02 09:03:54 sam Exp $ * $Id: vpar_headers.c,v 1.27 2002/06/07 14:30:41 sam Exp $
* *
* Authors: Christophe Massiot <massiot@via.ecp.fr> * Authors: Christophe Massiot <massiot@via.ecp.fr>
* Stphane Borel <stef@via.ecp.fr> * Stphane Borel <stef@via.ecp.fr>
...@@ -486,10 +486,15 @@ static void SequenceHeader( vpar_thread_t * p_vpar ) ...@@ -486,10 +486,15 @@ static void SequenceHeader( vpar_thread_t * p_vpar )
/* Extension and User data */ /* Extension and User data */
ExtensionAndUserData( p_vpar ); ExtensionAndUserData( p_vpar );
/* Spawn a video output if there is none */ /* Spawn a video output if there is none. First we look for our children,
* then we look for any other vout that might be available. */
p_vpar->p_vout = vlc_object_find( p_vpar->p_fifo, VLC_OBJECT_VOUT, p_vpar->p_vout = vlc_object_find( p_vpar->p_fifo, VLC_OBJECT_VOUT,
FIND_ANYWHERE ); FIND_CHILD );
if( p_vpar->p_vout == NULL )
{
p_vpar->p_vout = vlc_object_find( p_vpar->p_fifo, VLC_OBJECT_VOUT,
FIND_ANYWHERE );
}
if( p_vpar->p_vout ) if( p_vpar->p_vout )
{ {
...@@ -513,6 +518,11 @@ static void SequenceHeader( vpar_thread_t * p_vpar ) ...@@ -513,6 +518,11 @@ static void SequenceHeader( vpar_thread_t * p_vpar )
} }
} }
if( p_vpar->p_fifo->b_die || p_vpar->p_fifo->b_error )
{
return;
}
if( p_vpar->p_vout == NULL ) if( p_vpar->p_vout == NULL )
{ {
msg_Dbg( p_vpar->p_fifo, "no vout present, spawning one" ); msg_Dbg( p_vpar->p_fifo, "no vout present, spawning one" );
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* rc.c : remote control stdin/stdout plugin for vlc * rc.c : remote control stdin/stdout plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2001 VideoLAN * Copyright (C) 2001 VideoLAN
* $Id: rc.c,v 1.17 2002/06/02 09:03:54 sam Exp $ * $Id: rc.c,v 1.18 2002/06/07 14:30:41 sam Exp $
* *
* Authors: Peter Surda <shurdeek@panorama.sth.ac.at> * Authors: Peter Surda <shurdeek@panorama.sth.ac.at>
* *
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
*****************************************************************************/ *****************************************************************************/
struct intf_sys_s struct intf_sys_s
{ {
vlc_mutex_t change_lock; input_thread_t * p_input;
}; };
#define MAX_LINE_LENGTH 256 #define MAX_LINE_LENGTH 256
...@@ -151,7 +151,7 @@ static void intf_Run( intf_thread_t *p_intf ) ...@@ -151,7 +151,7 @@ static void intf_Run( intf_thread_t *p_intf )
double f_ratio = 1; double f_ratio = 1;
input_thread_t *p_input; p_intf->p_sys->p_input = NULL;
while( !p_intf->b_die ) while( !p_intf->b_die )
{ {
...@@ -187,10 +187,21 @@ static void intf_Run( intf_thread_t *p_intf ) ...@@ -187,10 +187,21 @@ static void intf_Run( intf_thread_t *p_intf )
} }
/* Manage the input part */ /* Manage the input part */
p_input = vlc_object_find( p_intf, VLC_OBJECT_INPUT, FIND_ANYWHERE ); if( p_intf->p_sys->p_input == NULL )
{
p_intf->p_sys->p_input = vlc_object_find( p_intf, VLC_OBJECT_INPUT,
FIND_ANYWHERE );
}
else if( p_intf->p_sys->p_input->b_dead )
{
vlc_object_release( p_intf->p_sys->p_input );
p_intf->p_sys->p_input = NULL;
}
if( p_input ) if( p_intf->p_sys->p_input )
{ {
input_thread_t *p_input = p_intf->p_sys->p_input;
/* Get position */ /* Get position */
vlc_mutex_lock( &p_input->stream.stream_lock ); vlc_mutex_lock( &p_input->stream.stream_lock );
if( !p_input->b_die && p_input->stream.i_mux_rate ) if( !p_input->b_die && p_input->stream.i_mux_rate )
...@@ -234,18 +245,19 @@ static void intf_Run( intf_thread_t *p_intf ) ...@@ -234,18 +245,19 @@ static void intf_Run( intf_thread_t *p_intf )
case 'p': case 'p':
case 'P': case 'P':
if( p_input ) if( p_intf->p_sys->p_input )
{ {
input_SetStatus( p_input, INPUT_STATUS_PAUSE ); input_SetStatus( p_intf->p_sys->p_input,
INPUT_STATUS_PAUSE );
} }
break; break;
case 'f': case 'f':
case 'F': case 'F':
if( p_input ) if( p_intf->p_sys->p_input )
{ {
vout_thread_t *p_vout; vout_thread_t *p_vout;
p_vout = vlc_object_find( p_input, p_vout = vlc_object_find( p_intf->p_sys->p_input,
VLC_OBJECT_VOUT, FIND_CHILD ); VLC_OBJECT_VOUT, FIND_CHILD );
if( p_vout ) if( p_vout )
...@@ -268,7 +280,7 @@ static void intf_Run( intf_thread_t *p_intf ) ...@@ -268,7 +280,7 @@ static void intf_Run( intf_thread_t *p_intf )
case 'r': case 'r':
case 'R': case 'R':
if( p_input ) if( p_intf->p_sys->p_input )
{ {
for( i_dummy = 1; for( i_dummy = 1;
i_dummy < MAX_LINE_LENGTH && p_cmd[ i_dummy ] >= '0' i_dummy < MAX_LINE_LENGTH && p_cmd[ i_dummy ] >= '0'
...@@ -279,7 +291,8 @@ static void intf_Run( intf_thread_t *p_intf ) ...@@ -279,7 +291,8 @@ static void intf_Run( intf_thread_t *p_intf )
} }
p_cmd[ i_dummy ] = 0; p_cmd[ i_dummy ] = 0;
input_Seek( p_input, (off_t)atoi( p_cmd + 1 ), input_Seek( p_intf->p_sys->p_input,
(off_t)atoi( p_cmd + 1 ),
INPUT_SEEK_SECONDS | INPUT_SEEK_SET ); INPUT_SEEK_SECONDS | INPUT_SEEK_SET );
/* rcreseek(f_cpos); */ /* rcreseek(f_cpos); */
} }
...@@ -304,12 +317,14 @@ static void intf_Run( intf_thread_t *p_intf ) ...@@ -304,12 +317,14 @@ static void intf_Run( intf_thread_t *p_intf )
} }
} }
if( p_input )
{
vlc_object_release( p_input );
}
msleep( INTF_IDLE_SLEEP ); msleep( INTF_IDLE_SLEEP );
} }
if( p_intf->p_sys->p_input )
{
vlc_object_release( p_intf->p_sys->p_input );
p_intf->p_sys->p_input = NULL;
}
} }
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: vlc 0.73.3\n" "Project-Id-Version: vlc 0.73.3\n"
"POT-Creation-Date: 2002-06-04 02:09+0200\n" "POT-Creation-Date: 2002-06-07 11:11+0200\n"
"PO-Revision-Date: 2002-04-18 23:38+0100\n" "PO-Revision-Date: 2002-04-18 23:38+0100\n"
"Last-Translator: Thomas Graf <tgr@reeler.org>\n" "Last-Translator: Thomas Graf <tgr@reeler.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
...@@ -14,13 +14,13 @@ msgstr "" ...@@ -14,13 +14,13 @@ msgstr ""
"Content-Type: text/plain; charset=iso-8859-1\n" "Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: src/libvlc.c:277 #: src/libvlc.c:281
#, c-format #, c-format
msgid "Usage: %s [options] [parameters] [file]...\n" msgid "Usage: %s [options] [parameters] [file]...\n"
msgstr "Usage: %s [Optionen] [Parameter] [Date]...\n" msgstr "Usage: %s [Optionen] [Parameter] [Date]...\n"
#. Print module name #. Print module name
#: src/libvlc.c:891 #: src/libvlc.c:898
#, fuzzy, c-format #, fuzzy, c-format
msgid "" msgid ""
"%s module options:\n" "%s module options:\n"
...@@ -28,27 +28,27 @@ msgid "" ...@@ -28,27 +28,27 @@ msgid ""
msgstr "%s Modul Optionen:\n" msgstr "%s Modul Optionen:\n"
#. We could also have "=<" here #. We could also have "=<" here
#: src/libvlc.c:911 src/misc/configuration.c:798 #: src/libvlc.c:918 src/misc/configuration.c:798
msgid "string" msgid "string"
msgstr "text" msgstr "text"
#: src/libvlc.c:914 src/misc/configuration.c:783 #: src/libvlc.c:921 src/misc/configuration.c:783
msgid "integer" msgid "integer"
msgstr "zahl" msgstr "zahl"
#: src/libvlc.c:917 src/misc/configuration.c:790 #: src/libvlc.c:924 src/misc/configuration.c:790
msgid "float" msgid "float"
msgstr "gleitpunktzahl" msgstr "gleitpunktzahl"
#: src/libvlc.c:923 #: src/libvlc.c:930
msgid " (default enabled)" msgid " (default enabled)"
msgstr "" msgstr ""
#: src/libvlc.c:924 #: src/libvlc.c:931
msgid " (default disabled)" msgid " (default disabled)"
msgstr "" msgstr ""
#: src/libvlc.c:1006 #: src/libvlc.c:1013
#, fuzzy #, fuzzy
msgid "" msgid ""
"\n" "\n"
...@@ -79,7 +79,7 @@ msgstr "" ...@@ -79,7 +79,7 @@ msgstr ""
"pausieren\n" "pausieren\n"
" vlc:quit \tVLC beenden" " vlc:quit \tVLC beenden"
#: src/libvlc.c:1027 src/libvlc.c:1076 src/libvlc.c:1100 src/libvlc.c:1119 #: src/libvlc.c:1034 src/libvlc.c:1083 src/libvlc.c:1107 src/libvlc.c:1126
#, fuzzy #, fuzzy
msgid "" msgid ""
"\n" "\n"
...@@ -89,19 +89,19 @@ msgstr "" ...@@ -89,19 +89,19 @@ msgstr ""
"Drck die Eingabetaste um weiterzufahren..." "Drck die Eingabetaste um weiterzufahren..."
#. Usage #. Usage
#: src/libvlc.c:1050 #: src/libvlc.c:1057
#, fuzzy, c-format #, fuzzy, c-format
msgid "" msgid ""
"Usage: %s [options] [parameters] [file]...\n" "Usage: %s [options] [parameters] [file]...\n"
"\n" "\n"
msgstr "Usage: %s [Optionen] [Parameter] [Date]...\n" msgstr "Usage: %s [Optionen] [Parameter] [Date]...\n"
#: src/libvlc.c:1053 #: src/libvlc.c:1060
#, fuzzy #, fuzzy
msgid "[module] [description]\n" msgid "[module] [description]\n"
msgstr "[Modul] [Beschreibung]" msgstr "[Modul] [Beschreibung]"
#: src/libvlc.c:1094 #: src/libvlc.c:1101
msgid "" msgid ""
"This program comes with NO WARRANTY, to the extent permitted by law.\n" "This program comes with NO WARRANTY, to the extent permitted by law.\n"
"You may redistribute it under the terms of the GNU General Public License;\n" "You may redistribute it under the terms of the GNU General Public License;\n"
...@@ -171,10 +171,9 @@ msgid "audio output module" ...@@ -171,10 +171,9 @@ msgid "audio output module"
msgstr "Audio Ausgabe Modul" msgstr "Audio Ausgabe Modul"
#: src/libvlc.h:60 #: src/libvlc.h:60
#, fuzzy
msgid "" msgid ""
"This option allows you to select the audio audio output method used by vlc. " "This option allows you to select the audio output method used by vlc. The "
"The default behavior is to automatically select the best method available." "default behavior is to automatically select the best method available."
msgstr "" msgstr ""
"Diese Option erlaubt Dir den Audio Ausgabemodus festzulegen.\n" "Diese Option erlaubt Dir den Audio Ausgabemodus festzulegen.\n"
"Merke Dir, standardmssig wird die beste Methode ausgewhlt." "Merke Dir, standardmssig wird die beste Methode ausgewhlt."
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2002-06-04 02:09+0200\n" "POT-Creation-Date: 2002-06-07 11:11+0200\n"
"PO-Revision-Date: 2002-04-22 09:56+0200\n" "PO-Revision-Date: 2002-04-22 09:56+0200\n"
"Last-Translator: Samuel Hocevar <sam@zoy.org>\n" "Last-Translator: Samuel Hocevar <sam@zoy.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
...@@ -13,13 +13,13 @@ msgstr "" ...@@ -13,13 +13,13 @@ msgstr ""
"Content-Type: text/plain; charset=iso-8859-1\n" "Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: src/libvlc.c:277 #: src/libvlc.c:281
#, c-format #, c-format
msgid "Usage: %s [options] [parameters] [file]...\n" msgid "Usage: %s [options] [parameters] [file]...\n"
msgstr "" msgstr ""
#. Print module name #. Print module name
#: src/libvlc.c:891 #: src/libvlc.c:898
#, c-format #, c-format
msgid "" msgid ""
"%s module options:\n" "%s module options:\n"
...@@ -27,27 +27,27 @@ msgid "" ...@@ -27,27 +27,27 @@ msgid ""
msgstr "" msgstr ""
#. We could also have "=<" here #. We could also have "=<" here
#: src/libvlc.c:911 src/misc/configuration.c:798 #: src/libvlc.c:918 src/misc/configuration.c:798
msgid "string" msgid "string"
msgstr "" msgstr ""
#: src/libvlc.c:914 src/misc/configuration.c:783 #: src/libvlc.c:921 src/misc/configuration.c:783
msgid "integer" msgid "integer"
msgstr "" msgstr ""
#: src/libvlc.c:917 src/misc/configuration.c:790 #: src/libvlc.c:924 src/misc/configuration.c:790
msgid "float" msgid "float"
msgstr "" msgstr ""
#: src/libvlc.c:923 #: src/libvlc.c:930
msgid " (default enabled)" msgid " (default enabled)"
msgstr "" msgstr ""
#: src/libvlc.c:924 #: src/libvlc.c:931
msgid " (default disabled)" msgid " (default disabled)"
msgstr "" msgstr ""
#: src/libvlc.c:1006 #: src/libvlc.c:1013
msgid "" msgid ""
"\n" "\n"
"Playlist items:\n" "Playlist items:\n"
...@@ -63,25 +63,25 @@ msgid "" ...@@ -63,25 +63,25 @@ msgid ""
" vlc:quit quit VLC\n" " vlc:quit quit VLC\n"
msgstr "" msgstr ""
#: src/libvlc.c:1027 src/libvlc.c:1076 src/libvlc.c:1100 src/libvlc.c:1119 #: src/libvlc.c:1034 src/libvlc.c:1083 src/libvlc.c:1107 src/libvlc.c:1126
msgid "" msgid ""
"\n" "\n"
"Press the RETURN key to continue...\n" "Press the RETURN key to continue...\n"
msgstr "" msgstr ""
#. Usage #. Usage
#: src/libvlc.c:1050 #: src/libvlc.c:1057
#, c-format #, c-format
msgid "" msgid ""
"Usage: %s [options] [parameters] [file]...\n" "Usage: %s [options] [parameters] [file]...\n"
"\n" "\n"
msgstr "" msgstr ""
#: src/libvlc.c:1053 #: src/libvlc.c:1060
msgid "[module] [description]\n" msgid "[module] [description]\n"
msgstr "" msgstr ""
#: src/libvlc.c:1094 #: src/libvlc.c:1101
msgid "" msgid ""
"This program comes with NO WARRANTY, to the extent permitted by law.\n" "This program comes with NO WARRANTY, to the extent permitted by law.\n"
"You may redistribute it under the terms of the GNU General Public License;\n" "You may redistribute it under the terms of the GNU General Public License;\n"
...@@ -153,11 +153,11 @@ msgstr "" ...@@ -153,11 +153,11 @@ msgstr ""
#: src/libvlc.h:60 #: src/libvlc.h:60
msgid "" msgid ""
"This option allows you to select the audio audio output method used by vlc. " "This option allows you to select the audio output method used by vlc. The "
"The default behavior is to automatically select the best method available." "default behavior is to automatically select the best method available."
msgstr "" msgstr ""
"This option allows you to select the audio audio output method used by vlc. " "This option allows you to select the audio output method used by vlc. The "
"The default behaviour is to automatically select the best method available." "default behaviour is to automatically select the best method available."
#: src/libvlc.h:64 #: src/libvlc.h:64
msgid "enable audio" msgid "enable audio"
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2002-06-04 02:09+0200\n" "POT-Creation-Date: 2002-06-07 11:11+0200\n"
"PO-Revision-Date: 2001-12-10 13:32+0100\n" "PO-Revision-Date: 2001-12-10 13:32+0100\n"
"Last-Translator: Samuel Hocevar <sam@zoy.org>\n" "Last-Translator: Samuel Hocevar <sam@zoy.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
...@@ -13,13 +13,13 @@ msgstr "" ...@@ -13,13 +13,13 @@ msgstr ""
"Content-Type: text/plain; charset=iso-8859-1\n" "Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n" "Content-Transfer-Encoding: 8-bit\n"
#: src/libvlc.c:277 #: src/libvlc.c:281
#, c-format #, c-format
msgid "Usage: %s [options] [parameters] [file]...\n" msgid "Usage: %s [options] [parameters] [file]...\n"
msgstr "Utilisation: %s [options] [paramtres] [fichier]...\n" msgstr "Utilisation: %s [options] [paramtres] [fichier]...\n"
#. Print module name #. Print module name
#: src/libvlc.c:891 #: src/libvlc.c:898
#, c-format #, c-format
msgid "" msgid ""
"%s module options:\n" "%s module options:\n"
...@@ -29,27 +29,27 @@ msgstr "" ...@@ -29,27 +29,27 @@ msgstr ""
"\n" "\n"
#. We could also have "=<" here #. We could also have "=<" here
#: src/libvlc.c:911 src/misc/configuration.c:798 #: src/libvlc.c:918 src/misc/configuration.c:798
msgid "string" msgid "string"
msgstr "chane" msgstr "chane"
#: src/libvlc.c:914 src/misc/configuration.c:783 #: src/libvlc.c:921 src/misc/configuration.c:783
msgid "integer" msgid "integer"
msgstr "entier" msgstr "entier"
#: src/libvlc.c:917 src/misc/configuration.c:790 #: src/libvlc.c:924 src/misc/configuration.c:790
msgid "float" msgid "float"
msgstr "flottant" msgstr "flottant"
#: src/libvlc.c:923 #: src/libvlc.c:930
msgid " (default enabled)" msgid " (default enabled)"
msgstr "" msgstr ""
#: src/libvlc.c:924 #: src/libvlc.c:931
msgid " (default disabled)" msgid " (default disabled)"
msgstr "" msgstr ""
#: src/libvlc.c:1006 #: src/libvlc.c:1013
msgid "" msgid ""
"\n" "\n"
"Playlist items:\n" "Playlist items:\n"
...@@ -77,7 +77,7 @@ msgstr "" ...@@ -77,7 +77,7 @@ msgstr ""
" vlc:pause fait une pause dans la playlist\n" " vlc:pause fait une pause dans la playlist\n"
" vlc:quit quitter VLC\n" " vlc:quit quitter VLC\n"
#: src/libvlc.c:1027 src/libvlc.c:1076 src/libvlc.c:1100 src/libvlc.c:1119 #: src/libvlc.c:1034 src/libvlc.c:1083 src/libvlc.c:1107 src/libvlc.c:1126
msgid "" msgid ""
"\n" "\n"
"Press the RETURN key to continue...\n" "Press the RETURN key to continue...\n"
...@@ -86,7 +86,7 @@ msgstr "" ...@@ -86,7 +86,7 @@ msgstr ""
"Appuyez sur ENTRE pour continuer...\n" "Appuyez sur ENTRE pour continuer...\n"
#. Usage #. Usage
#: src/libvlc.c:1050 #: src/libvlc.c:1057
#, c-format #, c-format
msgid "" msgid ""
"Usage: %s [options] [parameters] [file]...\n" "Usage: %s [options] [parameters] [file]...\n"
...@@ -95,11 +95,11 @@ msgstr "" ...@@ -95,11 +95,11 @@ msgstr ""
"Utilisation: %s [options] [paramtres] [fichier]...\n" "Utilisation: %s [options] [paramtres] [fichier]...\n"
"\n" "\n"
#: src/libvlc.c:1053 #: src/libvlc.c:1060
msgid "[module] [description]\n" msgid "[module] [description]\n"
msgstr "[module] [description]\n" msgstr "[module] [description]\n"
#: src/libvlc.c:1094 #: src/libvlc.c:1101
msgid "" msgid ""
"This program comes with NO WARRANTY, to the extent permitted by law.\n" "This program comes with NO WARRANTY, to the extent permitted by law.\n"
"You may redistribute it under the terms of the GNU General Public License;\n" "You may redistribute it under the terms of the GNU General Public License;\n"
...@@ -174,8 +174,8 @@ msgstr "module de sortie audio" ...@@ -174,8 +174,8 @@ msgstr "module de sortie audio"
#: src/libvlc.h:60 #: src/libvlc.h:60
msgid "" msgid ""
"This option allows you to select the audio audio output method used by vlc. " "This option allows you to select the audio output method used by vlc. The "
"The default behavior is to automatically select the best method available." "default behavior is to automatically select the best method available."
msgstr "" msgstr ""
"Cette option permet de choisir le module de sortie audio utilise par vlc. " "Cette option permet de choisir le module de sortie audio utilise par vlc. "
"Le comportement par dfaut est de choisir automatiquement le meilleur module " "Le comportement par dfaut est de choisir automatiquement le meilleur module "
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2002-06-04 02:09+0200\n" "POT-Creation-Date: 2002-06-07 11:11+0200\n"
"PO-Revision-Date: 2002-04-02 03:22+0900\n" "PO-Revision-Date: 2002-04-02 03:22+0900\n"
"Last-Translator: Fumio Nakayama <endymion@ca2.so-net.ne.jp>\n" "Last-Translator: Fumio Nakayama <endymion@ca2.so-net.ne.jp>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
...@@ -12,13 +12,13 @@ msgstr "" ...@@ -12,13 +12,13 @@ msgstr ""
"Content-Type: text/plain; charset=euc-jp\n" "Content-Type: text/plain; charset=euc-jp\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: src/libvlc.c:277 #: src/libvlc.c:281
#, c-format #, c-format
msgid "Usage: %s [options] [parameters] [file]...\n" msgid "Usage: %s [options] [parameters] [file]...\n"
msgstr "" msgstr ""
#. Print module name #. Print module name
#: src/libvlc.c:891 #: src/libvlc.c:898
#, c-format #, c-format
msgid "" msgid ""
"%s module options:\n" "%s module options:\n"
...@@ -26,27 +26,27 @@ msgid "" ...@@ -26,27 +26,27 @@ msgid ""
msgstr "" msgstr ""
#. We could also have "=<" here #. We could also have "=<" here
#: src/libvlc.c:911 src/misc/configuration.c:798 #: src/libvlc.c:918 src/misc/configuration.c:798
msgid "string" msgid "string"
msgstr "" msgstr ""
#: src/libvlc.c:914 src/misc/configuration.c:783 #: src/libvlc.c:921 src/misc/configuration.c:783
msgid "integer" msgid "integer"
msgstr "" msgstr ""
#: src/libvlc.c:917 src/misc/configuration.c:790 #: src/libvlc.c:924 src/misc/configuration.c:790
msgid "float" msgid "float"
msgstr "" msgstr ""
#: src/libvlc.c:923 #: src/libvlc.c:930
msgid " (default enabled)" msgid " (default enabled)"
msgstr "" msgstr ""
#: src/libvlc.c:924 #: src/libvlc.c:931
msgid " (default disabled)" msgid " (default disabled)"
msgstr "" msgstr ""
#: src/libvlc.c:1006 #: src/libvlc.c:1013
msgid "" msgid ""
"\n" "\n"
"Playlist items:\n" "Playlist items:\n"
...@@ -62,25 +62,25 @@ msgid "" ...@@ -62,25 +62,25 @@ msgid ""
" vlc:quit quit VLC\n" " vlc:quit quit VLC\n"
msgstr "" msgstr ""
#: src/libvlc.c:1027 src/libvlc.c:1076 src/libvlc.c:1100 src/libvlc.c:1119 #: src/libvlc.c:1034 src/libvlc.c:1083 src/libvlc.c:1107 src/libvlc.c:1126
msgid "" msgid ""
"\n" "\n"
"Press the RETURN key to continue...\n" "Press the RETURN key to continue...\n"
msgstr "" msgstr ""
#. Usage #. Usage
#: src/libvlc.c:1050 #: src/libvlc.c:1057
#, c-format #, c-format
msgid "" msgid ""
"Usage: %s [options] [parameters] [file]...\n" "Usage: %s [options] [parameters] [file]...\n"
"\n" "\n"
msgstr "" msgstr ""
#: src/libvlc.c:1053 #: src/libvlc.c:1060
msgid "[module] [description]\n" msgid "[module] [description]\n"
msgstr "" msgstr ""
#: src/libvlc.c:1094 #: src/libvlc.c:1101
msgid "" msgid ""
"This program comes with NO WARRANTY, to the extent permitted by law.\n" "This program comes with NO WARRANTY, to the extent permitted by law.\n"
"You may redistribute it under the terms of the GNU General Public License;\n" "You may redistribute it under the terms of the GNU General Public License;\n"
...@@ -148,8 +148,8 @@ msgstr "" ...@@ -148,8 +148,8 @@ msgstr ""
#: src/libvlc.h:60 #: src/libvlc.h:60
msgid "" msgid ""
"This option allows you to select the audio audio output method used by vlc. " "This option allows you to select the audio output method used by vlc. The "
"The default behavior is to automatically select the best method available." "default behavior is to automatically select the best method available."
msgstr "" msgstr ""
#: src/libvlc.h:64 #: src/libvlc.h:64
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2002-06-04 02:09+0200\n" "POT-Creation-Date: 2002-06-07 11:11+0200\n"
"PO-Revision-Date: 2002-04-20 16:58GMT\n" "PO-Revision-Date: 2002-04-20 16:58GMT\n"
"Last-Translator: Jean-Paul Saman <jpsaman@wxs.nl>\n" "Last-Translator: Jean-Paul Saman <jpsaman@wxs.nl>\n"
"Language-Team: Nederlands <nl@li.org>\n" "Language-Team: Nederlands <nl@li.org>\n"
...@@ -14,13 +14,13 @@ msgstr "" ...@@ -14,13 +14,13 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 0.8\n" "X-Generator: KBabel 0.8\n"
#: src/libvlc.c:277 #: src/libvlc.c:281
#, c-format #, c-format
msgid "Usage: %s [options] [parameters] [file]...\n" msgid "Usage: %s [options] [parameters] [file]...\n"
msgstr "Gebruik: %s [opties] [parameters] [file] ...\n" msgstr "Gebruik: %s [opties] [parameters] [file] ...\n"
#. Print module name #. Print module name
#: src/libvlc.c:891 #: src/libvlc.c:898
#, fuzzy, c-format #, fuzzy, c-format
msgid "" msgid ""
"%s module options:\n" "%s module options:\n"
...@@ -28,27 +28,27 @@ msgid "" ...@@ -28,27 +28,27 @@ msgid ""
msgstr "%s module opties:\n" msgstr "%s module opties:\n"
#. We could also have "=<" here #. We could also have "=<" here
#: src/libvlc.c:911 src/misc/configuration.c:798 #: src/libvlc.c:918 src/misc/configuration.c:798
msgid "string" msgid "string"
msgstr "" msgstr ""
#: src/libvlc.c:914 src/misc/configuration.c:783 #: src/libvlc.c:921 src/misc/configuration.c:783
msgid "integer" msgid "integer"
msgstr "" msgstr ""
#: src/libvlc.c:917 src/misc/configuration.c:790 #: src/libvlc.c:924 src/misc/configuration.c:790
msgid "float" msgid "float"
msgstr "" msgstr ""
#: src/libvlc.c:923 #: src/libvlc.c:930
msgid " (default enabled)" msgid " (default enabled)"
msgstr "" msgstr ""
#: src/libvlc.c:924 #: src/libvlc.c:931
msgid " (default disabled)" msgid " (default disabled)"
msgstr "" msgstr ""
#: src/libvlc.c:1006 #: src/libvlc.c:1013
#, fuzzy #, fuzzy
msgid "" msgid ""
"\n" "\n"
...@@ -77,7 +77,7 @@ msgstr "" ...@@ -77,7 +77,7 @@ msgstr ""
" vlc:pause \tpauzeer speellijst items\n" " vlc:pause \tpauzeer speellijst items\n"
" vlc:quit \tstop VLC" " vlc:quit \tstop VLC"
#: src/libvlc.c:1027 src/libvlc.c:1076 src/libvlc.c:1100 src/libvlc.c:1119 #: src/libvlc.c:1034 src/libvlc.c:1083 src/libvlc.c:1107 src/libvlc.c:1126
#, fuzzy #, fuzzy
msgid "" msgid ""
"\n" "\n"
...@@ -87,19 +87,19 @@ msgstr "" ...@@ -87,19 +87,19 @@ msgstr ""
"Druk op RETURN om verder te gaan..." "Druk op RETURN om verder te gaan..."
#. Usage #. Usage
#: src/libvlc.c:1050 #: src/libvlc.c:1057
#, fuzzy, c-format #, fuzzy, c-format
msgid "" msgid ""
"Usage: %s [options] [parameters] [file]...\n" "Usage: %s [options] [parameters] [file]...\n"
"\n" "\n"
msgstr "Gebruik: %s [opties] [parameters] [file] ...\n" msgstr "Gebruik: %s [opties] [parameters] [file] ...\n"
#: src/libvlc.c:1053 #: src/libvlc.c:1060
#, fuzzy #, fuzzy
msgid "[module] [description]\n" msgid "[module] [description]\n"
msgstr "[module] [beschrijving]" msgstr "[module] [beschrijving]"
#: src/libvlc.c:1094 #: src/libvlc.c:1101
#, fuzzy #, fuzzy
msgid "" msgid ""
"This program comes with NO WARRANTY, to the extent permitted by law.\n" "This program comes with NO WARRANTY, to the extent permitted by law.\n"
...@@ -176,10 +176,9 @@ msgid "audio output module" ...@@ -176,10 +176,9 @@ msgid "audio output module"
msgstr "audio output module" msgstr "audio output module"
#: src/libvlc.h:60 #: src/libvlc.h:60
#, fuzzy
msgid "" msgid ""
"This option allows you to select the audio audio output method used by vlc. " "This option allows you to select the audio output method used by vlc. The "
"The default behavior is to automatically select the best method available." "default behavior is to automatically select the best method available."
msgstr "" msgstr ""
"Deze optie selecteert de audio output methode, die gebruikt wordt door vlc.\n" "Deze optie selecteert de audio output methode, die gebruikt wordt door vlc.\n"
"Noot: Standaard wordt automatisch de best beschikbare methode gekozen." "Noot: Standaard wordt automatisch de best beschikbare methode gekozen."
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: vlc-cvs\n" "Project-Id-Version: vlc-cvs\n"
"POT-Creation-Date: 2002-06-04 02:09+0200\n" "POT-Creation-Date: 2002-06-07 11:11+0200\n"
"PO-Revision-Date: 2002-28-02 23.35+0100\n" "PO-Revision-Date: 2002-28-02 23.35+0100\n"
"Last-Translator: Sigmund Augdal <sigmunau@idi.ntnu.no>.\n" "Last-Translator: Sigmund Augdal <sigmunau@idi.ntnu.no>.\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
...@@ -13,13 +13,13 @@ msgstr "" ...@@ -13,13 +13,13 @@ msgstr ""
"Content-Type: text/plain; charset=iso-8859-1\n" "Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: src/libvlc.c:277 #: src/libvlc.c:281
#, c-format #, c-format
msgid "Usage: %s [options] [parameters] [file]...\n" msgid "Usage: %s [options] [parameters] [file]...\n"
msgstr "" msgstr ""
#. Print module name #. Print module name
#: src/libvlc.c:891 #: src/libvlc.c:898
#, c-format #, c-format
msgid "" msgid ""
"%s module options:\n" "%s module options:\n"
...@@ -27,27 +27,27 @@ msgid "" ...@@ -27,27 +27,27 @@ msgid ""
msgstr "" msgstr ""
#. We could also have "=<" here #. We could also have "=<" here
#: src/libvlc.c:911 src/misc/configuration.c:798 #: src/libvlc.c:918 src/misc/configuration.c:798
msgid "string" msgid "string"
msgstr "" msgstr ""
#: src/libvlc.c:914 src/misc/configuration.c:783 #: src/libvlc.c:921 src/misc/configuration.c:783
msgid "integer" msgid "integer"
msgstr "" msgstr ""
#: src/libvlc.c:917 src/misc/configuration.c:790 #: src/libvlc.c:924 src/misc/configuration.c:790
msgid "float" msgid "float"
msgstr "" msgstr ""
#: src/libvlc.c:923 #: src/libvlc.c:930
msgid " (default enabled)" msgid " (default enabled)"
msgstr "" msgstr ""
#: src/libvlc.c:924 #: src/libvlc.c:931
msgid " (default disabled)" msgid " (default disabled)"
msgstr "" msgstr ""
#: src/libvlc.c:1006 #: src/libvlc.c:1013
msgid "" msgid ""
"\n" "\n"
"Playlist items:\n" "Playlist items:\n"
...@@ -63,25 +63,25 @@ msgid "" ...@@ -63,25 +63,25 @@ msgid ""
" vlc:quit quit VLC\n" " vlc:quit quit VLC\n"
msgstr "" msgstr ""
#: src/libvlc.c:1027 src/libvlc.c:1076 src/libvlc.c:1100 src/libvlc.c:1119 #: src/libvlc.c:1034 src/libvlc.c:1083 src/libvlc.c:1107 src/libvlc.c:1126
msgid "" msgid ""
"\n" "\n"
"Press the RETURN key to continue...\n" "Press the RETURN key to continue...\n"
msgstr "" msgstr ""
#. Usage #. Usage
#: src/libvlc.c:1050 #: src/libvlc.c:1057
#, c-format #, c-format
msgid "" msgid ""
"Usage: %s [options] [parameters] [file]...\n" "Usage: %s [options] [parameters] [file]...\n"
"\n" "\n"
msgstr "" msgstr ""
#: src/libvlc.c:1053 #: src/libvlc.c:1060
msgid "[module] [description]\n" msgid "[module] [description]\n"
msgstr "" msgstr ""
#: src/libvlc.c:1094 #: src/libvlc.c:1101
msgid "" msgid ""
"This program comes with NO WARRANTY, to the extent permitted by law.\n" "This program comes with NO WARRANTY, to the extent permitted by law.\n"
"You may redistribute it under the terms of the GNU General Public License;\n" "You may redistribute it under the terms of the GNU General Public License;\n"
...@@ -149,8 +149,8 @@ msgstr "" ...@@ -149,8 +149,8 @@ msgstr ""
#: src/libvlc.h:60 #: src/libvlc.h:60
msgid "" msgid ""
"This option allows you to select the audio audio output method used by vlc. " "This option allows you to select the audio output method used by vlc. The "
"The default behavior is to automatically select the best method available." "default behavior is to automatically select the best method available."
msgstr "" msgstr ""
#: src/libvlc.h:64 #: src/libvlc.h:64
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: vlc\n" "Project-Id-Version: vlc\n"
"POT-Creation-Date: 2002-06-04 02:09+0200\n" "POT-Creation-Date: 2002-06-07 11:11+0200\n"
"PO-Revision-Date: 2002-05-26 18:31+0200\n" "PO-Revision-Date: 2002-05-26 18:31+0200\n"
"Last-Translator: Arkadiusz Lipiec <alipiec@elka.pw.edu.pl>\n" "Last-Translator: Arkadiusz Lipiec <alipiec@elka.pw.edu.pl>\n"
"Language-Team: polish <pl@li.org>\n" "Language-Team: polish <pl@li.org>\n"
...@@ -13,13 +13,13 @@ msgstr "" ...@@ -13,13 +13,13 @@ msgstr ""
"Content-Type: text/plain; charset=iso-8859-2\n" "Content-Type: text/plain; charset=iso-8859-2\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: src/libvlc.c:277 #: src/libvlc.c:281
#, c-format #, c-format
msgid "Usage: %s [options] [parameters] [file]...\n" msgid "Usage: %s [options] [parameters] [file]...\n"
msgstr "Uycie: %s [opcje] [parametry] [plik]...\n" msgstr "Uycie: %s [opcje] [parametry] [plik]...\n"
#. Print module name #. Print module name
#: src/libvlc.c:891 #: src/libvlc.c:898
#, fuzzy, c-format #, fuzzy, c-format
msgid "" msgid ""
"%s module options:\n" "%s module options:\n"
...@@ -27,27 +27,27 @@ msgid "" ...@@ -27,27 +27,27 @@ msgid ""
msgstr "opcje moduu %s:\n" msgstr "opcje moduu %s:\n"
#. We could also have "=<" here #. We could also have "=<" here
#: src/libvlc.c:911 src/misc/configuration.c:798 #: src/libvlc.c:918 src/misc/configuration.c:798
msgid "string" msgid "string"
msgstr "napis" msgstr "napis"
#: src/libvlc.c:914 src/misc/configuration.c:783 #: src/libvlc.c:921 src/misc/configuration.c:783
msgid "integer" msgid "integer"
msgstr "liczba cakowita" msgstr "liczba cakowita"
#: src/libvlc.c:917 src/misc/configuration.c:790 #: src/libvlc.c:924 src/misc/configuration.c:790
msgid "float" msgid "float"
msgstr "liczba zmiennoprz." msgstr "liczba zmiennoprz."
#: src/libvlc.c:923 #: src/libvlc.c:930
msgid " (default enabled)" msgid " (default enabled)"
msgstr "" msgstr ""
#: src/libvlc.c:924 #: src/libvlc.c:931
msgid " (default disabled)" msgid " (default disabled)"
msgstr "" msgstr ""
#: src/libvlc.c:1006 #: src/libvlc.c:1013
#, fuzzy #, fuzzy
msgid "" msgid ""
"\n" "\n"
...@@ -76,7 +76,7 @@ msgstr "" ...@@ -76,7 +76,7 @@ msgstr ""
" vlc:pause zatrzymanie odtwarzania obiektw listy\n" " vlc:pause zatrzymanie odtwarzania obiektw listy\n"
" vlc:quit wyjcie z VLC" " vlc:quit wyjcie z VLC"
#: src/libvlc.c:1027 src/libvlc.c:1076 src/libvlc.c:1100 src/libvlc.c:1119 #: src/libvlc.c:1034 src/libvlc.c:1083 src/libvlc.c:1107 src/libvlc.c:1126
#, fuzzy #, fuzzy
msgid "" msgid ""
"\n" "\n"
...@@ -86,19 +86,19 @@ msgstr "" ...@@ -86,19 +86,19 @@ msgstr ""
"Nacinij klawisz ENTER aby kontynuowa..." "Nacinij klawisz ENTER aby kontynuowa..."
#. Usage #. Usage
#: src/libvlc.c:1050 #: src/libvlc.c:1057
#, fuzzy, c-format #, fuzzy, c-format
msgid "" msgid ""
"Usage: %s [options] [parameters] [file]...\n" "Usage: %s [options] [parameters] [file]...\n"
"\n" "\n"
msgstr "Uycie: %s [opcje] [parametry] [plik]...\n" msgstr "Uycie: %s [opcje] [parametry] [plik]...\n"
#: src/libvlc.c:1053 #: src/libvlc.c:1060
#, fuzzy #, fuzzy
msgid "[module] [description]\n" msgid "[module] [description]\n"
msgstr "[modu] [opis]" msgstr "[modu] [opis]"
#: src/libvlc.c:1094 #: src/libvlc.c:1101
#, fuzzy #, fuzzy
msgid "" msgid ""
"This program comes with NO WARRANTY, to the extent permitted by law.\n" "This program comes with NO WARRANTY, to the extent permitted by law.\n"
...@@ -175,10 +175,9 @@ msgid "audio output module" ...@@ -175,10 +175,9 @@ msgid "audio output module"
msgstr "modu wyjciowy dwiku" msgstr "modu wyjciowy dwiku"
#: src/libvlc.h:60 #: src/libvlc.h:60
#, fuzzy
msgid "" msgid ""
"This option allows you to select the audio audio output method used by vlc. " "This option allows you to select the audio output method used by vlc. The "
"The default behavior is to automatically select the best method available." "default behavior is to automatically select the best method available."
msgstr "" msgstr ""
"Ta opcja umoliwia wybranie metody wyjciowej dwiku uywanej przez vlc.\n" "Ta opcja umoliwia wybranie metody wyjciowej dwiku uywanej przez vlc.\n"
"Zauwa, e domylnym zachowaniem jest automatyczne wybranie najlepszej " "Zauwa, e domylnym zachowaniem jest automatyczne wybranie najlepszej "
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-vlc\n" "Project-Id-Version: gnome-vlc\n"
"POT-Creation-Date: 2002-06-04 02:09+0200\n" "POT-Creation-Date: 2002-06-07 11:11+0200\n"
"PO-Revision-Date: 2001-02-19 19:58+03:00\n" "PO-Revision-Date: 2001-02-19 19:58+03:00\n"
"Last-Translator: Valek Filippov <frob@df.ru>\n" "Last-Translator: Valek Filippov <frob@df.ru>\n"
"Language-Team: Russian <ru@li.org>\n" "Language-Team: Russian <ru@li.org>\n"
...@@ -14,13 +14,13 @@ msgstr "" ...@@ -14,13 +14,13 @@ msgstr ""
"Content-Type: text/plain; charset=koi8-r\n" "Content-Type: text/plain; charset=koi8-r\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: src/libvlc.c:277 #: src/libvlc.c:281
#, c-format #, c-format
msgid "Usage: %s [options] [parameters] [file]...\n" msgid "Usage: %s [options] [parameters] [file]...\n"
msgstr "" msgstr ""
#. Print module name #. Print module name
#: src/libvlc.c:891 #: src/libvlc.c:898
#, c-format #, c-format
msgid "" msgid ""
"%s module options:\n" "%s module options:\n"
...@@ -28,27 +28,27 @@ msgid "" ...@@ -28,27 +28,27 @@ msgid ""
msgstr "" msgstr ""
#. We could also have "=<" here #. We could also have "=<" here
#: src/libvlc.c:911 src/misc/configuration.c:798 #: src/libvlc.c:918 src/misc/configuration.c:798
msgid "string" msgid "string"
msgstr "" msgstr ""
#: src/libvlc.c:914 src/misc/configuration.c:783 #: src/libvlc.c:921 src/misc/configuration.c:783
msgid "integer" msgid "integer"
msgstr "" msgstr ""
#: src/libvlc.c:917 src/misc/configuration.c:790 #: src/libvlc.c:924 src/misc/configuration.c:790
msgid "float" msgid "float"
msgstr "" msgstr ""
#: src/libvlc.c:923 #: src/libvlc.c:930
msgid " (default enabled)" msgid " (default enabled)"
msgstr "" msgstr ""
#: src/libvlc.c:924 #: src/libvlc.c:931
msgid " (default disabled)" msgid " (default disabled)"
msgstr "" msgstr ""
#: src/libvlc.c:1006 #: src/libvlc.c:1013
msgid "" msgid ""
"\n" "\n"
"Playlist items:\n" "Playlist items:\n"
...@@ -64,25 +64,25 @@ msgid "" ...@@ -64,25 +64,25 @@ msgid ""
" vlc:quit quit VLC\n" " vlc:quit quit VLC\n"
msgstr "" msgstr ""
#: src/libvlc.c:1027 src/libvlc.c:1076 src/libvlc.c:1100 src/libvlc.c:1119 #: src/libvlc.c:1034 src/libvlc.c:1083 src/libvlc.c:1107 src/libvlc.c:1126
msgid "" msgid ""
"\n" "\n"
"Press the RETURN key to continue...\n" "Press the RETURN key to continue...\n"
msgstr "" msgstr ""
#. Usage #. Usage
#: src/libvlc.c:1050 #: src/libvlc.c:1057
#, c-format #, c-format
msgid "" msgid ""
"Usage: %s [options] [parameters] [file]...\n" "Usage: %s [options] [parameters] [file]...\n"
"\n" "\n"
msgstr "" msgstr ""
#: src/libvlc.c:1053 #: src/libvlc.c:1060
msgid "[module] [description]\n" msgid "[module] [description]\n"
msgstr "" msgstr ""
#: src/libvlc.c:1094 #: src/libvlc.c:1101
msgid "" msgid ""
"This program comes with NO WARRANTY, to the extent permitted by law.\n" "This program comes with NO WARRANTY, to the extent permitted by law.\n"
"You may redistribute it under the terms of the GNU General Public License;\n" "You may redistribute it under the terms of the GNU General Public License;\n"
...@@ -148,8 +148,8 @@ msgstr "" ...@@ -148,8 +148,8 @@ msgstr ""
#: src/libvlc.h:60 #: src/libvlc.h:60
msgid "" msgid ""
"This option allows you to select the audio audio output method used by vlc. " "This option allows you to select the audio output method used by vlc. The "
"The default behavior is to automatically select the best method available." "default behavior is to automatically select the best method available."
msgstr "" msgstr ""
#: src/libvlc.h:64 #: src/libvlc.h:64
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2002-06-04 02:09+0200\n" "POT-Creation-Date: 2002-06-07 11:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
...@@ -14,13 +14,13 @@ msgstr "" ...@@ -14,13 +14,13 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n" "Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: src/libvlc.c:277 #: src/libvlc.c:281
#, c-format #, c-format
msgid "Usage: %s [options] [parameters] [file]...\n" msgid "Usage: %s [options] [parameters] [file]...\n"
msgstr "" msgstr ""
#. Print module name #. Print module name
#: src/libvlc.c:891 #: src/libvlc.c:898
#, c-format #, c-format
msgid "" msgid ""
"%s module options:\n" "%s module options:\n"
...@@ -28,27 +28,27 @@ msgid "" ...@@ -28,27 +28,27 @@ msgid ""
msgstr "" msgstr ""
#. We could also have "=<" here #. We could also have "=<" here
#: src/libvlc.c:911 src/misc/configuration.c:798 #: src/libvlc.c:918 src/misc/configuration.c:798
msgid "string" msgid "string"
msgstr "" msgstr ""
#: src/libvlc.c:914 src/misc/configuration.c:783 #: src/libvlc.c:921 src/misc/configuration.c:783
msgid "integer" msgid "integer"
msgstr "" msgstr ""
#: src/libvlc.c:917 src/misc/configuration.c:790 #: src/libvlc.c:924 src/misc/configuration.c:790
msgid "float" msgid "float"
msgstr "" msgstr ""
#: src/libvlc.c:923 #: src/libvlc.c:930
msgid " (default enabled)" msgid " (default enabled)"
msgstr "" msgstr ""
#: src/libvlc.c:924 #: src/libvlc.c:931
msgid " (default disabled)" msgid " (default disabled)"
msgstr "" msgstr ""
#: src/libvlc.c:1006 #: src/libvlc.c:1013
msgid "" msgid ""
"\n" "\n"
"Playlist items:\n" "Playlist items:\n"
...@@ -64,25 +64,25 @@ msgid "" ...@@ -64,25 +64,25 @@ msgid ""
" vlc:quit quit VLC\n" " vlc:quit quit VLC\n"
msgstr "" msgstr ""
#: src/libvlc.c:1027 src/libvlc.c:1076 src/libvlc.c:1100 src/libvlc.c:1119 #: src/libvlc.c:1034 src/libvlc.c:1083 src/libvlc.c:1107 src/libvlc.c:1126
msgid "" msgid ""
"\n" "\n"
"Press the RETURN key to continue...\n" "Press the RETURN key to continue...\n"
msgstr "" msgstr ""
#. Usage #. Usage
#: src/libvlc.c:1050 #: src/libvlc.c:1057
#, c-format #, c-format
msgid "" msgid ""
"Usage: %s [options] [parameters] [file]...\n" "Usage: %s [options] [parameters] [file]...\n"
"\n" "\n"
msgstr "" msgstr ""
#: src/libvlc.c:1053 #: src/libvlc.c:1060
msgid "[module] [description]\n" msgid "[module] [description]\n"
msgstr "" msgstr ""
#: src/libvlc.c:1094 #: src/libvlc.c:1101
msgid "" msgid ""
"This program comes with NO WARRANTY, to the extent permitted by law.\n" "This program comes with NO WARRANTY, to the extent permitted by law.\n"
"You may redistribute it under the terms of the GNU General Public License;\n" "You may redistribute it under the terms of the GNU General Public License;\n"
...@@ -148,8 +148,8 @@ msgstr "" ...@@ -148,8 +148,8 @@ msgstr ""
#: src/libvlc.h:60 #: src/libvlc.h:60
msgid "" msgid ""
"This option allows you to select the audio audio output method used by vlc. " "This option allows you to select the audio output method used by vlc. The "
"The default behavior is to automatically select the best method available." "default behavior is to automatically select the best method available."
msgstr "" msgstr ""
#: src/libvlc.h:64 #: src/libvlc.h:64
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* decoders. * decoders.
***************************************************************************** *****************************************************************************
* Copyright (C) 1998-2001 VideoLAN * Copyright (C) 1998-2001 VideoLAN
* $Id: input.c,v 1.201 2002/06/04 00:11:12 sam Exp $ * $Id: input.c,v 1.202 2002/06/07 14:30:41 sam Exp $
* *
* Authors: Christophe Massiot <massiot@via.ecp.fr> * Authors: Christophe Massiot <massiot@via.ecp.fr>
* *
...@@ -77,7 +77,7 @@ input_thread_t *__input_CreateThread( vlc_object_t *p_parent, ...@@ -77,7 +77,7 @@ input_thread_t *__input_CreateThread( vlc_object_t *p_parent,
if( p_input == NULL ) if( p_input == NULL )
{ {
msg_Err( p_parent, "out of memory" ); msg_Err( p_parent, "out of memory" );
return( NULL ); return NULL;
} }
/* Initialize thread properties */ /* Initialize thread properties */
...@@ -446,7 +446,7 @@ static int InitThread( input_thread_t * p_input ) ...@@ -446,7 +446,7 @@ static int InitThread( input_thread_t * p_input )
if( input_AccessInit( p_input ) == -1 ) if( input_AccessInit( p_input ) == -1 )
{ {
return( -1 ); return -1;
} }
/* Find and open appropriate access module */ /* Find and open appropriate access module */
...@@ -458,7 +458,7 @@ static int InitThread( input_thread_t * p_input ) ...@@ -458,7 +458,7 @@ static int InitThread( input_thread_t * p_input )
{ {
msg_Err( p_input, "no suitable access module for `%s/%s:%s'", msg_Err( p_input, "no suitable access module for `%s/%s:%s'",
p_input->psz_access, p_input->psz_demux, p_input->psz_name ); p_input->psz_access, p_input->psz_demux, p_input->psz_name );
return( -1 ); return -1;
} }
#define f p_input->p_access_module->p_functions->access.functions.access #define f p_input->p_access_module->p_functions->access.functions.access
...@@ -487,7 +487,7 @@ static int InitThread( input_thread_t * p_input ) ...@@ -487,7 +487,7 @@ static int InitThread( input_thread_t * p_input )
if( p_input->b_die || p_input->b_error || p_input->b_eof ) if( p_input->b_die || p_input->b_error || p_input->b_eof )
{ {
module_Unneed( p_input->p_access_module ); module_Unneed( p_input->p_access_module );
return( -1 ); return -1;
} }
} }
} }
...@@ -502,7 +502,7 @@ static int InitThread( input_thread_t * p_input ) ...@@ -502,7 +502,7 @@ static int InitThread( input_thread_t * p_input )
msg_Err( p_input, "no suitable demux module for `%s/%s:%s'", msg_Err( p_input, "no suitable demux module for `%s/%s:%s'",
p_input->psz_access, p_input->psz_demux, p_input->psz_name ); p_input->psz_access, p_input->psz_demux, p_input->psz_name );
module_Unneed( p_input->p_access_module ); module_Unneed( p_input->p_access_module );
return( -1 ); return -1;
} }
#define f p_input->p_demux_module->p_functions->demux.functions.demux #define f p_input->p_demux_module->p_functions->demux.functions.demux
...@@ -512,7 +512,7 @@ static int InitThread( input_thread_t * p_input ) ...@@ -512,7 +512,7 @@ static int InitThread( input_thread_t * p_input )
p_input->pf_rewind = f.pf_rewind; p_input->pf_rewind = f.pf_rewind;
#undef f #undef f
return( 0 ); return 0;
} }
/***************************************************************************** /*****************************************************************************
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* and spawns threads. * and spawns threads.
***************************************************************************** *****************************************************************************
* Copyright (C) 1998-2001 VideoLAN * Copyright (C) 1998-2001 VideoLAN
* $Id: libvlc.c,v 1.7 2002/06/04 00:11:12 sam Exp $ * $Id: libvlc.c,v 1.8 2002/06/07 14:30:41 sam Exp $
* *
* Authors: Vincent Seguin <seguin@via.ecp.fr> * Authors: Vincent Seguin <seguin@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org> * Samuel Hocevar <sam@zoy.org>
...@@ -239,6 +239,10 @@ vlc_error_t vlc_init( vlc_t *p_vlc, int i_argc, char *ppsz_argv[] ) ...@@ -239,6 +239,10 @@ vlc_error_t vlc_init( vlc_t *p_vlc, int i_argc, char *ppsz_argv[] )
p_vlc->psz_object_name = "vlc"; p_vlc->psz_object_name = "vlc";
} }
/* Announce who we are */
msg_Dbg( p_vlc, COPYRIGHT_MESSAGE );
msg_Dbg( p_vlc, "libvlc was configured with %s", CONFIGURE_LINE );
/* /*
* Initialize the module bank and and load the configuration of the main * Initialize the module bank and and load the configuration of the main
* module. We need to do this at this stage to be able to display a short * module. We need to do this at this stage to be able to display a short
...@@ -781,8 +785,10 @@ vlc_status_t vlc_status( vlc_t *p_vlc ) ...@@ -781,8 +785,10 @@ vlc_status_t vlc_status( vlc_t *p_vlc )
return p_vlc->i_status; return p_vlc->i_status;
} }
vlc_error_t vlc_add_target( vlc_t *p_vlc, char *psz_target ) vlc_error_t vlc_add_target( vlc_t *p_vlc, char *psz_target,
int i_mode, int i_pos )
{ {
vlc_error_t err;
playlist_t *p_playlist; playlist_t *p_playlist;
if( !p_vlc || ( p_vlc->i_status != VLC_STATUS_STOPPED if( !p_vlc || ( p_vlc->i_status != VLC_STATUS_STOPPED
...@@ -807,11 +813,11 @@ vlc_error_t vlc_add_target( vlc_t *p_vlc, char *psz_target ) ...@@ -807,11 +813,11 @@ vlc_error_t vlc_add_target( vlc_t *p_vlc, char *psz_target )
vlc_object_yield( p_playlist ); vlc_object_yield( p_playlist );
} }
playlist_Add( p_playlist, PLAYLIST_END, psz_target ); err = playlist_Add( p_playlist, psz_target, i_mode, i_pos );
vlc_object_release( p_playlist ); vlc_object_release( p_playlist );
return VLC_SUCCESS; return err;
} }
/* following functions are local */ /* following functions are local */
...@@ -828,7 +834,8 @@ static int GetFilenames( vlc_t *p_vlc, int i_argc, char *ppsz_argv[] ) ...@@ -828,7 +834,8 @@ static int GetFilenames( vlc_t *p_vlc, int i_argc, char *ppsz_argv[] )
/* We assume that the remaining parameters are filenames */ /* We assume that the remaining parameters are filenames */
for( i_opt = optind; i_opt < i_argc; i_opt++ ) for( i_opt = optind; i_opt < i_argc; i_opt++ )
{ {
vlc_add_target( p_vlc, ppsz_argv[ i_opt ] ); vlc_add_target( p_vlc, ppsz_argv[ i_opt ],
PLAYLIST_APPEND, PLAYLIST_END );
} }
return VLC_SUCCESS; return VLC_SUCCESS;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* libvlc.h: main libvlc header * libvlc.h: main libvlc header
***************************************************************************** *****************************************************************************
* Copyright (C) 1998-2002 VideoLAN * Copyright (C) 1998-2002 VideoLAN
* $Id: libvlc.h,v 1.2 2002/06/01 17:09:25 sam Exp $ * $Id: libvlc.h,v 1.3 2002/06/07 14:30:41 sam Exp $
* *
* Authors: Vincent Seguin <seguin@via.ecp.fr> * Authors: Vincent Seguin <seguin@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org> * Samuel Hocevar <sam@zoy.org>
...@@ -57,9 +57,9 @@ ...@@ -57,9 +57,9 @@
#define AOUT_TEXT N_("audio output module") #define AOUT_TEXT N_("audio output module")
#define AOUT_LONGTEXT N_( \ #define AOUT_LONGTEXT N_( \
"This option allows you to select the audio audio output method used by " \ "This option allows you to select the audio output method used by vlc. " \
"vlc. The default behavior is to automatically select the " \ "The default behavior is to automatically select the best method " \
"best method available.") "available.")
#define AUDIO_TEXT N_("enable audio") #define AUDIO_TEXT N_("enable audio")
#define AUDIO_LONGTEXT N_( \ #define AUDIO_LONGTEXT N_( \
...@@ -360,9 +360,9 @@ ADD_BOOL ( "altivec", 1, NULL, ALTIVEC_TEXT, ALTIVEC_LONGTEXT ) ...@@ -360,9 +360,9 @@ ADD_BOOL ( "altivec", 1, NULL, ALTIVEC_TEXT, ALTIVEC_LONGTEXT )
/* Playlist options */ /* Playlist options */
ADD_CATEGORY_HINT( N_("Playlist"), NULL ) ADD_CATEGORY_HINT( N_("Playlist"), NULL )
ADD_BOOL ( "launch-playlist", 0, NULL, PL_LAUNCH_TEXT, PL_LAUNCH_LONGTEXT ) ADD_BOOL ( "playlist", 0, NULL, PL_LAUNCH_TEXT, PL_LAUNCH_LONGTEXT )
ADD_BOOL ( "enqueue-playlist", 0, NULL, PL_ENQUEUE_TEXT, PL_ENQUEUE_LONGTEXT ) ADD_BOOL ( "enqueue", 0, NULL, PL_ENQUEUE_TEXT, PL_ENQUEUE_LONGTEXT )
ADD_BOOL ( "loop-playlist", 0, NULL, PL_LOOP_TEXT, PL_LOOP_LONGTEXT ) ADD_BOOL ( "loop", 0, NULL, PL_LOOP_TEXT, PL_LOOP_LONGTEXT )
/* Misc options */ /* Misc options */
ADD_CATEGORY_HINT( N_("Miscellaneous"), NULL ) ADD_CATEGORY_HINT( N_("Miscellaneous"), NULL )
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* cpu.c: CPU detection code * cpu.c: CPU detection code
***************************************************************************** *****************************************************************************
* Copyright (C) 1998-2002 VideoLAN * Copyright (C) 1998-2002 VideoLAN
* $Id: cpu.c,v 1.3 2002/06/04 00:11:12 sam Exp $ * $Id: cpu.c,v 1.4 2002/06/07 14:30:41 sam Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* Christophe Massiot <massiot@via.ecp.fr> * Christophe Massiot <massiot@via.ecp.fr>
...@@ -82,7 +82,7 @@ u32 __CPUCapabilities( vlc_object_t *p_this ) ...@@ -82,7 +82,7 @@ u32 __CPUCapabilities( vlc_object_t *p_this )
if( ret != KERN_SUCCESS ) if( ret != KERN_SUCCESS )
{ {
fprintf( stderr, "error: couldn't get CPU information\n" ); fprintf( stderr, "error: couldn't get CPU information\n" );
return( i_capabilities ); return i_capabilities;
} }
slot_name( hi.cpu_type, hi.cpu_subtype, &psz_name, &psz_subname ); slot_name( hi.cpu_type, hi.cpu_subtype, &psz_name, &psz_subname );
...@@ -93,7 +93,7 @@ u32 __CPUCapabilities( vlc_object_t *p_this ) ...@@ -93,7 +93,7 @@ u32 __CPUCapabilities( vlc_object_t *p_this )
i_capabilities |= CPU_CAPABILITY_ALTIVEC; i_capabilities |= CPU_CAPABILITY_ALTIVEC;
} }
return( i_capabilities ); return i_capabilities;
#elif defined( __i386__ ) #elif defined( __i386__ )
volatile unsigned int i_eax, i_ebx, i_ecx, i_edx; volatile unsigned int i_eax, i_ebx, i_ecx, i_edx;
...@@ -140,7 +140,7 @@ u32 __CPUCapabilities( vlc_object_t *p_this ) ...@@ -140,7 +140,7 @@ u32 __CPUCapabilities( vlc_object_t *p_this )
# if defined( CAN_COMPILE_SSE ) || defined ( CAN_COMPILE_3DNOW ) # if defined( CAN_COMPILE_SSE ) || defined ( CAN_COMPILE_3DNOW )
signal( SIGILL, NULL ); signal( SIGILL, NULL );
# endif # endif
return( i_capabilities ); return i_capabilities;
} }
i_capabilities |= CPU_CAPABILITY_486; i_capabilities |= CPU_CAPABILITY_486;
...@@ -153,7 +153,7 @@ u32 __CPUCapabilities( vlc_object_t *p_this ) ...@@ -153,7 +153,7 @@ u32 __CPUCapabilities( vlc_object_t *p_this )
# if defined( CAN_COMPILE_SSE ) || defined ( CAN_COMPILE_3DNOW ) # if defined( CAN_COMPILE_SSE ) || defined ( CAN_COMPILE_3DNOW )
signal( SIGILL, NULL ); signal( SIGILL, NULL );
# endif # endif
return( i_capabilities ); return i_capabilities;
} }
/* FIXME: this isn't correct, since some 486s have cpuid */ /* FIXME: this isn't correct, since some 486s have cpuid */
...@@ -171,7 +171,7 @@ u32 __CPUCapabilities( vlc_object_t *p_this ) ...@@ -171,7 +171,7 @@ u32 __CPUCapabilities( vlc_object_t *p_this )
# if defined( CAN_COMPILE_SSE ) || defined ( CAN_COMPILE_3DNOW ) # if defined( CAN_COMPILE_SSE ) || defined ( CAN_COMPILE_3DNOW )
signal( SIGILL, NULL ); signal( SIGILL, NULL );
# endif # endif
return( i_capabilities ); return i_capabilities;
} }
i_capabilities |= CPU_CAPABILITY_MMX; i_capabilities |= CPU_CAPABILITY_MMX;
...@@ -208,7 +208,7 @@ u32 __CPUCapabilities( vlc_object_t *p_this ) ...@@ -208,7 +208,7 @@ u32 __CPUCapabilities( vlc_object_t *p_this )
# if defined( CAN_COMPILE_SSE ) || defined ( CAN_COMPILE_3DNOW ) # if defined( CAN_COMPILE_SSE ) || defined ( CAN_COMPILE_3DNOW )
signal( SIGILL, NULL ); signal( SIGILL, NULL );
# endif # endif
return( i_capabilities ); return i_capabilities;
} }
/* list these additional capabilities */ /* list these additional capabilities */
...@@ -243,7 +243,7 @@ u32 __CPUCapabilities( vlc_object_t *p_this ) ...@@ -243,7 +243,7 @@ u32 __CPUCapabilities( vlc_object_t *p_this )
# if defined( CAN_COMPILE_SSE ) || defined ( CAN_COMPILE_3DNOW ) # if defined( CAN_COMPILE_SSE ) || defined ( CAN_COMPILE_3DNOW )
signal( SIGILL, NULL ); signal( SIGILL, NULL );
# endif # endif
return( i_capabilities ); return i_capabilities;
#elif defined( __powerpc__ ) #elif defined( __powerpc__ )
...@@ -272,16 +272,16 @@ u32 __CPUCapabilities( vlc_object_t *p_this ) ...@@ -272,16 +272,16 @@ u32 __CPUCapabilities( vlc_object_t *p_this )
signal( SIGILL, NULL ); signal( SIGILL, NULL );
# endif # endif
return( i_capabilities ); return i_capabilities;
#elif defined( __sparc__ ) #elif defined( __sparc__ )
i_capabilities |= CPU_CAPABILITY_FPU; i_capabilities |= CPU_CAPABILITY_FPU;
return( i_capabilities ); return i_capabilities;
#else #else
/* default behaviour */ /* default behaviour */
return( i_capabilities ); return i_capabilities;
#endif #endif
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* modules.c : Builtin and plugin modules management functions * modules.c : Builtin and plugin modules management functions
***************************************************************************** *****************************************************************************
* Copyright (C) 2001 VideoLAN * Copyright (C) 2001 VideoLAN
* $Id: modules.c,v 1.65 2002/06/02 09:03:54 sam Exp $ * $Id: modules.c,v 1.66 2002/06/07 14:30:41 sam Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* Ethan C. Baldridge <BaldridgeE@cadmus.com> * Ethan C. Baldridge <BaldridgeE@cadmus.com>
...@@ -279,8 +279,8 @@ module_t * __module_Need( vlc_object_t *p_this, ...@@ -279,8 +279,8 @@ module_t * __module_Need( vlc_object_t *p_this,
module_t *p_module; module_t *p_module;
char *psz_realname = NULL; char *psz_realname = NULL;
msg_Info( p_this, "looking for %s module", msg_Dbg( p_this, "looking for %s module",
MODULE_CAPABILITY( i_capability ) ); MODULE_CAPABILITY( i_capability ) );
/* We take the global lock */ /* We take the global lock */
vlc_mutex_lock( &p_this->p_vlc->module_bank.lock ); vlc_mutex_lock( &p_this->p_vlc->module_bank.lock );
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* objects.c: vlc_object_t handling * objects.c: vlc_object_t handling
***************************************************************************** *****************************************************************************
* Copyright (C) 2002 VideoLAN * Copyright (C) 2002 VideoLAN
* $Id: objects.c,v 1.7 2002/06/05 18:29:24 stef Exp $ * $Id: objects.c,v 1.8 2002/06/07 14:30:41 sam Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* *
...@@ -163,22 +163,42 @@ void * __vlc_object_create( vlc_object_t *p_this, int i_type ) ...@@ -163,22 +163,42 @@ void * __vlc_object_create( vlc_object_t *p_this, int i_type )
*****************************************************************************/ *****************************************************************************/
void __vlc_object_destroy( vlc_object_t *p_this ) void __vlc_object_destroy( vlc_object_t *p_this )
{ {
if( p_this->i_refcount ) int i_delay = 0;
{
msg_Err( p_this, "refcount is %i", p_this->i_refcount );
vlc_dumpstructure( p_this );
}
if( p_this->i_children ) if( p_this->i_children )
{ {
msg_Err( p_this, "object still has children" ); msg_Err( p_this, "cannot delete object with children" );
vlc_dumpstructure( p_this ); vlc_dumpstructure( p_this );
return;
} }
if( p_this->i_parents ) if( p_this->i_parents )
{ {
msg_Err( p_this, "object still has parents" ); msg_Err( p_this, "cannot delete object with parents" );
vlc_dumpstructure( p_this ); vlc_dumpstructure( p_this );
return;
}
while( p_this->i_refcount )
{
if( i_delay == 0 )
{
msg_Warn( p_this, "refcount is %i, delaying before deletion",
p_this->i_refcount );
}
else if( i_delay == 12 )
{
msg_Err( p_this, "refcount is %i, I have a bad feeling about this",
p_this->i_refcount );
}
else if( i_delay == 42 )
{
msg_Err( p_this, "we waited too long, cancelling destruction" );
return;
}
i_delay++;
msleep( 100000 );
} }
//msg_Dbg( p_this, "destroyed object" ); //msg_Dbg( p_this, "destroyed object" );
...@@ -187,7 +207,6 @@ void __vlc_object_destroy( vlc_object_t *p_this ) ...@@ -187,7 +207,6 @@ void __vlc_object_destroy( vlc_object_t *p_this )
vlc_cond_destroy( &p_this->object_wait ); vlc_cond_destroy( &p_this->object_wait );
free( p_this ); free( p_this );
p_this = NULL;
} }
/***************************************************************************** /*****************************************************************************
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment