mirror of https://github.com/mpv-player/mpv
Moved HW dependent mixer stuff to libao and removed master switch
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4789 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
ea1d758009
commit
ee2ed8567e
|
@ -141,7 +141,7 @@ static config_t mplayer_opts[]={
|
||||||
// {"dsp", &dsp, CONF_TYPE_STRING, CONF_NOCFG, 0, 0, NULL},
|
// {"dsp", &dsp, CONF_TYPE_STRING, CONF_NOCFG, 0, 0, NULL},
|
||||||
{"dsp", "Use -ao oss:dsp_path!\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
|
{"dsp", "Use -ao oss:dsp_path!\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
|
||||||
{"mixer", &mixer_device, CONF_TYPE_STRING, 0, 0, 0, NULL},
|
{"mixer", &mixer_device, CONF_TYPE_STRING, 0, 0, 0, NULL},
|
||||||
{"master", &mixer_usemaster, CONF_TYPE_FLAG, 0, 0, 1, NULL},
|
{"master", "Option -master was obsolete and has been removed\n" , CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
|
||||||
{"channels", &audio_output_channels, CONF_TYPE_INT, CONF_RANGE, 2, 6, NULL},
|
{"channels", &audio_output_channels, CONF_TYPE_INT, CONF_RANGE, 2, 6, NULL},
|
||||||
#ifdef HAVE_X11
|
#ifdef HAVE_X11
|
||||||
{"display", &mDisplayName, CONF_TYPE_STRING, 0, 0, 0, NULL},
|
{"display", &mDisplayName, CONF_TYPE_STRING, 0, 0, 0, NULL},
|
||||||
|
|
|
@ -1,11 +1,16 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <sys/ioctl.h>
|
||||||
|
|
||||||
#include "audio_out.h"
|
#include "audio_out.h"
|
||||||
#include "audio_out_internal.h"
|
#include "audio_out_internal.h"
|
||||||
|
|
||||||
#include "afmt.h"
|
#include "afmt.h"
|
||||||
|
|
||||||
|
audioMixer_t dvb_mixer={255,255};
|
||||||
|
extern int vo_mpegpes_fd;
|
||||||
|
extern int vo_mpegpes_fd2;
|
||||||
|
|
||||||
static ao_info_t info =
|
static ao_info_t info =
|
||||||
{
|
{
|
||||||
"mpeg-pes audio output",
|
"mpeg-pes audio output",
|
||||||
|
@ -19,7 +24,34 @@ LIBAO_EXTERN(mpegpes)
|
||||||
|
|
||||||
// to set/get/query special features/parameters
|
// to set/get/query special features/parameters
|
||||||
static int control(int cmd,int arg){
|
static int control(int cmd,int arg){
|
||||||
return -1;
|
switch(cmd){
|
||||||
|
case AOCONTROL_GET_VOLUME:
|
||||||
|
{
|
||||||
|
if(vo_mpegpes_fd2>=0){
|
||||||
|
((ao_control_vol_t*)(arg))->left=dvb_mixer.volume_left/2.56;
|
||||||
|
((ao_control_vol_t*)(arg))->right=dvb_mixer.volume_right/2.56;
|
||||||
|
return CONTROL_OK;
|
||||||
|
}
|
||||||
|
return CONTROL_ERROR;
|
||||||
|
}
|
||||||
|
case AOCONTROL_SET_VOLUME:
|
||||||
|
{
|
||||||
|
if(vo_mpegpes_fd2>=0){
|
||||||
|
dvb_mixer.volume_left=((ao_control_vol_t)(arg)).left*2.56;
|
||||||
|
dvb_mixer.volume_right=((ao_control_vol_t)(arg)).right*2.56;
|
||||||
|
if(dvb_mixer.volume_left>255) dvb_mixer.volume_left=255;
|
||||||
|
if(dvb_mixer.volume_right>255) dvb_mixer.volume_right=255;
|
||||||
|
// printf("Setting DVB volume: %d ; %d \n",dvb_mixer.volume_left,dvb_mixer.volume_right);
|
||||||
|
if ( (ioctl(vo_mpegpes_fd2,AUDIO_SET_MIXER, &dvb_mixer) < 0)){
|
||||||
|
perror("DVB AUDIO SET MIXER: ");
|
||||||
|
return CONTROL_ERROR;
|
||||||
|
}
|
||||||
|
return CONTROL_OK;
|
||||||
|
}
|
||||||
|
return CONTROL_ERROR;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return CONTROL_UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int freq=0;
|
static int freq=0;
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
//#include <sys/soundcard.h>
|
//#include <sys/soundcard.h>
|
||||||
|
|
||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
|
#include "../mixer.h"
|
||||||
|
|
||||||
#include "afmt.h"
|
#include "afmt.h"
|
||||||
|
|
||||||
|
@ -35,7 +36,6 @@ static audio_buf_info zz;
|
||||||
static int audio_fd=-1;
|
static int audio_fd=-1;
|
||||||
|
|
||||||
char *oss_mixer_device = "/dev/mixer";
|
char *oss_mixer_device = "/dev/mixer";
|
||||||
int oss_mixer_usemaster = 0;
|
|
||||||
|
|
||||||
// to set/get/query special features/parameters
|
// to set/get/query special features/parameters
|
||||||
static int control(int cmd,int arg){
|
static int control(int cmd,int arg){
|
||||||
|
@ -54,36 +54,28 @@ static int control(int cmd,int arg){
|
||||||
if(ao_data.format == AFMT_AC3)
|
if(ao_data.format == AFMT_AC3)
|
||||||
return CONTROL_TRUE;
|
return CONTROL_TRUE;
|
||||||
|
|
||||||
if ((fd = open("/dev/mixer", O_RDONLY)) > 0)
|
if ((fd = open(oss_mixer_device, O_RDONLY)) > 0)
|
||||||
{
|
{
|
||||||
ioctl(fd, SOUND_MIXER_READ_DEVMASK, &devs);
|
ioctl(fd, SOUND_MIXER_READ_DEVMASK, &devs);
|
||||||
if ((devs & SOUND_MASK_PCM) && (oss_mixer_usemaster == 0))
|
if (devs & SOUND_MASK_PCM)
|
||||||
|
{
|
||||||
if (cmd == AOCONTROL_GET_VOLUME)
|
if (cmd == AOCONTROL_GET_VOLUME)
|
||||||
mcmd = SOUND_MIXER_READ_PCM;
|
{
|
||||||
|
ioctl(fd, SOUND_MIXER_READ_PCM, &v);
|
||||||
|
vol->right = (v & 0xFF00) >> 8;
|
||||||
|
vol->left = v & 0x00FF;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
mcmd = SOUND_MIXER_WRITE_PCM;
|
{
|
||||||
else if ((devs & SOUND_MASK_VOLUME) && (oss_mixer_usemaster == 1))
|
v = ((int)vol->right << 8) | (int)vol->left;
|
||||||
if (cmd == AOCONTROL_GET_VOLUME)
|
ioctl(fd, SOUND_MIXER_WRITE_PCM, &v);
|
||||||
mcmd = SOUND_MIXER_READ_VOLUME;
|
}
|
||||||
else
|
}
|
||||||
mcmd = SOUND_MIXER_WRITE_VOLUME;
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
close(fd);
|
close(fd);
|
||||||
return CONTROL_ERROR;
|
return CONTROL_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cmd == AOCONTROL_GET_VOLUME)
|
|
||||||
{
|
|
||||||
ioctl(fd, cmd, &v);
|
|
||||||
vol->right = (v & 0xFF00) >> 8;
|
|
||||||
vol->left = v & 0x00FF;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
v = ((int)vol->right << 8) | (int)vol->left;
|
|
||||||
ioctl(fd, cmd, &v);
|
|
||||||
}
|
|
||||||
close(fd);
|
close(fd);
|
||||||
return CONTROL_OK;
|
return CONTROL_OK;
|
||||||
}
|
}
|
||||||
|
@ -103,6 +95,9 @@ static int init(int rate,int channels,int format,int flags){
|
||||||
if (ao_subdevice)
|
if (ao_subdevice)
|
||||||
dsp = ao_subdevice;
|
dsp = ao_subdevice;
|
||||||
|
|
||||||
|
if(mixer_device)
|
||||||
|
oss_mixer_device=mixer_device;
|
||||||
|
|
||||||
if (verbose)
|
if (verbose)
|
||||||
printf("audio_setup: using '%s' dsp device\n", dsp);
|
printf("audio_setup: using '%s' dsp device\n", dsp);
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
|
#include "../mixer.h"
|
||||||
|
|
||||||
#include "audio_out.h"
|
#include "audio_out.h"
|
||||||
#include "audio_out_internal.h"
|
#include "audio_out_internal.h"
|
||||||
|
@ -42,6 +43,7 @@ LIBAO_EXTERN(sun)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
static char *sun_mixer_device="/dev/audioctl";
|
||||||
static char *audio_dev = NULL;
|
static char *audio_dev = NULL;
|
||||||
static int queued_bursts = 0;
|
static int queued_bursts = 0;
|
||||||
static int queued_samples = 0;
|
static int queued_samples = 0;
|
||||||
|
@ -214,6 +216,37 @@ static int control(int cmd,int arg){
|
||||||
return CONTROL_OK;
|
return CONTROL_OK;
|
||||||
case AOCONTROL_QUERY_FORMAT:
|
case AOCONTROL_QUERY_FORMAT:
|
||||||
return CONTROL_TRUE;
|
return CONTROL_TRUE;
|
||||||
|
case AOCONTROL_GET_VOLUME:
|
||||||
|
{
|
||||||
|
int fd,v,cmd,devs;
|
||||||
|
|
||||||
|
fd=open( sun_mixer_device,O_RDONLY );
|
||||||
|
if ( fd != -1 )
|
||||||
|
{
|
||||||
|
struct audio_info info;
|
||||||
|
ioctl( fd,AUDIO_GETINFO,&info);
|
||||||
|
((ao_control_vol_t*)(arg))->left=info.play.gain * 100. / AUDIO_MAX_GAIN;
|
||||||
|
((ao_control_vol_t*)(arg))->=info.play.gain * 100. / AUDIO_MAX_GAIN;
|
||||||
|
close( fd );
|
||||||
|
return CONTROL_OK;
|
||||||
|
}
|
||||||
|
return CONTROL_ERROR;
|
||||||
|
}
|
||||||
|
case AOCONTROL_SET_VOLUME:
|
||||||
|
{
|
||||||
|
int fd,v,cmd,devs;
|
||||||
|
|
||||||
|
fd=open( sun_mixer_device,O_RDONLY );
|
||||||
|
if ( fd != -1 )
|
||||||
|
{
|
||||||
|
struct audio_info info;
|
||||||
|
AUDIO_INITINFO(&info);
|
||||||
|
info.play.gain = (r+l) * AUDIO_MAX_GAIN / 100 / 2;
|
||||||
|
ioctl( fd,AUDIO_SETINFO,&info );
|
||||||
|
close( fd );
|
||||||
|
return CONTROL_OK;
|
||||||
|
}
|
||||||
|
return CONTROL_ERROR;
|
||||||
}
|
}
|
||||||
return CONTROL_UNKNOWN;
|
return CONTROL_UNKNOWN;
|
||||||
}
|
}
|
||||||
|
@ -225,6 +258,9 @@ static int init(int rate,int channels,int format,int flags){
|
||||||
audio_info_t info;
|
audio_info_t info;
|
||||||
int ok;
|
int ok;
|
||||||
|
|
||||||
|
if(mixer_device)
|
||||||
|
sun_mixer_device=mixer_device;
|
||||||
|
|
||||||
if (audio_dev == NULL) {
|
if (audio_dev == NULL) {
|
||||||
if ((audio_dev = getenv("AUDIODEV")) == NULL)
|
if ((audio_dev = getenv("AUDIODEV")) == NULL)
|
||||||
audio_dev = "/dev/audio";
|
audio_dev = "/dev/audio";
|
||||||
|
|
|
@ -34,8 +34,10 @@ extern ao_functions_t audio_out_sun;
|
||||||
#ifdef USE_SGI_AUDIO
|
#ifdef USE_SGI_AUDIO
|
||||||
extern ao_functions_t audio_out_sgi;
|
extern ao_functions_t audio_out_sgi;
|
||||||
#endif
|
#endif
|
||||||
extern ao_functions_t audio_out_pcm;
|
#ifdef HAVE_DVB
|
||||||
extern ao_functions_t audio_out_mpegpes;
|
extern ao_functions_t audio_out_mpegpes;
|
||||||
|
#endif
|
||||||
|
extern ao_functions_t audio_out_pcm;
|
||||||
extern ao_functions_t audio_out_pss;
|
extern ao_functions_t audio_out_pss;
|
||||||
extern ao_functions_t audio_out_plugin;
|
extern ao_functions_t audio_out_plugin;
|
||||||
|
|
||||||
|
@ -66,8 +68,10 @@ ao_functions_t* audio_out_drivers[] =
|
||||||
#ifdef HAVE_SDL
|
#ifdef HAVE_SDL
|
||||||
&audio_out_sdl,
|
&audio_out_sdl,
|
||||||
#endif
|
#endif
|
||||||
&audio_out_pcm,
|
#ifdef HAVE_DVB
|
||||||
&audio_out_mpegpes,
|
&audio_out_mpegpes,
|
||||||
|
#endif
|
||||||
|
&audio_out_pcm,
|
||||||
&audio_out_plugin,
|
&audio_out_plugin,
|
||||||
// &audio_out_pss,
|
// &audio_out_pss,
|
||||||
NULL
|
NULL
|
||||||
|
|
170
mixer.c
170
mixer.c
|
@ -7,156 +7,33 @@
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "mixer.h"
|
#include "mixer.h"
|
||||||
|
#include "libao2/audio_out.h"
|
||||||
|
|
||||||
#ifdef HAVE_DVB
|
extern ao_functions_t *audio_out;
|
||||||
#include <ost/audio.h>
|
|
||||||
audioMixer_t dvb_mixer={255,255};
|
|
||||||
extern int vo_mpegpes_fd;
|
|
||||||
extern int vo_mpegpes_fd2;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(USE_OSS_AUDIO)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Mixer interface using OSS style soundcard commands.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <sys/soundcard.h>
|
|
||||||
|
|
||||||
|
|
||||||
char * mixer_device=DEV_MIXER;
|
|
||||||
int mixer_usemaster=0;
|
|
||||||
|
|
||||||
void mixer_getvolume( float *l,float *r )
|
|
||||||
{
|
|
||||||
int fd,v,cmd,devs;
|
|
||||||
|
|
||||||
#ifdef HAVE_DVB
|
|
||||||
if(vo_mpegpes_fd2>=0){
|
|
||||||
// DVB card
|
|
||||||
*l=dvb_mixer.volume_left/2.56;
|
|
||||||
*r=dvb_mixer.volume_right/2.56;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
fd=open( mixer_device,O_RDONLY );
|
|
||||||
if ( fd != -1 )
|
|
||||||
{
|
|
||||||
ioctl( fd,SOUND_MIXER_READ_DEVMASK,&devs );
|
|
||||||
if ( ( devs & SOUND_MASK_PCM ) && ( mixer_usemaster==0 ) ) cmd=SOUND_MIXER_READ_PCM;
|
|
||||||
else
|
|
||||||
if ( ( devs & SOUND_MASK_VOLUME ) && ( mixer_usemaster==1 ) ) cmd=SOUND_MIXER_READ_VOLUME;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
close( fd );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
ioctl( fd,cmd,&v );
|
|
||||||
*r=( v & 0xFF00 ) >> 8;
|
|
||||||
*l=( v & 0x00FF );
|
|
||||||
close( fd );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void mixer_setvolume( float l,float r )
|
|
||||||
{
|
|
||||||
int fd,v,cmd,devs;
|
|
||||||
|
|
||||||
#ifdef HAVE_DVB
|
|
||||||
if(vo_mpegpes_fd2>=0){
|
|
||||||
// DVB card
|
|
||||||
dvb_mixer.volume_left=l*2.56;
|
|
||||||
dvb_mixer.volume_right=r*2.56;
|
|
||||||
if(dvb_mixer.volume_left>255) dvb_mixer.volume_left=255;
|
|
||||||
if(dvb_mixer.volume_right>255) dvb_mixer.volume_right=255;
|
|
||||||
// printf("Setting DVB volume: %d ; %d \n",dvb_mixer.volume_left,dvb_mixer.volume_right);
|
|
||||||
if ( (ioctl(vo_mpegpes_fd2,AUDIO_SET_MIXER, &dvb_mixer) < 0)){
|
|
||||||
perror("DVB AUDIO SET MIXER: ");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
fd=open( mixer_device,O_RDONLY );
|
|
||||||
if ( fd != -1 )
|
|
||||||
{
|
|
||||||
ioctl( fd,SOUND_MIXER_READ_DEVMASK,&devs );
|
|
||||||
if ( ( devs & SOUND_MASK_PCM ) && ( mixer_usemaster==0 ) ) cmd=SOUND_MIXER_WRITE_PCM;
|
|
||||||
else
|
|
||||||
if ( ( devs & SOUND_MASK_VOLUME ) && ( mixer_usemaster==1 ) ) cmd=SOUND_MIXER_WRITE_VOLUME;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
close( fd );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
v=( (int)r << 8 ) | (int)l;
|
|
||||||
ioctl( fd,cmd,&v );
|
|
||||||
close( fd );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#elif defined(USE_SUN_AUDIO)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Mixer interface using Sun style soundcard commands.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <sys/audioio.h>
|
|
||||||
|
|
||||||
|
|
||||||
char * mixer_device="/dev/audioctl";
|
|
||||||
int mixer_usemaster=0;
|
|
||||||
|
|
||||||
void mixer_getvolume( float *l,float *r )
|
|
||||||
{
|
|
||||||
int fd,v,cmd,devs;
|
|
||||||
|
|
||||||
fd=open( mixer_device,O_RDONLY );
|
|
||||||
if ( fd != -1 )
|
|
||||||
{
|
|
||||||
struct audio_info info;
|
|
||||||
|
|
||||||
ioctl( fd,AUDIO_GETINFO,&info);
|
|
||||||
*r=info.play.gain * 100. / AUDIO_MAX_GAIN;
|
|
||||||
*l=info.play.gain * 100. / AUDIO_MAX_GAIN;
|
|
||||||
close( fd );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void mixer_setvolume( float l,float r )
|
|
||||||
{
|
|
||||||
int fd,v,cmd,devs;
|
|
||||||
|
|
||||||
fd=open( mixer_device,O_RDONLY );
|
|
||||||
if ( fd != -1 )
|
|
||||||
{
|
|
||||||
struct audio_info info;
|
|
||||||
AUDIO_INITINFO(&info);
|
|
||||||
info.play.gain = (r+l) * AUDIO_MAX_GAIN / 100 / 2;
|
|
||||||
ioctl( fd,AUDIO_SETINFO,&info );
|
|
||||||
close( fd );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
/*
|
|
||||||
* No usable Mixer interface selected.
|
|
||||||
* Just some stub routines.
|
|
||||||
*/
|
|
||||||
|
|
||||||
char * mixer_device=NULL;
|
char * mixer_device=NULL;
|
||||||
int mixer_usemaster=0;
|
|
||||||
|
|
||||||
void mixer_getvolume( float *l,float *r ){
|
void mixer_getvolume( float *l,float *r )
|
||||||
*l = *r = 50.0;
|
{
|
||||||
}
|
ao_control_vol_t vol;
|
||||||
void mixer_setvolume( float l,float r ){
|
*l=0; *r=0;
|
||||||
|
if(audio_out){
|
||||||
|
if(CONTROL_OK != audio_out->control(AOCONTROL_GET_VOLUME,(int)&vol))
|
||||||
|
return;
|
||||||
|
*r=vol.right;
|
||||||
|
*l=vol.left;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
void mixer_setvolume( float l,float r )
|
||||||
|
{
|
||||||
|
ao_control_vol_t vol;
|
||||||
|
vol.right=r; vol.left=l;
|
||||||
|
if(audio_out){
|
||||||
|
if(CONTROL_OK != audio_out->control(AOCONTROL_SET_VOLUME,(int)&vol))
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#define MIXER_CHANGE 3
|
#define MIXER_CHANGE 3
|
||||||
|
|
||||||
|
@ -188,3 +65,8 @@ float mixer_getbothvolume( void )
|
||||||
mixer_getvolume( &mixer_l,&mixer_r );
|
mixer_getvolume( &mixer_l,&mixer_r );
|
||||||
return ( mixer_l + mixer_r ) / 2;
|
return ( mixer_l + mixer_r ) / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
3
mixer.h
3
mixer.h
|
@ -2,9 +2,6 @@
|
||||||
#ifndef __MPLAYER_MIXER
|
#ifndef __MPLAYER_MIXER
|
||||||
#define __MPLAYER_MIXER
|
#define __MPLAYER_MIXER
|
||||||
|
|
||||||
#define DEV_MIXER "/dev/mixer"
|
|
||||||
|
|
||||||
extern int mixer_usemaster;
|
|
||||||
extern char * mixer_device;
|
extern char * mixer_device;
|
||||||
|
|
||||||
extern void mixer_getvolume( float *l,float *r );
|
extern void mixer_getvolume( float *l,float *r );
|
||||||
|
|
|
@ -171,7 +171,7 @@ static vo2_handle_t *video_out=NULL;
|
||||||
#else
|
#else
|
||||||
static vo_functions_t *video_out=NULL;
|
static vo_functions_t *video_out=NULL;
|
||||||
#endif
|
#endif
|
||||||
static ao_functions_t *audio_out=NULL;
|
ao_functions_t *audio_out=NULL;
|
||||||
|
|
||||||
// benchmark:
|
// benchmark:
|
||||||
double video_time_usage=0;
|
double video_time_usage=0;
|
||||||
|
@ -2193,9 +2193,6 @@ if(step_sec>0) {
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'm':
|
|
||||||
mixer_usemaster=!mixer_usemaster;
|
|
||||||
break;
|
|
||||||
|
|
||||||
#if 0 // change to 1 for absolute seeking tests
|
#if 0 // change to 1 for absolute seeking tests
|
||||||
case '1':
|
case '1':
|
||||||
|
@ -2451,7 +2448,6 @@ if(step_sec>0) {
|
||||||
#endif
|
#endif
|
||||||
} break;
|
} break;
|
||||||
case MP_CMD_MIXER_USEMASTER : {
|
case MP_CMD_MIXER_USEMASTER : {
|
||||||
mixer_usemaster=!mixer_usemaster;
|
|
||||||
} break;
|
} break;
|
||||||
case MP_CMD_CONTRAST : {
|
case MP_CMD_CONTRAST : {
|
||||||
int v = cmd->args[0].v.i, abs = cmd->args[1].v.i;
|
int v = cmd->args[0].v.i, abs = cmd->args[1].v.i;
|
||||||
|
|
Loading…
Reference in New Issue