[mplayer-dev-eng] audio/video selection broken
gabor
gabor at realtime.sk
Tue Dec 10 14:34:58 CET 2002
On Tue, 2002-12-10 at 12:29, Rüdiger Kuhlmann wrote:
> >--[Rüdiger Kuhlmann]--<mplayer-list-UGa6JdjLujS2 at ruediger-kuhlmann.de>
>
> > the selection of the audio stream via menu has been broken in current CVS.
> > Selecting a new audio ID via menu will cause mplayer to reinitialize even
> > the audio_id value.
>
> Okay, then, here's a patch for at least a work-around - if you have a better
> idea, feel free to do it better:
btw... do those audio selection options in the menu WORK?
maybe a stupid question,but which keys are used to change them?
:)
gabor
>
> Index: mplayer.c
> ===================================================================
> RCS file: /cvsroot/mplayer/main/mplayer.c,v
> retrieving revision 1.624
> diff -u -u -r1.624 mplayer.c
> --- mplayer.c 5 Dec 2002 00:18:56 -0000 1.624
> +++ mplayer.c 10 Dec 2002 12:50:48 -0000
> @@ -201,6 +201,8 @@
> // streaming:
> int audio_id=-1;
> int video_id=-1;
> +int gui_audio_id = -1;
> +int gui_video_id = -1;
> int dvdsub_id=-1;
> int vobsub_id=-1;
> static char* audio_lang=NULL;
> @@ -2892,6 +2894,9 @@
> } else
> break;
> }
> +
> +audio_id = gui_audio_id;
> +video_id = gui_video_id;
>
> #ifdef HAVE_NEW_GUI
> if( use_gui && !playtree_iter )
> Index: mplayer.h
> ===================================================================
> RCS file: /cvsroot/mplayer/main/mplayer.h,v
> retrieving revision 1.23
> diff -u -u -r1.23 mplayer.h
> --- mplayer.h 28 Nov 2002 23:17:09 -0000 1.23
> +++ mplayer.h 10 Dec 2002 12:50:48 -0000
> @@ -48,8 +48,8 @@
>
> extern int auto_quality;
>
> -extern int audio_id;
> -extern int video_id;
> +extern int audio_id, gui_audio_id;
> +extern int video_id, gui_video_id;
> extern int dvdsub_id;
>
> extern void exit_player(char* how);
> Index: Gui/mplayer/mw.c
> ===================================================================
> RCS file: /cvsroot/mplayer/main/Gui/mplayer/mw.c,v
> retrieving revision 1.96
> diff -u -u -r1.96 mw.c
> --- Gui/mplayer/mw.c 5 Dec 2002 23:54:15 -0000 1.96
> +++ Gui/mplayer/mw.c 10 Dec 2002 12:50:48 -0000
> @@ -251,7 +252,7 @@
>
> void mplEventHandling( int msg,float param )
> {
> - int j;
> + int j, iparam = (int) param;
>
> switch( msg )
> {
> @@ -269,23 +270,41 @@
> gtkShow( evPlayNetwork,NULL );
> break;
>
> case evSetAudio:
> if ( !guiIntfStruct.demuxer ) break;
> - audio_id=(int)param;
> + if (audio_id == iparam) break;
> + audio_id = gui_audio_id = iparam;
> if ( guiIntfStruct.StreamType == STREAMTYPE_DVD ) goto play;
> guiIntfStruct.FilenameChanged=1;
> break;
>
> case evSetVideo:
> if ( !guiIntfStruct.demuxer ) break;
> - video_id=(int)param;
> + if (video_id == iparam) break;
> + video_id = gui_video_id = iparam;
> if ( guiIntfStruct.StreamType == STREAMTYPE_DVD ) goto play;
> guiIntfStruct.FilenameChanged=1;
> break;
>
> #ifdef HAVE_VCD
> case evSetVCDTrack:
> - guiIntfStruct.Track=(int)param;
> + guiIntfStruct.Track = iparam;
> case evPlayVCD:
> gtkSet( gtkClearStruct,0,(void *)guiALL );
> guiIntfStruct.StreamType=STREAMTYPE_VCD;
> @@ -362,19 +381,19 @@
> break;
> #ifdef USE_DVDREAD
> case evSetDVDSubtitle:
> - dvdsub_id=(int)param;
> + dvdsub_id = iparam;
> goto play_dvd_2;
> break;
> case evSetDVDAudio:
> - audio_id=(int)param;
> + audio_id = iparam;
> goto play_dvd_2;
> break;
> case evSetDVDChapter:
> - guiIntfStruct.DVD.current_chapter=(int)param;
> + guiIntfStruct.DVD.current_chapter = iparam;
> goto play_dvd_2;
> break;
> case evSetDVDTitle:
> - guiIntfStruct.DVD.current_title=(int)param;
> + guiIntfStruct.DVD.current_title = iparam;
> guiIntfStruct.DVD.current_chapter=1;
> guiIntfStruct.DVD.current_angle=1;
> goto play_dvd_2;
> @@ -448,7 +467,7 @@
>
>
> case evIconify:
> - switch ( (int)param )
> + switch ( iparam )
> {
> case 0: wsIconify( appMPlayer.mainWindow ); break;
> case 1: wsIconify( appMPlayer.subWindow ); break;
> @@ -489,7 +508,7 @@
> break;
>
> case evSetAspect:
> - switch ( (int)param )
> + switch ( iparam )
> {
> case 2: movie_aspect=16.0f / 9.0f; break;
> case 3: movie_aspect=4.0f / 3.0f; break;
>
> Of course, a much better way would be being able to change the audio / video
> stream on the fly without reloading...
--
gpg key at www.keyserver.net
More information about the MPlayer-dev-eng
mailing list