Commit ee2ba2eb authored by Sam Hocevar's avatar Sam Hocevar

* ./src/misc/netutils.c: factored code common to the interfaces into the

    network_ChannelJoin function.
  * ./plugins/mga/xmga.c, ./plugins/x11/xcommon.c, ./plugins/sdl/vout_sdl.c,
    ./plugins/directx/vout_events.c: we can now use keys F1 to F12 to switch
    channels from the video output window.
parent 91dc9852
......@@ -4,6 +4,11 @@
HEAD
* ./src/misc/netutils.c: factored code common to the interfaces into the
network_ChannelJoin function.
* ./plugins/mga/xmga.c, ./plugins/x11/xcommon.c, ./plugins/sdl/vout_sdl.c,
./plugins/directx/vout_events.c: we can now use keys F1 to F12 to switch
channels from the video output window.
* ./plugins/motion/motionmmx.c: MMX motion optimizations courtesy of
Vladimir Chernyshov <greengrass@writeme.com>.
* ./plugins/dvdread/dvdread.c: disabled the dvdread plugin because it
......
......@@ -2,7 +2,7 @@
* vout_events.c: Windows DirectX video output events handler
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: vout_events.c,v 1.18 2002/05/18 22:41:43 gbazin Exp $
* $Id: vout_events.c,v 1.18.2.1 2002/06/03 00:28:07 sam Exp $
*
* Authors: Gildas Bazin <gbazin@netcourrier.com>
*
......@@ -140,10 +140,22 @@ void DirectXEventThread( vout_thread_t *p_vout )
switch( msg.wParam )
{
case VK_ESCAPE:
case VK_F12:
/* exit application */
p_main->p_intf->b_die = 1;
break;
case VK_F1: network_ChannelJoin( 1 ); break;
case VK_F2: network_ChannelJoin( 2 ); break;
case VK_F3: network_ChannelJoin( 3 ); break;
case VK_F4: network_ChannelJoin( 4 ); break;
case VK_F5: network_ChannelJoin( 5 ); break;
case VK_F6: network_ChannelJoin( 6 ); break;
case VK_F7: network_ChannelJoin( 7 ); break;
case VK_F8: network_ChannelJoin( 8 ); break;
case VK_F9: network_ChannelJoin( 9 ); break;
case VK_F10: network_ChannelJoin( 10 ); break;
case VK_F11: network_ChannelJoin( 11 ); break;
case VK_F12: network_ChannelJoin( 12 ); break;
}
TranslateMessage(&msg);
break;
......
......@@ -2,7 +2,7 @@
* gtk_callbacks.c : Callbacks for the Gtk+ plugin.
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
* $Id: gtk_callbacks.c,v 1.39 2002/05/18 02:12:20 ipkiss Exp $
* $Id: gtk_callbacks.c,v 1.39.2.1 2002/06/03 00:28:07 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
* Stphane Borel <stef@via.ecp.fr>
......@@ -307,27 +307,8 @@ void GtkChannelGo( GtkButton * button, gpointer user_data )
intf_WarnMsg( 3, "intf info: joining channel %d", i_channel );
vlc_mutex_lock( &p_intf->change_lock );
if( p_input_bank->pp_input[0] != NULL )
{
/* end playing item */
p_input_bank->pp_input[0]->b_eof = 1;
/* update playlist */
vlc_mutex_lock( &p_main->p_playlist->change_lock );
p_main->p_playlist->i_index--;
p_main->p_playlist->b_stopped = 1;
vlc_mutex_unlock( &p_main->p_playlist->change_lock );
/* FIXME: ugly hack to close input and outputs */
p_intf->pf_manage( p_intf );
}
network_ChannelJoin( i_channel );
/* FIXME 2 */
p_main->p_playlist->b_stopped = 0;
p_intf->pf_manage( p_intf );
vlc_mutex_unlock( &p_intf->change_lock );
......
......@@ -2,7 +2,7 @@
* intf_vlc_wrapper.c: MacOS X plugin for vlc
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: intf_vlc_wrapper.m,v 1.6.2.5 2002/06/02 22:32:46 massiot Exp $
* $Id: intf_vlc_wrapper.m,v 1.6.2.6 2002/06/03 00:28:07 sam Exp $
*
* Authors: Florian G. Pflug <fgp@phlo.org>
* Jon Lech Johansen <jon-vl@nanocrew.net>
......@@ -211,27 +211,8 @@ static Intf_VLCWrapper *o_intf = nil;
intf_WarnMsg( 3, "intf info: joining channel %d", p_intf->p_sys->i_channel );
vlc_mutex_lock( &p_intf->change_lock );
if( p_input_bank->pp_input[0] != NULL )
{
/* end playing item */
p_input_bank->pp_input[0]->b_eof = 1;
/* update playlist */
vlc_mutex_lock( &p_main->p_playlist->change_lock );
p_main->p_playlist->i_index--;
p_main->p_playlist->b_stopped = 1;
vlc_mutex_unlock( &p_main->p_playlist->change_lock );
/* FIXME: ugly hack to close input and outputs */
p_intf->pf_manage( p_intf );
}
network_ChannelJoin( p_intf->p_sys->i_channel );
/* FIXME 2 */
p_main->p_playlist->b_stopped = 0;
p_intf->pf_manage( p_intf );
vlc_mutex_unlock( &p_intf->change_lock );
......@@ -249,27 +230,8 @@ static Intf_VLCWrapper *o_intf = nil;
intf_WarnMsg( 3, "intf info: joining channel %d", p_intf->p_sys->i_channel );
vlc_mutex_lock( &p_intf->change_lock );
if( p_input_bank->pp_input[0] != NULL )
{
/* end playing item */
p_input_bank->pp_input[0]->b_eof = 1;
/* update playlist */
vlc_mutex_lock( &p_main->p_playlist->change_lock );
p_main->p_playlist->i_index--;
p_main->p_playlist->b_stopped = 1;
vlc_mutex_unlock( &p_main->p_playlist->change_lock );
/* FIXME: ugly hack to close input and outputs */
p_intf->pf_manage( p_intf );
}
network_ChannelJoin( p_intf->p_sys->i_channel );
/* FIXME 2 */
p_main->p_playlist->b_stopped = 0;
p_intf->pf_manage( p_intf );
vlc_mutex_unlock( &p_intf->change_lock );
......
......@@ -2,7 +2,7 @@
* xmga.c : X11 MGA plugin for vlc
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
* $Id: xmga.c,v 1.15 2002/05/30 08:17:04 gbazin Exp $
* $Id: xmga.c,v 1.15.2.1 2002/06/03 00:28:07 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
......@@ -555,6 +555,19 @@ static int vout_Manage( vout_thread_t *p_vout )
INPUT_STATUS_PAUSE );
break;
case XK_F1: network_ChannelJoin( 1 ); break;
case XK_F2: network_ChannelJoin( 2 ); break;
case XK_F3: network_ChannelJoin( 3 ); break;
case XK_F4: network_ChannelJoin( 4 ); break;
case XK_F5: network_ChannelJoin( 5 ); break;
case XK_F6: network_ChannelJoin( 6 ); break;
case XK_F7: network_ChannelJoin( 7 ); break;
case XK_F8: network_ChannelJoin( 8 ); break;
case XK_F9: network_ChannelJoin( 9 ); break;
case XK_F10: network_ChannelJoin( 10 ); break;
case XK_F11: network_ChannelJoin( 11 ); break;
case XK_F12: network_ChannelJoin( 12 ); break;
default:
/* "Normal Keys"
* The reason why I use this instead of XK_0 is that
......@@ -575,17 +588,6 @@ static int vout_Manage( vout_thread_t *p_vout )
p_vout->i_changes |= VOUT_FULLSCREEN_CHANGE;
break;
case '0': network_ChannelJoin( 0 ); break;
case '1': network_ChannelJoin( 1 ); break;
case '2': network_ChannelJoin( 2 ); break;
case '3': network_ChannelJoin( 3 ); break;
case '4': network_ChannelJoin( 4 ); break;
case '5': network_ChannelJoin( 5 ); break;
case '6': network_ChannelJoin( 6 ); break;
case '7': network_ChannelJoin( 7 ); break;
case '8': network_ChannelJoin( 8 ); break;
case '9': network_ChannelJoin( 9 ); break;
default:
break;
}
......
......@@ -2,7 +2,7 @@
* vout_sdl.c: SDL video output display method
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
* $Id: vout_sdl.c,v 1.91 2002/05/18 17:47:47 sam Exp $
* $Id: vout_sdl.c,v 1.91.2.1 2002/06/03 00:28:07 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
* Pierre Baillet <oct@zoy.org>
......@@ -466,16 +466,18 @@ static int vout_Manage( vout_thread_t *p_vout )
vout_Seek( -60 );
break;
case SDLK_F10: network_ChannelJoin( 0 ); break;
case SDLK_F1: network_ChannelJoin( 1 ); break;
case SDLK_F2: network_ChannelJoin( 2 ); break;
case SDLK_F3: network_ChannelJoin( 3 ); break;
case SDLK_F4: network_ChannelJoin( 4 ); break;
case SDLK_F5: network_ChannelJoin( 5 ); break;
case SDLK_F6: network_ChannelJoin( 6 ); break;
case SDLK_F7: network_ChannelJoin( 7 ); break;
case SDLK_F8: network_ChannelJoin( 8 ); break;
case SDLK_F9: network_ChannelJoin( 9 ); break;
case SDLK_F1: network_ChannelJoin( 1 ); break;
case SDLK_F2: network_ChannelJoin( 2 ); break;
case SDLK_F3: network_ChannelJoin( 3 ); break;
case SDLK_F4: network_ChannelJoin( 4 ); break;
case SDLK_F5: network_ChannelJoin( 5 ); break;
case SDLK_F6: network_ChannelJoin( 6 ); break;
case SDLK_F7: network_ChannelJoin( 7 ); break;
case SDLK_F8: network_ChannelJoin( 8 ); break;
case SDLK_F9: network_ChannelJoin( 9 ); break;
case SDLK_F10: network_ChannelJoin( 10 ); break;
case SDLK_F11: network_ChannelJoin( 11 ); break;
case SDLK_F12: network_ChannelJoin( 12 ); break;
default:
break;
......
......@@ -539,27 +539,8 @@ void __fastcall TMainFrameDlg::ButtonGoClick( TObject *Sender )
intf_WarnMsg( 3, "intf info: joining channel %d", i_channel );
vlc_mutex_lock( &p_intf->change_lock );
if( p_input_bank->pp_input[0] != NULL )
{
/* end playing item */
p_input_bank->pp_input[0]->b_eof = 1;
/* update playlist */
vlc_mutex_lock( &p_main->p_playlist->change_lock );
p_main->p_playlist->i_index--;
p_main->p_playlist->b_stopped = 1;
vlc_mutex_unlock( &p_main->p_playlist->change_lock );
/* FIXME: ugly hack to close input and outputs */
p_intf->pf_manage( p_intf );
}
network_ChannelJoin( i_channel );
/* FIXME 2 */
p_main->p_playlist->b_stopped = 0;
p_intf->pf_manage( p_intf );
vlc_mutex_unlock( &p_intf->change_lock );
......
......@@ -2,7 +2,7 @@
* xcommon.c: Functions common to the X11 and XVideo plugins
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
* $Id: xcommon.c,v 1.35 2002/05/29 10:08:03 gbazin Exp $
* $Id: xcommon.c,v 1.35.2.1 2002/06/03 00:28:07 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
......@@ -721,6 +721,19 @@ static int vout_Manage( vout_thread_t *p_vout )
INPUT_STATUS_PAUSE );
break;
case XK_F1: network_ChannelJoin( 1 ); break;
case XK_F2: network_ChannelJoin( 2 ); break;
case XK_F3: network_ChannelJoin( 3 ); break;
case XK_F4: network_ChannelJoin( 4 ); break;
case XK_F5: network_ChannelJoin( 5 ); break;
case XK_F6: network_ChannelJoin( 6 ); break;
case XK_F7: network_ChannelJoin( 7 ); break;
case XK_F8: network_ChannelJoin( 8 ); break;
case XK_F9: network_ChannelJoin( 9 ); break;
case XK_F10: network_ChannelJoin( 10 ); break;
case XK_F11: network_ChannelJoin( 11 ); break;
case XK_F12: network_ChannelJoin( 12 ); break;
default:
/* "Normal Keys"
* The reason why I use this instead of XK_0 is that
......@@ -741,17 +754,6 @@ static int vout_Manage( vout_thread_t *p_vout )
p_vout->i_changes |= VOUT_FULLSCREEN_CHANGE;
break;
case '0': network_ChannelJoin( 0 ); break;
case '1': network_ChannelJoin( 1 ); break;
case '2': network_ChannelJoin( 2 ); break;
case '3': network_ChannelJoin( 3 ); break;
case '4': network_ChannelJoin( 4 ); break;
case '5': network_ChannelJoin( 5 ); break;
case '6': network_ChannelJoin( 6 ); break;
case '7': network_ChannelJoin( 7 ); break;
case '8': network_ChannelJoin( 8 ); break;
case '9': network_ChannelJoin( 9 ); break;
default:
break;
}
......
......@@ -2,7 +2,7 @@
* netutils.c: various network functions
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
* $Id: netutils.c,v 1.66.2.1 2002/06/02 01:22:04 massiot Exp $
* $Id: netutils.c,v 1.66.2.2 2002/06/03 00:28:08 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
* Benoit Steiner <benny@via.ecp.fr>
......@@ -76,6 +76,9 @@
#include "netutils.h"
#include "stream_control.h"
#include "input_ext-intf.h"
#include "intf_playlist.h"
#include "network.h"
......@@ -157,6 +160,26 @@ int network_ChannelJoin( int i_channel )
struct timeval delay;
fd_set fds;
if( p_main->p_channel->i_channel == i_channel )
{
return 0;
}
/* FIXME: ugly hack to close input and outputs */
if( p_input_bank->pp_input[0] != NULL )
{
/* end playing item */
p_input_bank->pp_input[0]->b_eof = 1;
/* update playlist */
vlc_mutex_lock( &p_main->p_playlist->change_lock );
p_main->p_playlist->i_index--;
p_main->p_playlist->b_stopped = 1;
vlc_mutex_unlock( &p_main->p_playlist->change_lock );
}
if( !config_GetIntVariable( "network-channel" ) )
{
intf_ErrMsg( "network: channels disabled, to enable them, use the "
......@@ -182,8 +205,7 @@ int network_ChannelJoin( int i_channel )
i_port = config_GetIntVariable( "channel-port" );
intf_WarnMsg( 5, "channel: connecting to %s:%d",
psz_vlcs, i_port );
intf_WarnMsg( 5, "channel: connecting to %s:%d", psz_vlcs, i_port );
/* Prepare the network_socket_t structure */
socket_desc.i_type = NETWORK_UDP;
......@@ -267,6 +289,8 @@ int network_ChannelJoin( int i_channel )
# define p_item \
(&p_main->p_playlist->p_item[ p_main->p_playlist->i_index + 1])
vlc_mutex_lock( &p_main->p_playlist->change_lock );
/* FIXME 2 */
p_main->p_playlist->b_stopped = 0;
if( p_item )
{
free( p_item->psz_name );
......
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