Commit 3c98f145 authored by Laurent Aimar's avatar Laurent Aimar

* control: use new variables and 'title*', 'chapter*' ones.

 * gui/beos: removed not really used STARTED_S, and NOT_STARTED_S input
 state.
 * gui/wxwindows: use 'position' and 'time' variables -> seek improved
 for avi and mp4 and accurate time display :)
parent ca334665
...@@ -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.37 2003/07/28 07:16:50 fenrir Exp $ * $Id: rc.c,v 1.38 2003/09/07 22:53:09 fenrir Exp $
* *
* Authors: Peter Surda <shurdeek@panorama.sth.ac.at> * Authors: Peter Surda <shurdeek@panorama.sth.ac.at>
* *
...@@ -510,6 +510,7 @@ static int Input( vlc_object_t *p_this, char const *psz_cmd, ...@@ -510,6 +510,7 @@ static int Input( vlc_object_t *p_this, char const *psz_cmd,
vlc_value_t oldval, vlc_value_t newval, void *p_data ) vlc_value_t oldval, vlc_value_t newval, void *p_data )
{ {
input_thread_t * p_input; input_thread_t * p_input;
vlc_value_t val;
p_input = vlc_object_find( p_this, VLC_OBJECT_INPUT, FIND_ANYWHERE ); p_input = vlc_object_find( p_this, VLC_OBJECT_INPUT, FIND_ANYWHERE );
...@@ -521,7 +522,9 @@ static int Input( vlc_object_t *p_this, char const *psz_cmd, ...@@ -521,7 +522,9 @@ static int Input( vlc_object_t *p_this, char const *psz_cmd,
/* Parse commands that only require an input */ /* Parse commands that only require an input */
if( !strcmp( psz_cmd, "pause" ) ) if( !strcmp( psz_cmd, "pause" ) )
{ {
input_SetStatus( p_input, INPUT_STATUS_PAUSE ); val.i_int = PAUSE_S;
var_Set( p_input, "state", val );
vlc_object_release( p_input ); vlc_object_release( p_input );
return VLC_SUCCESS; return VLC_SUCCESS;
} }
...@@ -530,13 +533,13 @@ static int Input( vlc_object_t *p_this, char const *psz_cmd, ...@@ -530,13 +533,13 @@ static int Input( vlc_object_t *p_this, char const *psz_cmd,
if( strlen( newval.psz_string ) > 0 && if( strlen( newval.psz_string ) > 0 &&
newval.psz_string[strlen( newval.psz_string ) - 1] == '%' ) newval.psz_string[strlen( newval.psz_string ) - 1] == '%' )
{ {
input_Seek( p_input, atoi( newval.psz_string ), val.f_float = (float)atoi( newval.psz_string ) / 100.0;
INPUT_SEEK_PERCENT | INPUT_SEEK_SET ); var_Set( p_input, "position", val );
} }
else else
{ {
input_Seek( p_input, atoi( newval.psz_string ), val.i_time = (int64_t)atoi( newval.psz_string ) * 1000000ULL;
INPUT_SEEK_SECONDS | INPUT_SEEK_SET ); var_Set( p_input, "time", val );
} }
vlc_object_release( p_input ); vlc_object_release( p_input );
return VLC_SUCCESS; return VLC_SUCCESS;
...@@ -545,53 +548,35 @@ static int Input( vlc_object_t *p_this, char const *psz_cmd, ...@@ -545,53 +548,35 @@ static int Input( vlc_object_t *p_this, char const *psz_cmd,
!strcmp( psz_cmd, "chapter_n" ) || !strcmp( psz_cmd, "chapter_n" ) ||
!strcmp( psz_cmd, "chapter_p" ) ) !strcmp( psz_cmd, "chapter_p" ) )
{ {
unsigned int i_chapter = 0;
if( !strcmp( psz_cmd, "chapter" ) ) if( !strcmp( psz_cmd, "chapter" ) )
{ {
if ( *newval.psz_string ) if ( *newval.psz_string )
{ {
/* Set. */ /* Set. */
i_chapter = atoi( newval.psz_string ); val.i_int = atoi( newval.psz_string );
var_Set( p_input, "chapter", val );
} }
else else
{ {
vlc_value_t val_list;
/* Get. */ /* Get. */
vlc_mutex_lock( &p_input->stream.stream_lock ); var_Get( p_input, "chapter", &val );
printf( "Currently playing chapter %d/%d\n", var_Change( p_input, "chapter", VLC_VAR_GETCHOICES, &val_list, NULL );
p_input->stream.p_selected_area->i_part, printf( "Currently playing chapter %d/%d\n", val.i_int, val_list.p_list->i_count );
p_input->stream.p_selected_area->i_part_nb - 1 ); var_Change( p_this, "chapter", VLC_VAR_FREELIST, &val_list, NULL );
vlc_mutex_unlock( &p_input->stream.stream_lock );
vlc_object_release( p_input );
return VLC_SUCCESS;
} }
} }
else if( !strcmp( psz_cmd, "chapter_n" ) ) else if( !strcmp( psz_cmd, "chapter_n" ) )
{ {
vlc_mutex_lock( &p_input->stream.stream_lock ); val.b_bool = VLC_TRUE;
i_chapter = p_input->stream.p_selected_area->i_part + 1; var_Set( p_input, "next-chapter", val );
vlc_mutex_unlock( &p_input->stream.stream_lock );
} }
else if( !strcmp( psz_cmd, "chapter_p" ) ) else if( !strcmp( psz_cmd, "chapter_p" ) )
{ {
vlc_mutex_lock( &p_input->stream.stream_lock ); val.b_bool = VLC_TRUE;
i_chapter = p_input->stream.p_selected_area->i_part - 1; var_Set( p_input, "prev-chapter", val );
vlc_mutex_unlock( &p_input->stream.stream_lock );
}
vlc_mutex_lock( &p_input->stream.stream_lock );
if( ( i_chapter > 0 ) && ( i_chapter <
p_input->stream.p_selected_area->i_part_nb ) )
{
input_area_t *p_area = p_input->stream.p_selected_area;
p_input->stream.p_selected_area->i_part = i_chapter;
vlc_mutex_unlock( &p_input->stream.stream_lock );
input_ChangeArea( p_input, p_area );
input_SetStatus( p_input, INPUT_STATUS_PLAY );
vlc_mutex_lock( &p_input->stream.stream_lock );
} }
vlc_mutex_unlock( &p_input->stream.stream_lock );
vlc_object_release( p_input ); vlc_object_release( p_input );
return VLC_SUCCESS; return VLC_SUCCESS;
...@@ -600,51 +585,35 @@ static int Input( vlc_object_t *p_this, char const *psz_cmd, ...@@ -600,51 +585,35 @@ static int Input( vlc_object_t *p_this, char const *psz_cmd,
!strcmp( psz_cmd, "title_n" ) || !strcmp( psz_cmd, "title_n" ) ||
!strcmp( psz_cmd, "title_p" ) ) !strcmp( psz_cmd, "title_p" ) )
{ {
unsigned int i_title = 0;
if( !strcmp( psz_cmd, "title" ) ) if( !strcmp( psz_cmd, "title" ) )
{ {
if ( *newval.psz_string ) if ( *newval.psz_string )
{ {
/* Set. */ /* Set. */
i_title = atoi( newval.psz_string ); val.i_int = atoi( newval.psz_string );
var_Set( p_input, "title", val );
} }
else else
{ {
vlc_value_t val_list;
/* Get. */ /* Get. */
vlc_mutex_lock( &p_input->stream.stream_lock ); var_Get( p_input, "title", &val );
printf( "Currently playing title %d/%d\n", var_Change( p_input, "title", VLC_VAR_GETCHOICES, &val_list, NULL );
p_input->stream.p_selected_area->i_id, printf( "Currently playing title %d/%d\n", val.i_int, val_list.p_list->i_count );
p_input->stream.i_area_nb - 1 ); var_Change( p_this, "title", VLC_VAR_FREELIST, &val_list, NULL );
vlc_mutex_unlock( &p_input->stream.stream_lock );
vlc_object_release( p_input );
return VLC_SUCCESS;
} }
} }
else if( !strcmp( psz_cmd, "title_n" ) ) else if( !strcmp( psz_cmd, "title_n" ) )
{ {
vlc_mutex_lock( &p_input->stream.stream_lock ); val.b_bool = VLC_TRUE;
i_title = p_input->stream.p_selected_area->i_id + 1; var_Set( p_input, "next-title", val );
vlc_mutex_unlock( &p_input->stream.stream_lock );
} }
else if( !strcmp( psz_cmd, "title_p" ) ) else if( !strcmp( psz_cmd, "title_p" ) )
{ {
vlc_mutex_lock( &p_input->stream.stream_lock ); val.b_bool = VLC_TRUE;
i_title = p_input->stream.p_selected_area->i_id - 1; var_Set( p_input, "prev-title", val );
vlc_mutex_unlock( &p_input->stream.stream_lock );
}
vlc_mutex_lock( &p_input->stream.stream_lock );
if( ( i_title > 0 ) && ( i_title < p_input->stream.i_area_nb ) )
{
input_area_t *p_area = p_input->stream.pp_areas[i_title];
vlc_mutex_unlock( &p_input->stream.stream_lock );
input_ChangeArea( p_input, p_area );
input_SetStatus( p_input, INPUT_STATUS_PLAY );
vlc_mutex_lock( &p_input->stream.stream_lock );
} }
vlc_mutex_unlock( &p_input->stream.stream_lock );
vlc_object_release( p_input ); vlc_object_release( p_input );
return VLC_SUCCESS; return VLC_SUCCESS;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* InterfaceWindow.cpp: beos interface * InterfaceWindow.cpp: beos interface
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN * Copyright (C) 1999, 2000, 2001 VideoLAN
* $Id: InterfaceWindow.cpp,v 1.42 2003/06/22 00:40:18 titer Exp $ * $Id: InterfaceWindow.cpp,v 1.43 2003/09/07 22:53:09 fenrir Exp $
* *
* Authors: Jean-Marc Dressler <polux@via.ecp.fr> * Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org> * Samuel Hocevar <sam@zoy.org>
...@@ -416,7 +416,7 @@ void InterfaceWindow::MessageReceived( BMessage * p_message ) ...@@ -416,7 +416,7 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
if (playback_status > UNDEF_S) if (playback_status > UNDEF_S)
{ {
p_wrapper->PlaylistStop(); p_wrapper->PlaylistStop();
p_mediaControl->SetStatus(NOT_STARTED_S, DEFAULT_RATE); p_mediaControl->SetStatus(UNDEF_S, DEFAULT_RATE);
} }
break; break;
...@@ -722,7 +722,7 @@ void InterfaceWindow::MessageReceived( BMessage * p_message ) ...@@ -722,7 +722,7 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
bool InterfaceWindow::QuitRequested() bool InterfaceWindow::QuitRequested()
{ {
p_wrapper->PlaylistStop(); p_wrapper->PlaylistStop();
p_mediaControl->SetStatus(NOT_STARTED_S, DEFAULT_RATE); p_mediaControl->SetStatus(UNDEF_S, DEFAULT_RATE);
_StoreSettings(); _StoreSettings();
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* MediaControlView.cpp: beos interface * MediaControlView.cpp: beos interface
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN * Copyright (C) 1999, 2000, 2001 VideoLAN
* $Id: MediaControlView.cpp,v 1.19 2003/06/22 00:40:18 titer Exp $ * $Id: MediaControlView.cpp,v 1.20 2003/09/07 22:53:09 fenrir Exp $
* *
* Authors: Tony Castley <tony@castley.net> * Authors: Tony Castley <tony@castley.net>
* Stephan Aßmus <stippi@yellowbites.com> * Stephan Aßmus <stippi@yellowbites.com>
...@@ -300,14 +300,12 @@ MediaControlView::SetStatus(int status, int rate) ...@@ -300,14 +300,12 @@ MediaControlView::SetStatus(int status, int rate)
case PLAYING_S: case PLAYING_S:
case FORWARD_S: case FORWARD_S:
case BACKWARD_S: case BACKWARD_S:
case START_S:
fPlayPause->SetPlaying(); fPlayPause->SetPlaying();
break; break;
case PAUSE_S: case PAUSE_S:
fPlayPause->SetPaused(); fPlayPause->SetPaused();
break; break;
case UNDEF_S: case UNDEF_S:
case NOT_STARTED_S:
default: default:
fPlayPause->SetStopped(); fPlayPause->SetStopped();
break; break;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* VlcWrapper.cpp: BeOS plugin for vlc (derived from MacOS X port) * VlcWrapper.cpp: BeOS plugin for vlc (derived from MacOS X port)
***************************************************************************** *****************************************************************************
* Copyright (C) 2001 VideoLAN * Copyright (C) 2001 VideoLAN
* $Id: VlcWrapper.cpp,v 1.36 2003/07/23 01:13:47 gbazin Exp $ * $Id: VlcWrapper.cpp,v 1.37 2003/09/07 22:53:09 fenrir Exp $
* *
* Authors: Florian G. Pflug <fgp@phlo.org> * Authors: Florian G. Pflug <fgp@phlo.org>
* Jon Lech Johansen <jon-vl@nanocrew.net> * Jon Lech Johansen <jon-vl@nanocrew.net>
...@@ -314,12 +314,10 @@ bool VlcWrapper::IsPlaying() ...@@ -314,12 +314,10 @@ bool VlcWrapper::IsPlaying()
case PLAYING_S: case PLAYING_S:
case FORWARD_S: case FORWARD_S:
case BACKWARD_S: case BACKWARD_S:
case START_S:
playing = true; playing = true;
break; break;
case PAUSE_S: case PAUSE_S:
case UNDEF_S: case UNDEF_S:
case NOT_STARTED_S:
default: default:
break; break;
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* interface.cpp : wxWindows plugin for vlc * interface.cpp : wxWindows plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000-2001 VideoLAN * Copyright (C) 2000-2001 VideoLAN
* $Id: interface.cpp,v 1.59 2003/08/30 13:59:15 gbazin Exp $ * $Id: interface.cpp,v 1.60 2003/09/07 22:53:09 fenrir Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -669,6 +669,8 @@ void Interface::OnPlayStream( wxCommandEvent& WXUNUSED(event) ) ...@@ -669,6 +669,8 @@ void Interface::OnPlayStream( wxCommandEvent& WXUNUSED(event) )
if( p_playlist->i_size ) if( p_playlist->i_size )
{ {
vlc_value_t state;
input_thread_t *p_input = (input_thread_t *)vlc_object_find( p_intf, input_thread_t *p_input = (input_thread_t *)vlc_object_find( p_intf,
VLC_OBJECT_INPUT, VLC_OBJECT_INPUT,
FIND_ANYWHERE ); FIND_ANYWHERE );
...@@ -681,19 +683,21 @@ void Interface::OnPlayStream( wxCommandEvent& WXUNUSED(event) ) ...@@ -681,19 +683,21 @@ void Interface::OnPlayStream( wxCommandEvent& WXUNUSED(event) )
return; return;
} }
if( p_input->stream.control.i_status != PAUSE_S ) var_Get( p_input, "state", &state );
if( state.i_int != PAUSE_S )
{ {
/* A stream is being played, pause it */ /* A stream is being played, pause it */
input_SetStatus( p_input, INPUT_STATUS_PAUSE ); state.i_int = PAUSE_S;
TogglePlayButton( PAUSE_S );
vlc_object_release( p_playlist );
vlc_object_release( p_input );
return;
} }
else
{
/* Stream is paused, resume it */
state.i_int = PLAYING_S;
}
var_Set( p_input, "state", state );
/* Stream is paused, resume it */ TogglePlayButton( state.i_int );
input_SetStatus( p_input, INPUT_STATUS_PLAY );
TogglePlayButton( PLAYING_S );
vlc_object_release( p_input ); vlc_object_release( p_input );
vlc_object_release( p_playlist ); vlc_object_release( p_playlist );
} }
...@@ -732,10 +736,10 @@ void Interface::OnSliderUpdate( wxScrollEvent& event ) ...@@ -732,10 +736,10 @@ void Interface::OnSliderUpdate( wxScrollEvent& event )
if( p_intf->p_sys->i_slider_pos != event.GetPosition() if( p_intf->p_sys->i_slider_pos != event.GetPosition()
&& p_intf->p_sys->p_input ) && p_intf->p_sys->p_input )
{ {
p_intf->p_sys->i_slider_pos = event.GetPosition(); vlc_value_t pos;
input_Seek( p_intf->p_sys->p_input, p_intf->p_sys->i_slider_pos * pos.f_float = (float)event.GetPosition() / (float)SLIDER_MAX_POS;
100 / SLIDER_MAX_POS,
INPUT_SEEK_PERCENT | INPUT_SEEK_SET ); var_Set( p_intf->p_sys->p_input, "position", pos );
} }
#ifdef WIN32 #ifdef WIN32
...@@ -835,7 +839,9 @@ void Interface::OnSlowStream( wxCommandEvent& WXUNUSED(event) ) ...@@ -835,7 +839,9 @@ void Interface::OnSlowStream( wxCommandEvent& WXUNUSED(event) )
FIND_ANYWHERE ); FIND_ANYWHERE );
if( p_input ) if( p_input )
{ {
input_SetStatus( p_input, INPUT_STATUS_SLOWER ); vlc_value_t val; val.b_bool = VLC_TRUE;
var_Set( p_input, "rate-slower", val );
vlc_object_release( p_input ); vlc_object_release( p_input );
} }
} }
...@@ -847,7 +853,9 @@ void Interface::OnFastStream( wxCommandEvent& WXUNUSED(event) ) ...@@ -847,7 +853,9 @@ void Interface::OnFastStream( wxCommandEvent& WXUNUSED(event) )
FIND_ANYWHERE ); FIND_ANYWHERE );
if( p_input ) if( p_input )
{ {
input_SetStatus( p_input, INPUT_STATUS_FASTER ); vlc_value_t val; val.b_bool = VLC_TRUE;
var_Set( p_input, "rate-faster", val );
vlc_object_release( p_input ); vlc_object_release( p_input );
} }
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* playlist.cpp : wxWindows plugin for vlc * playlist.cpp : wxWindows plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000-2001 VideoLAN * Copyright (C) 2000-2001 VideoLAN
* $Id: messages.cpp,v 1.15 2003/08/30 16:34:12 gbazin Exp $ * $Id: messages.cpp,v 1.16 2003/09/07 22:53:09 fenrir Exp $
* *
* Authors: Olivier Teulire <ipkiss@via.ecp.fr> * Authors: Olivier Teulire <ipkiss@via.ecp.fr>
* *
...@@ -70,6 +70,7 @@ Messages::Messages( intf_thread_t *_p_intf, wxWindow *p_parent ): ...@@ -70,6 +70,7 @@ Messages::Messages( intf_thread_t *_p_intf, wxWindow *p_parent ):
b_verbose = VLC_FALSE; b_verbose = VLC_FALSE;
SetIcon( *p_intf->p_sys->p_icon ); SetIcon( *p_intf->p_sys->p_icon );
save_log_dialog = NULL; save_log_dialog = NULL;
b_verbose = VLC_FALSE;
/* Create a panel to put everything in */ /* Create a panel to put everything in */
wxPanel *messages_panel = new wxPanel( this, -1 ); wxPanel *messages_panel = new wxPanel( this, -1 );
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* timer.cpp : wxWindows plugin for vlc * timer.cpp : wxWindows plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000-2001 VideoLAN * Copyright (C) 2000-2001 VideoLAN
* $Id: timer.cpp,v 1.31 2003/08/28 15:59:04 gbazin Exp $ * $Id: timer.cpp,v 1.32 2003/09/07 22:53:09 fenrir Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
#include "wxwindows.h" #include "wxwindows.h"
#include <wx/timer.h> #include <wx/timer.h>
void DisplayStreamDate( wxControl *, intf_thread_t *, int ); //void DisplayStreamDate( wxControl *, intf_thread_t *, int );
/* Callback prototype */ /* Callback prototype */
static int PopupMenuCB( vlc_object_t *p_this, const char *psz_variable, static int PopupMenuCB( vlc_object_t *p_this, const char *psz_variable,
...@@ -171,25 +171,32 @@ void Timer::Notify() ...@@ -171,25 +171,32 @@ void Timer::Notify()
/* Manage the slider */ /* Manage the slider */
if( p_input->stream.b_seekable && p_intf->p_sys->b_playing ) if( p_input->stream.b_seekable && p_intf->p_sys->b_playing )
{ {
stream_position_t position;
/* Update the slider if the user isn't dragging it. */ /* Update the slider if the user isn't dragging it. */
if( p_intf->p_sys->b_slider_free ) if( p_intf->p_sys->b_slider_free )
{ {
vlc_value_t pos;
char psz_time[ OFFSETTOTIME_MAX_SIZE ];
vlc_value_t time;
mtime_t i_seconds;
/* Update the value */ /* Update the value */
vlc_mutex_unlock( &p_input->stream.stream_lock ); var_Get( p_input, "position", &pos );
input_Tell( p_input, &position ); if( pos.f_float >= 0.0 )
vlc_mutex_lock( &p_input->stream.stream_lock );
if( position.i_size )
{ {
p_intf->p_sys->i_slider_pos = p_intf->p_sys->i_slider_pos = (int)(SLIDER_MAX_POS * pos.f_float);
( SLIDER_MAX_POS * position.i_tell ) / position.i_size;
p_main_interface->slider->SetValue( p_intf->p_sys->i_slider_pos );
var_Get( p_intf->p_sys->p_input, "time", &time );
i_seconds = time.i_time / 1000000;
p_main_interface->slider->SetValue( sprintf( psz_time, "%d:%02d:%02d",
p_intf->p_sys->i_slider_pos ); (int) (i_seconds / (60 * 60)),
(int) (i_seconds / 60 % 60),
(int) (i_seconds % 60) );
DisplayStreamDate( p_main_interface->slider_box,p_intf,
p_intf->p_sys->i_slider_pos ); p_main_interface->slider_box->SetLabel(wxU( psz_time ) );
} }
} }
} }
...@@ -239,28 +246,6 @@ void Timer::Notify() ...@@ -239,28 +246,6 @@ void Timer::Notify()
vlc_mutex_unlock( &p_intf->change_lock ); vlc_mutex_unlock( &p_intf->change_lock );
} }
/*****************************************************************************
* DisplayStreamDate: display stream date
*****************************************************************************
* This function displays the current date related to the position in
* the stream. It is called whenever the slider changes its value.
* The lock has to be taken before you call the function.
*****************************************************************************/
void DisplayStreamDate( wxControl *p_slider_frame, intf_thread_t * p_intf ,
int i_pos )
{
if( p_intf->p_sys->p_input )
{
#define p_area p_intf->p_sys->p_input->stream.p_selected_area
char psz_time[ OFFSETTOTIME_MAX_SIZE ];
p_slider_frame->SetLabel(
wxU(input_OffsetToTime( p_intf->p_sys->p_input,
psz_time, p_area->i_size * i_pos / SLIDER_MAX_POS )) );
#undef p_area
}
}
/***************************************************************************** /*****************************************************************************
* PopupMenuCB: callback triggered by the intf-popupmenu playlist variable. * PopupMenuCB: callback triggered by the intf-popupmenu playlist variable.
* We don't show the menu directly here because we don't want the * We don't show the menu directly here because we don't want the
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* input_dummy.c: dummy input plugin, to manage "vlc:***" special options * input_dummy.c: dummy input plugin, to manage "vlc:***" special options
***************************************************************************** *****************************************************************************
* Copyright (C) 2001, 2002 VideoLAN * Copyright (C) 2001, 2002 VideoLAN
* $Id: input.c,v 1.3 2003/04/16 11:47:08 gbazin Exp $ * $Id: input.c,v 1.4 2003/09/07 22:53:09 fenrir Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* *
...@@ -78,10 +78,11 @@ int E_(OpenDemux) ( vlc_object_t *p_this ) ...@@ -78,10 +78,11 @@ int E_(OpenDemux) ( vlc_object_t *p_this )
int i_len = strlen( psz_name ); int i_len = strlen( psz_name );
struct demux_sys_t * p_method; struct demux_sys_t * p_method;
int i_arg; int i_arg;
p_input->stream.b_seekable = 0; p_input->stream.b_seekable = 0;
p_input->pf_demux = Demux; p_input->pf_demux = Demux;
p_input->pf_rewind = NULL; p_input->pf_rewind = NULL;
p_input->pf_demux_control = demux_vaControlDefault;
p_method = malloc( sizeof( struct demux_sys_t ) ); p_method = malloc( sizeof( struct demux_sys_t ) );
if( p_method == NULL ) if( p_method == NULL )
......
...@@ -5,3 +5,4 @@ SOURCES_stream_out_transcode = transcode.c ...@@ -5,3 +5,4 @@ SOURCES_stream_out_transcode = transcode.c
SOURCES_stream_out_duplicate = duplicate.c SOURCES_stream_out_duplicate = duplicate.c
SOURCES_stream_out_es = es.c SOURCES_stream_out_es = es.c
SOURCES_stream_out_display = display.c SOURCES_stream_out_display = display.c
SOURCES_stream_out_gather = gather.c
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